Domain-specific meta modelling languages for software language engineering

Multilevel metamodelling to underpin the abstract and. Graphical simulation feedback in petri netbased domain. Models are described either using generalpurpose modelling languages, like the uml, or with domainspecific modelling languages dsmls tailored to an area of interest. Pdf a systematic language engineering approach for. Modeldriven engineering mde promotes models as the central assets in software development. Unified modeling language uml is a generalpurpose modeling language that is an industry standard for specifying software intensive systems. A software engineering process modelling language d. This presentation covers domain specific modelling dsm and meta modelling and some more not covered in class. The main objective of this paper is to facilitate the. His research interests include meta modelling, knowledge engineering, business process management, enterprise architecture management and artificial intelligence. Domain specific languages dsls are most commonly used to represent financial instruments. Pdf domainspecific textual metamodelling languages for. It involves systematic use of a domainspecific language to represent the various facets of a system domainspecific modeling languages tend to support higherlevel abstractions than generalpurpose modeling languages, so they require.

The canonical paper is simon peyton jones composing contracts. Html was designed to structure web page content, even nonprogrammers can use it. This is in contrast to a generalpurpose language gpl, which is broadly applicable across domains. Automated testing support for reactive domainspecific. Domainspecific modelling languages are normally defined through generalpurpose metamodelling languages like the mof. Creating domainspecific languages using metamodels 1st edition. Sysml is a domainspecific modeling language for systems engineering that is defined as a uml profile customization. However, languages like uml are typically generalpurpose modeling. Some guidelines for the conception of domainspecific.

Domainspecific textual metamodelling languages for model driven engineering. Icb research reports forschungsberichte des icb 2010. One of the currently most active branch of model driven engineering is the approach named model driven architecture proposed by omg. For defining domain specific languages metamodel based approach. Domainspecific conceptual modeling concepts, methods and. Plus you can easily define and customize its graphical representation there is graph query creation language build in. While this is satisfactory for many modeldriven engineering mde projects, several researchers have identified the need for domain specific meta modelling dsmm languages. The journal of computer languages cola welcomes papers on all aspects of the design, implementation, and use of computer languages specification, modelling, programming. Domainspecific modelling languages are normally defined through general purpose. It shows how dsls are key to enabling and extremely effective class of program generation technology based on program transformation, tracing the origins back to a 1970s tool called draco. Feb 16, 2017 in minuszero you can define any meta meta meta model today. A domainspecific modelling language can be considered as a situationally focussed conceptual modelling language. Complementing language oriented programming, as well as all other forms of domain specific languages, are the class of compiler writing tools called metacompilers. Adopting a domainspecific language approach to software engineering.

Our proposal is supported by a tool called emfsplitter, combined with the hawk model indexer. The entire history of software engineering is that of the rise in. There is a particular requirement for modelling languages based on domain specific modelling methods in. Programming languagesor modeling languages that target a specific problem domain the goal is to automate development of software applications in a given domain, solving that problem easier and faster by using that dsl instead of a general purpose language like java or c a program or model or mogram written in a dsl describes essential. Domains specific language vs domain specific modelling language. Nowadays, objectoriented meta languages such as mof meta object facility are increasingly used to specify domainspecific languages in the model driven engineering community. There is a particular requirement for modelling languages. Metamodelling languages for software language engineering.

The term software language is used broadly, and includes. The industrial application of his metamodelling research was demonstrated within the boc group, a european software and consulting company. Model driven engineering the modelling, simulation and. Mps stands for metaprogramming system and as the name suggests, it is a tool that enables metaprogramming, or metamodelling, if you will.

We illustrate the concept with examples from different domains. Since a modelling method consists of at least one modelling language and a corresponding process model, one would assume that work on method engineering has produced. In both cases, models abstract away accidental details of the system being built, focusing on. Software language engineering is an excellent resource for teaching you how to create software languages that are specific to your domain by utilizing a domain modeling approach. Usability evaluation of the domain specific language for. Nevertheless, in order to achieve significant improvements after introducing models into development processes, domainspecific modelling notations should be used 4. Domainspecific metamodelling languages for software language engineering. Domain specific modelling languages dsml enable domain users.

Domain specific modelling methods can be successfully applied to actual software development projects, which need a flexible and easy to extend, meta modelling language to provide support. Sysml is a domain specific modeling language for systems engineering that is defined as a uml profile customization. A modelling language is typically underpinned by a meta model that defines its abstract syntax, utilizes a notation a. Modeldriven engineering with domainspeci c metamodelling.

Another term used to describe tools like mps is language workbenches. The language of a model is often called a metamodel, hence the language for. Apr 15, 2008 in most approaches a choice is made between a general purpose or a domain specific language. A domainspecific language dsl is a computer language specialized to a particular. Domainspecific modeling is a software engineering methodology for designing and developing systems, such as computer software. This paper introduces the concept of a domainspecific metamodelling language, which codifies such commonalities and provides concepts and logic for expressing the variations. Domainspecific textual metamodelling languages for model. There is a wide variety of dsls, ranging from widely used languages for common domains, such as html for web pages, down to languages used by only one or a few pieces of software, such as. To improve the scalability of domain specific modelling in mde, we propose generic modularity services comparable to those existing for programming languages. Domain specific modelling languages are normally defined through generalpurpose meta modelling languages like the mof.

Mdsd is about using domainspecific languages to create models that express application structure or behaviour in an efficient and domainspecific way. Unified modeling language uml is a generalpurpose modeling language that is an industry standard for specifying softwareintensive systems. Finally, the third part presents contributions dealing with domain engineering within the field of conceptual modeling. With mps, you can design languages as well as tooling for them, and then package it all as a standalone modeling tool. Domainspecific meta models play an important role in the design of large software systems by defining language for the architectural models.

A domain specific language dsl is a computer language specialized to a particular application domain. Jul 28, 20 domain specific modelling languages are normally defined through generalpurpose meta modelling languages like the mof. Work on modelling language design is usually focusing on formal features of meta modelling languages or on meta modelling tools e. Model driven engineering 1 is an established software analysis and design paradigm, bringing software engineering even closer to other engineering disciplines 2,3. Mellegard staron a domain specific modelling language. While this is satisfactory for many modeldriven engineering mde projects, several researchers have identified the need for domainspecific metamodelling dsmm languages. Modeldriven software engineering metamodels and domainspecific languages i dr. The arcadiacapella domain specific modeling language dsml is inspired by umlsysml and naf standards, and shares many concepts with these languages. The challenges and difficulties of using domainspecific metamodelling languages are identified. Modeldriven software engineering metamodels and domain.

While this is satisfactory for many modeldriven engineering mde projects, several researchers have identified the need for domainspecific meta. Domainspecific modelling methods can be successfully applied to actual software development projects, which need a flexible and easy to extend, metamodelling language to provide support. Outline of a method for designing domainspecific modelling languages frank, ulrich in. While this is satisfactory for many modeldriven engineering mde projects, several researchers have identified the need for domainspecific metamodelling dsmm languages providing customised metamodelling primitives aimed at. The approach is based on a domain specific modelling languages called thingml. A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. Dave hendricksen, software architect languages to define procedures, objects, and intent have proliferated unchecked since ada byron. The entire history of software engineering is that of the rise in levels of abstraction. The first part focuses on results that deal with domain engineering in software product lines. This approach is based on the utilization of a language to write metamodels called the meta. The industrial application of his meta modelling research was demonstrated within the boc group, a european software and consulting company.

Mellegard staron a domain specific modelling language for. Metamodeling, bpmn, petri nets, reference nets, simulation, graphical feedback 1 introduction the construction of abstract models is an essential part of software and systems engineering. Domainspecific modeling languages tend to support higherlevel abstractions than generalpurpose modeling languages, so they require less effort and fewer lowlevel details to specify a given system. The metacompiler methodology is often found in program transformation systems. Domainspecific metamodelling languages for software language. A domain specific modelling language can be considered as a situationally focussed conceptual modelling language.

Nevertheless, in order to achieve significant improvements after introducing models into development processes, domain specific modelling notations should be used 4. Domainspecific textual metamodelling languages for. Domainspecific modeling languages tend to support higherlevel. Mps stands for meta programming system and as the name suggests, it is a tool that enables meta programming, or meta modelling, if you will.

In most approaches a choice is made between a general purpose or a domain specific language. The fundamentals of domainspecific simulation language. These models are subsequently transformed into executable code by a sequence of model transformations. This presentation covers domainspecific modelling dsm and metamodelling and some more not covered in class. This is in general challenging as programming languages come with explicitly defined semantics that drive the abstraction mechanisms, but meta models often have an implicit semantics. Domainspecific conceptual modeling concepts, methods. Domain specific modeling dsm is a software engineering methodology for designing and developing systems, such as computer software. A metamodelling language definition for specific domain. It is of considerable practical significance, as it provides methods and techniques that help reduce timetomarket, development costs, and project risks on one hand, and helps improve system. There are a wide variety of dsls, ranging from widely used languages for common domains, such as html for web pages, down to languages used by only one or a few pieces of software, such as. These provide customised domain specific meta modelling primitives aimed at the definition of. Domainspecific modelling domainspecific modeling is a specific type of software engineering methodology or modeling language for designing and developing.

It is the result of an iterative definition process driven by systems and software architects working in a broad spectrum of business domains transportation, avionics, space, radar, etc. Defining domainspecific modelling languages tolvanen 1 defining domainspecific modelling languages. Domainspecific modeling languages for embedded system. It involves systematic use of a domain specific language to represent the various facets of a system. Models are expressed in uml, an extension of uml, or a domainspecific language the syntax and semantics of models used in a mdse approach has to be clearly defined code of.

Domain engineering product lines, languages, and conceptual. In software engineering, the use of models is an alternative to more common codebased development techniques. Request pdf domainspecific metamodelling languages for software language engineering domainspecific languages are constructed to provide modelling capabilities tailored to a specific domain. Information systems and software engineering process models, softwarearchitectures. Domain engineering is a set of activities intended to develop, maintain, and manage the creation and evolution of an area of knowledge suitable for processing by a range of software systems. The second part describes how domain specific languages are used to support the construction and deployment of domains. While this is satisfactory for many modeldriven engineering mde projects, several researchers have identified the need for domain specific meta modelling dsmm languages providing customised. Componentbased software engineering cbse metaobject facility mof mof metaobject facility of omg is a metalanguage to describe the structure of modelling languages, and finally the structure of models as abstract syntax graphs asg mof was first standardized nov. We demonstrate the discussed techniques by means of a simple railway network language using atompm, a metamodelling tool. Software language engineering sle is the application of systematic, disciplined, and measurable approaches to the development, use, deployment, and maintenance of software languages.

Scalingup domainspecific modelling languages through modularity services. Domainspecific language wikipedia republished wiki 2. This book is a practical guide for software architects and developers. While this is satisfactory for many modeldriven engineering mde projects, several researchers have identified the need for domain specific meta modelling dsmm languages providing customised meta modelling primitives aimed at the definition of modelling. His research interests include metamodelling, knowledge engineering, business process management, enterprise architecture management and artificial intelligence. Once the patterns have been applied to the meta model of a modelling language, we synthesize a customized modelling environment enriched with the defined services, which become applicable to both existing monolithic legacy models and new models. This tutorial presents a tool supported modeldriven software engineering mdse approach targeting the heterogeneity and distribution challenges associated with the development of cps. Such common modeling languages are particularly important if multiple actors are involved in the development process as they assure interoperability between modeling tools used by different actors. These provide customised domainspecific metamodelling primitives aimed at the definition of modelling languages for a specific domain, as well as the construction of metamodel families. Once the patterns have been applied to the metamodel of a modelling language, we synthesize a customized modelling environment enriched with the defined services, which become applicable to both existing monolithic legacy models and new models. Metamodeling provides a conceptual basis to develop modeling languages that are tailored to satisfy the demands of speci c application domains. Domains specific language vs domain specific modelling. Dsls domain specific languages in finance stack overflow. Modeldriven engineering mde promotes the active use of models in all phases of software development.

A metacompiler is not only useful for generating parsers and code generators for domain specific languages, but a metacompiler itself compiles a domain specific metalanguage specifically designed for the domain of metaprogramming. In proceedings of the 8 th european conference on modelling foundations and applications ecmfa12. Even though models are at a high level of abstraction, large or complex systems still require building monolithic models that prove to be too big for their processing by existing tools, and too difficult to comprehend by users. Combining general purpose languages and domain specific. I think both approaches can be combined using the best from both worlds. Modeldriven engineering with domainspecific metamodelling.

When and how to use multilevel modelling acm transactions. The most prominent use of the combinator approach is lexifis mlfi language, which is built on top of. This page discusses domain specific languages, providing categories and information about how dsls are engineered or life after parsing. It involves systematic use of a domainspecific language to represent the various facets of a system.

Most papers describe original technical research, but the journal also welcome empirical studies and. Scalingup domainspecific modelling languages through. A modelling language is typically underpinned by a metamodel that defines its abstract syntax, utilizes a notation a. A domainspecific language dsl is a computer language specialized to a particular application domain. Creating domainspecific languages using metamodelsdecember 2008. A suite of domainspecific visual languages for scientific. Domainspecific languages dsls for software engineering are custom and. Domainspecific modelling languages dsml enable domain users. Domainspecific modeling dsm is a software engineering methodology for designing and developing systems, such as computer software. Based on the selection criteria just outlined, we chose alters 2012b metamodel for service activities and service systems, as it has a broad domain focus, builds on work systems theory alter, 2008, and has been. Ill show the power of this approach with a process modelling example using bpmn and bpel to build a domain specific process modelling language which is almost directly executable. Domainspecific modelling language metamodel of the language maps to. Defining domain specific modelling languages tolvanen 1.

1390 388 71 183 1183 400 505 1135 753 410 1265 1495 715 156 1207 981 1262 280 183 788 974 1350 1190 1184 514 1374 547 396 1246 19 399 1020 765 1323 302 1369 502 1108 652 816 653 559 1231 109 645