Knowledge

Domain-specific modeling

Source đź“ť

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:)

Index

Domain-specific modelling
software engineering
methodology
computer software
domain-specific language
abstractions
general-purpose modeling
code generation
automating
source code
CASE
UML
user interface
metamodel
entity–relationship diagrams
formal languages
extended Backus–Naur form
ontology languages
XML schema
Meta-Object Facility
General-Purpose Modeling
CASE
abstraction
MetaEdit+
Actifsource
GEMS
GME
Eclipse Modeling Project
EMF
GMF

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑