Content deleted Content added
TheAMmollusc (talk | contribs) →See also: Added reference to Framework-specific modeling language |
RandFreeman (talk | contribs) Importing Wikidata short description: "Software engineering methodology" |
||
(41 intermediate revisions by 31 users not shown) | |||
Line 1:
{{Short description|Software engineering methodology}}
'''Domain-specific modeling''' ('''DSM
Domain-specific modeling languages tend to support higher-level [[Abstraction (computer science)|abstractions]] than [[general-purpose modeling]] languages, so they require less effort and fewer low-level details to specify a given system.
== Overview ==
Domain-specific modeling
Having the modeling language and generator built by the organization that will use them allows a tight fit with their exact ___domain and
== Topics ==
=== Defining
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.
Derived meta-metamodels include [[
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
</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.[
=== Tool support for
Many [[General-Purpose Modeling]] languages already have tool support available in the form of [[Computer-aided software engineering|CASE]] tools.
A
Using a
Most existing
==
The [[Unified Modeling Language]] (UML) is a [[general-purpose modeling]] language for software-intensive systems that is designed to support mostly [[Object-oriented programming|object oriented programming]]. Consequently, in contrast to
UML includes a profile mechanism that allows it to be constrained and customized for specific domains and platforms. UML profiles use [[Stereotype (UML)|stereotypes]], 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 [[SysML]], a ___domain specific language for [[systems engineering]].
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 [[Akoma Ntoso]] can be developed by representing legal concepts and ontologies in UML class objects.<ref>{{Cite book |last=Flatt |first=Amelie |title=Model-Driven Development of Akoma Ntoso Application Profiles - A Conceptual Framework for Model-Based Generation of XML Subschemas |last2=Langner |first2=Arne |last3=Leps |first3=Olof |publisher=Sprinter Nature |year=2022 |isbn=978-3-031-14131-7 |edition=1st |___location=Heidelberg |language=en}}</ref>
==See also==▼
* [[Computer-aided software engineering]] ▼
▲== See also ==
* [[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]]
== References ==
{{Reflist}}
==
*
*
*
*
▲* Article [http://www.methodsandtools.com/archive/archive.php?id=50 Creating a Domain-Specific Modeling Language for an Existing Framework]
▲* Article [http://www.pocomatic.com/docs/whitepapers/dsm Domain Specific Modeling in IoC frameworks]
[[Category:Programming language topics]]
[[Category:Simulation programming languages]]
|