Domain-specific Modelling Website Links For
Modelling
 

Information About

Domain-specific Modelling





DIFFERENCES BETWEEN DSM AND TRADITIONAL CASE

A DSM system can be thought of as an application to make a CASE tool ( Framework ) or an application for making applications to make applications. So there is an extra layer of Abstraction when compared to a traditional CASE tool, which would be just an application to make applications. Traditional CASE tools are just fine if and only if they happen to fit nicely to a specific domain, a Mobile Phone , for example. Usually this does not happen accurately enough, though. Building a domain-specific modeling tool from scratch with a programming language is very expensive, often outweighing the benefits of having a domain-specific modelling tool. Having a DSM system changes all of this: it already contains generic versions of the parts that take time to program, such as graphical editors and browsers. The user can simply specify the modeling language's concepts, symbols, and rules, and the DSM system gives them a modeling tool for that language.


DSM EXAMPLE

DSM domains can be of any Abstraction level. Usually higher abstraction DSM domain concepts are modelled with lower abstraction DSM domain concepts. For example, a set of lower abstraction DSM domain concepts could be the internal functioning ( Logic Gate implementation) of the DSM Model ( Framework ) and the more practically minded developers use the high level Framework to create a good application by concentrating on Functionality . An example of highest abstraction level DSM model For example a mobile phone User Interface .


DIFFERENCES BETWEEN DSM AND UML

The Unified Modeling Language (UML) may be viewed as a set of predefined Domain Specific Language although the separation between these is not straightforward. These languages include Use Case Diagrams , Class Diagrams and Sequence Diagrams among others. Some of these diagrams have functionality (logic) or places where certain types of data are stored (in a model/ Data Structure , loosely speaking). The UML is mainly intended for modelling Business Processes , Organizational Structure or Object Oriented Software Architectures . As such, the UML can be easily modelled with DSM software, although the UML "DSM models" are somewhat abstract and therefore do not allow generation of a complete working application solely from them. However, UML models could successfully be included among other DSM models to define the logic and functionality of a full application.


USING UML TO DEFINE DSLS

The Unified Modeling Language may be used to define Domain Specific Language . The idea is to restrict the scope of UML, considered as a general purpose language, by the means of so-called UML Profiles . A UML profile specify a restriction of the UML language to some particular domain. The main mechanism used is that of Stereotypes . One may also use tagged values and constraints to restrict the scope of UML to a particular domain.


DSM AND LANGUAGE ENGINEERING

The basis for DSM is Language Engineering allowing to define and to use various Domain Specific Languages . These languages may be expressed in classical Grammarware notation. Alternatively we may also consider XML shemas and DTDs as a special case of languages for DSLs. There are other frameworks that provide different metamodeling languages, for example the OMG Meta-Object Facility (MOF), the Eclipse-based '''ECore''' or the Microsoft '''DSL TOOLS''' {Link without Title} .


AVAILABLE LIBRARIES OF DOMAIN SPECIFIC LANGUAGES

Since there are many languages to express them ( EBNF , Ontology Languages , XML Schema , MOF, etc.),
there are yet no centralized library of such DSLs. However one may find a set of such DSLs (100+) available in various formalisms from here . This open source collection contains metamodels at different levels of maturity and is available for various experimentations.


SEE ALSO



EXTERNAL LINKS