Deriving Microservice Code from Underspecified Domain Models Using DevOps-Enabled Modeling Languages and Model Transformations

Author(s):  
Florian Rademacher ◽  
Sabine Sachweh ◽  
Albert Zundorf
Author(s):  
Gabor Simko ◽  
Tihamer Levendovszky ◽  
Sandeep Neema ◽  
Ethan Jackson ◽  
Ted Bapty ◽  
...  

One of the primary goals of the Adaptive Vehicle Make (AVM) program of DARPA is the construction of a model-based design flow and tool chain, META, that will provide significant productivity increase in the development of complex cyber-physical systems. In model-based design, modeling languages and their underlying semantics play fundamental role in achieving compositionality. A significant challenge in the META design flow is the heterogeneity of the design space. This challenge is compounded by the need for rapidly evolving the design flow and the suite of modeling languages supporting it. Heterogeneity of models and modeling languages is addressed by the development of a model integration language – CyPhy – supporting constructs needed for modeling the interactions among different modeling domains. CyPhy targets simplicity: only those abstractions are imported from the individual modeling domains to CyPhy that are required for expressing relationships across sub-domains. This “semantic interface” between CyPhy and the modeling domains is formally defined, evolved as needed and verified for essential properties (such as well-formedness and invariance). Due to the need for rapid evolvability, defining semantics for CyPhy is not a “one-shot” activity; updates, revisions and extensions are ongoing and their correctness has significant implications on the overall consistency of the META tool chain. The focus of this paper is the methods and tools used for this purpose: the META Semantic Backplane. The Semantic Backplane is based on a mathematical framework provided by term algebra and logics, incorporates a tool suite for specifying, validating and using formal structural and behavioral semantics of modeling languages, and includes a library of metamodels and specifications of model transformations.


Author(s):  
Artur Boronat

Abstract When model transformations are used to implement consistency relations between very large models, incrementality plays a cornerstone role in detecting and resolving inconsistencies efficiently when models are updated. Given a directed consistency relation between two models, the problem studied in this work consists in propagating model changes from a source model to a target model in order to ensure consistency while minimizing computational costs. The mechanism that enforces such consistency is called consistency maintainer and, in this context, its scalability is a required non-functional requirement. State-of-the-art model transformation engines with support for incrementality normally rely on an observer pattern for linking model changes, also known as deltas, to the application of model transformation rules, in so-called dependencies, at run time. These model changes can then be propagated along an already executed model transformation. Only a few approaches to model transformation provide domain-specific languages for representing and storing model changes in order to enable their use in asynchronous, event-based execution environments. The principal contribution of this work is the design of a forward change propagation mechanism for incremental execution of model transformations, which decouples dependency tracking from change propagation using two innovations. First, the observer pattern-based model is replaced with dependency injection, decoupling domain models from consistency maintainers. Second, a standardized representation of model changes is reused, enabling interoperability with EMF-compliant tools, both for defining model changes and for processing them asynchronously. This procedure has been implemented in a model transformation engine, whose performance has been evaluated experimentally using the VIATRA CPS benchmark. In the experiments performed, the new transformation engine shows gains in the form of several orders of magnitude in the initial phase of the incremental execution of the benchmark model transformation and change propagation is performed in real time for those model sizes that are processable by other tools and, in addition, is able to process much larger models.


2009 ◽  
pp. 505-527
Author(s):  
Joerg Evermann ◽  
Yair Wand

An important step in developing the requirements for an information system is analyzing the application domain. In this step, conceptual models are used for representing an application domain. However, while languages for software design are available and widely used, no generally accepted language exists for conceptual modeling. This work suggests the use of object-oriented software modeling languages also for conceptual modeling. Such use can support a more accurate transition from domain models to software models. As software-modeling languages were not intended for modeling application domains, their constructs lack the required semantics. While previous papers addressed the representation of structural elements of domains using object concepts, this paper addresses behavioral aspects, related to change and interaction. The proposed semantics are based on a mapping between ontological concepts that describe behavior and object-oriented constructs related to dynamics. Based on these mappings, modeling rules are proposed to guide the modeler in creating ontologically well-formed models. The mappings and rules are exemplified using UML and are demonstrated using a case study.


Author(s):  
Yun Lin ◽  
Jennifer Sampson ◽  
Sari Hakkarainen ◽  
Hao Ding

This chapter performs a systematic evaluation of two domain models and modeling languages – UML and OWL. A semiotic quality framework is used to evaluate a UML class model and an OWL ontology model in the travel domain. Next, an extended semiotic quality framework is used to evaluate the OWL language. Furthermore, we compare UML and OWL through the joint evaluation result. The comparison of the two languages highlighted the strengths and weaknesses of the two modeling languages from a semiotic perspective. This evaluation is to assist researchers in the selection and justification of modeling languages in specific scenarios.


2014 ◽  
Vol 4 (3) ◽  
Author(s):  
Sonja Ristić ◽  
Slavica Aleksić ◽  
Milan Čeliković ◽  
Vladimir Dimitrieski ◽  
Ivan Luković

AbstractReengineering is one of the key concepts in software maintenance and evolution. It generally includes some form of reverse engineering followed by some form of forward engineering or restructuring. In the paper we focus on database reverse engineering. Model-driven software engineering promotes the idea of abstracting implementation details by focusing on: models as first class entities and automated generation of models or code from other models. In the approach meta-models are used to define the modeling languages. A database reverse engineering process can benefit of integrating meta-modeling and meta-models in the process. The plethora of models related to databases points out to the need and importance of model-to-model transformations between these models at different abstraction levels. These transformations are based on meta-models that are conformed by the source and target models of the transformations. A database reverse engineering process can be performed through a chain of model-to-model transformations based on a set of meta-models. In the paper we discuss the importance of meta-modeling in the context of database reverse engineering and present a case study illustrating an approach to database reverse engineering.


Author(s):  
С.И. Рябухин

Процессные модели предметной области широко применяются при проектировании баз данных, а именно в ходе концептуального моделирования данных. Предлагается решение проблемы неоднозначности преобразования процессных доменных моделей типа SADT в концептуальные модели данных. Domain process models are widely used in database design, namely in conceptual data modeling. The solution of the problem of ambiguity of transformation of process domain models of the SADT type into conceptual data models is proposed.


Sign in / Sign up

Export Citation Format

Share Document