Summary
Domain-specific modeling (DSM) is a software engineering methodology for designing and developing systems, such as computer software. It involves systematic use of a domain-specific language to represent the various facets of a system. Domain-specific modeling languages tend to support higher-level abstractions than general-purpose modeling languages, so they require less effort and fewer low-level details to specify a given system. Domain-specific modeling often also includes the idea of code generation: automating the creation of executable source code 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 defects in the resulting programs thus improving quality. Domain-specific language differs from earlier code generation attempts in the CASE tools of the 1980s or 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 domain-specific language and generators, it is more normal for domain-specific language 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. 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. 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 user interface, 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.
About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related courses (15)
PENS-230: Digital ENAC: le codage en contexte
Digital ENAC aims to provide students with the ability to apply the principles of coding to the practical life of designers and engineers. We will not focus on a specific coding language, but will ext
BIO-643: Integrative structural biology for Life sciences
Hands-on course in Biomolecular Integrative Structural Biology by SV experts in the field of X-ray crystallography, cryo-Electron Microscopy, Bio-NMR and protein modeling tools. No previous knowledge
AR-439: UE F : Architecture and rehabilitation
L'UE vise à sensibiliser les étudiants aux enjeux d'un projet de réhabilitation. Elle se concentre sur les rapports entre les impératifs liés à la réhabilitation et à une vision architecturale élargie
Show more
Related lectures (37)
Probabilistic Information Retrieval
Covers Probabilistic Information Retrieval, including Query Likelihood Model, Language Modeling, and smoothing techniques for non-occurring terms.
Probabilistic Information Retrieval
Covers probabilistic information retrieval, query likelihood models, language modeling, and relevance feedback algorithms.
Enums: Pure Data
Covers enums as a shorthand for case class hierarchies, focusing on modeling pure data.
Show more