Domain Specific Modeling Languages (DSML) significantly improve productivity in designing Computer Based System (CBS), by enabling them to be modeled at higher levels of abstraction. It is common for large and complex systems with distributed teams, to use DSMLs, to express and communicate designs of such systems uniformly, using a common language. DSMLs enable domain experts, with no or minimal software development background, to model solutions, using the language and terminologies used in their respective domains. Although, there are already a number of DSMLs available for modeling CBSs, their need is felt strongly across multiple domains, which still are not well supported with DSMLs. Developing a new DSML, however, is non trivial, as it requires (a) significant knowledge about the domain for which the DSML needs to be developed, as well as (b) skills to create new languages. In the current practice, DSMLs are developed by experts, who have substantial understanding of the domain of interest and strong background in computer science. One of the many challenges in the development of DSMLs, is the collection of domain knowledge and its utilization, based on which the abstract syntax, the backbone of the DSML is defined. There is a clear gap in the current state of art and practice, with respect to overcoming this challenge. We propose a methodology, which makes it easier for people with different backgrounds such as domain experts, solution architects, to contribute towards defining the abstract syntax of the DSML. The methodology outlines a set of steps to systematically capture knowledge about the domain of interest, and use that to arrive at the abstract syntax of the DSML. The key contribution of our work is in abstracting a CBS from a domain into a Domain Specific Machine, embodied in domain specific concepts. The methodology outlines, how the Domain Specific Machine, when coupled with guidelines from current practices of developing DSMLs, results in the definition of the abstract syntax of the intended DSML. We discuss our methodology in detail, in this paper.
Complex design considerations of Cyber-Physical Systems (CPSs) are greatly aided through the use of high-level abstractions in a Domain-Specific Modeling Language (DSML). A DSML environment ensures that models will be correct by construction, however syntax correctness does not imply dynamic safety. Presented is an approach to define a meta-metamodel for DSML design with built in closed loop verification feedback for model correction based on dynamic constraint violations. Usage of this framework during DSML design can benefit CPSs such as autonomous vehicles by ensuring that designs are safe, through codified expert knowledge and verification tool integration. A case study is shown using a simple hybrid controller modeling language and reachability verification tools.
The growing usage of Domain Specific Modeling Languages (DSML) for architecture view frameworks induces a need for automatic verification of non-functional model properties like completeness and consistency. However, we argue that the high demand for tailored architecture view frameworks is not complemented by appropriate constraint specification facilities. OCL is a common language for defining modeling constraints, but industry user reports indicate that despite its accuracy, it is too complex to be adopted in industrial scale. Approaches that were proposed to simplify the use of OCL either operate on technical formalisms or lack tool support to express new, or more complex types of constraints that can be validated automatically on the model. To address this challenge, we present a constraint modeling framework for the specification and validation of constraints on DSMLs. A Constraint Modeling Language (CML) created based on this framework provides a high level constraint specification en- vironment by using extensible template implementations to enable the automatic validation in computer aided software engineering (CASE) tools. We evaluate the approach in different industry projects and observe that using the proposed framework enhances understandability and effectiveness of constraint specification.
In this paper we propose a domain specific language that enables the description and execution of model management workflows. Our language declares tasks and resources involved in a multi-step model management process and resolves the execution behaviour and order based on dependencies among these components. We describe the abstract and a concrete syntax of the language along with its execution semantics. Then, we demonstrate how the language interpreter can orchestrate and execute a selection model management tasks through a case study of a workflow that generates a graphical editor from a metamodel.
Model-driven systems engineering relies on software languages that support different stakeholders. These languages often operate in different technological spaces. Checking consistency, tracing, and change propagation of models developed by different stakeholders, thus demands methods to bridge the gaps between these spaces. Research on the integration of heterogeneous software languages often considers heterogeneity within specific technological spaces only. We outline a systematic method to translate grammars between the technological spaces of the MontiCore and Xtext language workbench (LWB) and report observations on general grammar translation challenges. We have realized this translation in an automated toolchain and present lessons learned along the way. This can significantly facilitate bridging different technological spaces and, thus, improve model-driven systems engineering
This paper reports on industrial experimentations to develop a dedicated model-based framework (process and tool support) aimed at supporting a subset of an existing document-based engineering process involving different teams belonging to two main stakeholders. The process supported covers the design of security related products by a prime contractor, and the supervision of this work by the contracting authority. This paper provides more details on this process, the requirements for the model-based engineering framework, and the work achieved. It then discusses the first results obtained from those experimentations, the lessons learned, and provides feedback for future similar works. Those relate mainly around: the benefits of an explicit and detailed methodology; the customizability of a general modeling language such as SysML for the development of a specialized model-based framework; and the importance of the distinction and clear definition of the problem domain, which correspond to the semantics of the models, and the solution domain, which corresponds to the syntax of the models.
Mutation testing (MT) is a well-known technique to evaluate and improve the quality of a given test-suite. While several MT tools exist for traditional programming languages, there is no common method to take advantage of MT in the case of domain-specific languages (DSLs). The current MT tools for DSLs are created ad-hoc, incurring in a high cost.
To improve this situation, in this demo-paper we present Wodel-Test, a domain-independent tool to synthesize MT tools for arbitrary DSLs, and illustrate its usefulness by creating a MT tool for Finite Automata.