104:, as well as lower-level abstractions for storing data such as phone numbers or settings. Likewise, a domain-specific modeling language for financial services could permit users to specify high-level abstractions for clients, as well as lower-level abstractions for implementing stock and bond trading algorithms.
180:
Using a domain-specific language environment can significantly lower the cost of obtaining tool support for a domain-specific language, since a well-designed domain-specific language environment will automate the creation of program parts that are costly to build from scratch, such as domain-specific
92:
tools of the 1990s. In both of these, the code generators and modeling languages were built by tool vendors. While it is possible for a tool vendor to create a domain-specific language and generators, it is more normal for domain-specific language to occur within one organization. One or a few expert
168:
tools. Domain-specific language languages tend to have too small a market size to support the construction of a bespoke CASE tool from scratch. Instead, most tool support for domain-specific language languages is built based on existing domain-specific language frameworks or through domain-specific
172:
A domain-specific language environment may be thought of as a metamodeling tool, i.e., a modeling tool used to define a modeling tool or CASE tool. The resulting tool may either work within the domain-specific language environment, or less commonly be produced as a separate stand-alone program. In
151:
The ethos of domain-specific modeling favors the creation of a new language for a specific task, and so there are unsurprisingly new languages designed as meta-metamodels. The most widely used family of such languages is that of OPRR, GOPRR, and GOPPRR, which focus on supporting things found in
80:
directly from the domain-specific language models. Being free from the manual creation and maintenance of source code means domain-specific language can significantly improve developer productivity. The reliability of automatic generation compared to manual coding will also reduce the number of
397:
Kelly, S., Lyytinen, K., and Rossi, M., "MetaEdit+: A Fully
Configurable Multi-User and Multi-Tool CASE Environment," Proceedings of CAiSE'96, 8th Intl. Conference on Advanced Information Systems Engineering, Lecture Notes in Computer Science 1080, Springer-Verlag, pp. 1-21, 1996. (in
240:. Consequently, in contrast to domain-specific language languages, UML is used for a wide variety of purposes across a broad range of domains. The primitives offered by UML are those of object oriented programming, while domain-specific languages offer primitives whose
274:
UML is a popular choice for various model-driven development approaches whereby technical artifacts such as source code, documentation, tests, and more are generated algorithmically from a domain model. For instance, application profiles of the legal document standard
121:, hence the language for defining a modeling language is a meta-metamodel. Meta-metamodels can be divided into two groups: those that are derived from or customizations of existing languages, and those that have been developed specifically as meta-metamodels.
374:
R.J. Welke. The CASE Repository: More than another database application. In W.W. Cotterman and J.A. Senn, editors, Proceedings of 1988 INTEC Symposium
Systems Analysis and Design: A Research Strategy, Atlanta, Georgia, 1988. Georgia State University.
99:
Domain-specific languages can usually cover a range of abstraction levels for a particular domain. For example, a domain-specific modeling language for mobile phones could allow users to specify high-level abstractions for the
263:, stereotype attributes (known as tagged values before UML 2.0), and constraints to restrict and extend the scope of UML to a particular domain. Perhaps the best known example of customizing UML for a specific domain is
181:
editors, browsers and components. The domain expert only needs to specify the domain specific constructs and rules, and the domain-specific language environment provides a modeling tool tailored for the target domain.
386:
Smolander, K., (1992) OPRR - A Model for
Modeling Systems Development Methods. In: Next Generation CASE Tools (eds. K. Lyytinen, V.-P. Tahvanainen) IOS Press, Amsterdam, Netherlands, pp. 224-239.
96:
Having the modeling language and generator built by the organization that will use them allows a tight fit with their exact domain and in response to changes in the domain.
490:
421:
361:
485:
303:
137:
200:. The increasing popularity of domain-specific language has led to domain-specific language frameworks being added to existing IDEs, e.g.
288:
165:
85:
443:
259:
UML includes a profile mechanism that allows it to be constrained and customized for specific domains and platforms. UML profiles use
38:
414:
Model-Driven
Development of Akoma Ntoso Application Profiles - A Conceptual Framework for Model-Based Generation of XML Subschemas
193:
174:
53:
453:
133:
125:
313:
213:
184:
Most existing domain-specific language takes place with domain-specific language environments, either commercial such as
209:
197:
237:
148:(MOF). The strengths of these languages tend to be in the familiarity and standardization of the original language.
205:
333:
323:
229:
117:
To define a language, one needs a language to write the definition in. The language of a model is often called a
89:
318:
308:
298:
249:
233:
161:
57:
46:
245:
69:
293:
145:
35:
268:
93:
developers creates the modeling language and generators, and the rest of the developers use them.
328:
173:
the more common case, the domain-specific language environment supports an additional layer of
417:
387:
357:
60:
languages, so they require less effort and fewer low-level details to specify a given system.
42:
457:
260:
217:
129:
469:
463:
440:
447:
17:
253:
101:
376:
479:
279:
can be developed by representing legal concepts and ontologies in UML class objects.
118:
276:
244:
are familiar to all practitioners in that domain. For example, in the domain of
189:
77:
185:
141:
84:
Domain-specific language differs from earlier code generation attempts in the
73:
241:
236:
language for software-intensive systems that is designed to support mostly
464:
Domain-Specific
Modeling for Full Code Generation from Methods & Tools
470:
Creating a Domain-Specific
Modeling Language for an Existing Framework
399:
201:
264:
248:, there will be software models to represent the properties of an
52:
Domain-specific modeling languages tend to support higher-level
164:
languages already have tool support available in the form of
441:
Domain-specific modeling for generative software development
81:
defects in the resulting programs thus improving quality.
68:
Domain-specific modeling often also includes the idea of
354:
Domain-Specific
Modeling: Enabling Full Code Generation,
364:
412:Flatt, Amelie; Langner, Arne; Leps, Olof (2022).
49:to represent the various facets of a system.
41:for designing and developing systems, such as
416:(1st ed.). Heidelberg: Sprinter Nature.
8:
152:modeling languages with the minimum effort.
177:when compared to a traditional CASE tool.
454:Domain Specific Modeling in IoC frameworks
156:Tool support for domain-specific languages
472:Web-article by Juha-Pekka Tolvanen, 2006
466:Web-article by Juha-Pekka Tolvanen, 2005
345:
352:Kelly, S. and Tolvanen, J.-P., (2008)
450:, Web-article by Martijn Iseger, 2010
7:
304:Framework-specific modeling language
356:John Wiley & Sons, New Jersey.
289:Computer-aided software engineering
113:Defining domain-specific languages
45:. It involves systematic use of a
25:
267:, a domain specific language for
491:Simulation programming languages
224:Domain-specific language and UML
124:Derived meta-metamodels include
1:
314:Domain-specific multimodeling
334:Discipline-Specific Modeling
126:entity–relationship diagrams
486:Programming language topics
238:object oriented programming
76:the creation of executable
507:
324:Model-driven architecture
230:Unified Modeling Language
134:extended Backus–Naur form
18:Domain-specific modelling
319:Model-driven engineering
309:General-purpose modeling
299:Domain-specific language
250:anti-lock braking system
234:general-purpose modeling
202:Eclipse Modeling Project
162:General-Purpose Modeling
58:general-purpose modeling
47:domain-specific language
28:Domain-specific modeling
402:thesis as 3metools.pdf)
169:language environments.
246:automotive engineering
196:, or academic such as
192:, open source such as
88:tools of the 1980s or
294:Domain-driven design
212:, or in Microsoft's
146:Meta-Object Facility
36:software engineering
269:systems engineering
446:2010-01-31 at the
329:Software factories
218:Software Factories
138:ontology languages
423:978-3-031-14131-7
362:978-0-470-03666-2
43:computer software
16:(Redirected from
498:
428:
427:
409:
403:
395:
389:
384:
378:
372:
366:
350:
130:formal languages
21:
506:
505:
501:
500:
499:
497:
496:
495:
476:
475:
456:Web-article by
448:Wayback Machine
437:
432:
431:
424:
411:
410:
406:
396:
392:
385:
381:
373:
369:
351:
347:
342:
285:
226:
158:
115:
110:
70:code generation
66:
23:
22:
15:
12:
11:
5:
504:
502:
494:
493:
488:
478:
477:
474:
473:
467:
461:
451:
436:
435:External links
433:
430:
429:
422:
404:
390:
379:
367:
344:
343:
341:
338:
337:
336:
331:
326:
321:
316:
311:
306:
301:
296:
291:
284:
281:
254:steering wheel
225:
222:
157:
154:
114:
111:
109:
106:
102:user interface
65:
62:
24:
14:
13:
10:
9:
6:
4:
3:
2:
503:
492:
489:
487:
484:
483:
481:
471:
468:
465:
462:
459:
455:
452:
449:
445:
442:
439:
438:
434:
425:
419:
415:
408:
405:
401:
394:
391:
388:
383:
380:
377:
371:
368:
365:
363:
359:
355:
349:
346:
339:
335:
332:
330:
327:
325:
322:
320:
317:
315:
312:
310:
307:
305:
302:
300:
297:
295:
292:
290:
287:
286:
282:
280:
278:
272:
270:
266:
262:
257:
255:
251:
247:
243:
239:
235:
231:
223:
221:
219:
215:
211:
207:
203:
199:
195:
191:
187:
182:
178:
176:
170:
167:
163:
155:
153:
149:
147:
143:
139:
135:
131:
127:
122:
120:
112:
107:
105:
103:
97:
94:
91:
87:
82:
79:
75:
71:
63:
61:
59:
55:
50:
48:
44:
40:
37:
33:
29:
19:
413:
407:
393:
382:
370:
353:
348:
273:
258:
227:
183:
179:
171:
159:
150:
123:
116:
98:
95:
83:
67:
54:abstractions
51:
31:
27:
26:
277:Akoma Ntoso
261:stereotypes
232:(UML) is a
204:(EMP) with
190:Actifsource
175:abstraction
78:source code
39:methodology
480:Categories
340:References
142:XML schema
74:automating
242:semantics
214:DSL Tools
186:MetaEdit+
119:metamodel
444:Archived
283:See also
136:(EBNF),
64:Overview
256:, etc.
252:, or a
34:) is a
460:, 2007
458:Ke Jin
420:
360:
144:, and
108:Topics
400:Ph.D.
265:SysML
160:Many
56:than
418:ISBN
358:ISBN
228:The
216:for
208:and
194:GEMS
166:CASE
86:CASE
210:GMF
206:EMF
198:GME
188:or
90:UML
32:DSM
482::
271:.
220:.
140:,
132:,
128:,
72::
426:.
30:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.