Content deleted Content added
TheAMmollusc (talk | contribs) →See also: Added reference to Framework-specific modeling language |
m WP:CHECKWIKI error 61 fix, References after punctuation per WP:REFPUNC and WP:PAIC using AWB (8459) |
||
Line 2:
== Overview ==
Domain-specific modeling (DSM) often also includes the idea of [[Automatic programming|code generation]]: [[Automation|automating]] the creation of executable [[source code]] directly from the DSM models. Being free from the manual creation and maintenance of source code means DSM can significantly improve developer productivity.<ref name="dsmKelly">Kelly, S. and Tolvanen, J.-P., (2008) ''Domain-Specific Modeling: Enabling Full Code Generation,'' John Wiley & Sons, New Jersey. ISBN 978-0-470-03666-2 [http://dsmbook.com]</ref>
DSM differs from earlier code generation attempts in the [[Computer-aided software engineering|CASE]] tools of the 1980s or [[Unified Modeling Language|UML]] 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 DSM language and generators, it is more normal for DSM to occur within one organization. One or a few expert developers creates the modeling language and generators, and the rest of the developers use them.
Line 11:
== Domain-specific modeling topics ==
=== Defining DSM languages ===
To define a language, one needs a language to write the definition in. The language of a model is often called a [[metamodeling|metamodel]], 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.
Line 16 ⟶ 17:
Derived meta-metamodels include [[Entity-relationship model|Entity Relationship Diagrams]], [[Formal languages]], [[Extended Backus-Naur form|EBNF]], [[Ontology language (computer science)|Ontology languages]], [[XML Schema]], and [[Meta-Object Facility|MOF]]. The strengths of these languages tend to be in the familiarity and standardization of the original language.
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,<ref name="oprrWelke">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. [http://www.dsmforum.org/papers/CASE_Repository.html]
</ref><ref name="oprrSmolander">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.[http://books.google.com/books?id=tsbNn6auhm8C&pg=PA224]</ref>
=== Tool support for DSM languages ===
Line 34 ⟶ 35:
==See also==
* [[Computer-aided software engineering]]
* [[Domain-driven design]]
* [[Domain-specific language]]
* [[Framework-specific modeling language]]
* [[General-purpose modeling]]
* [[Domain-specific multimodeling]]
* [[Model-driven engineering]]
* [[Model-driven architecture]]
* [[Software factories]]
* [[Service-oriented modeling#Discipline-specific modeling|Discipline-Specific Modeling]]
|