826 research outputs found
Recommended from our members
A Framework for Automatic Dynamic Constraint Verification in Cyber Physical System Modeling Languages
Design of Cyber-Physical Systems (CPSs) involves overlapping the domains of control theory, network communication, and computational algorithms. Involving multiple domains within the same design greatly increases the system complexity. Furthermore, the physical nature of CPSs generally involves important safety constraints where constraint violations can be catastrophic. The design of CPSs benefits from focusing on the construction of abstracted, high-level models in a DomainSpecific Modeling Language (DSML). A Domain-Specific Modeling Environment (DSME) may aid in the design of such complex systems by enforcing structural design constraints during the construction of models. Models built using a DSME may also use compilers or interpreters to produce real working, low-level artifacts that represent the high-level design. Though each model in a DSME may abide by a formal specification, the behavior of a design may violate dynamic constraints if deployed. Engineers are tasked to ensure that models behave safely by implementing their expert knowledge after using appropriate verification tools. Constraint violations may be eliminated by a modification of the model based on verification feedback, known as Dynamic Constraint Feedback (DCF). Mending such constraint violations is a task generally performed by the model designer. Such a process could potentially be automated through the capture of well-known design practices. The challenging task when automating model correction then becomes in the design of a DSML. A designer of a DSML may have a clear understanding of how to design the syntax and semantics for their domain, but there are no formal methods for implementing verification tools for automatic model correction. Such a framework could greatly aid in the selection of available verification tools, implement well-established design methods, and model dynamic constraints. Presented is the Dynamic Constraint Feedback Metamodeling Language (DCFML), a new metamodel to implement DCF upfront in DSML design. This particular solution provides a concrete solution to the abstraction of the various components of DCF, and then appends them to the DSML design process provided by a DSME
LiquidML: A Web Modeling Language Supporting Fast Metamodel Evolution
Model Driven development approaches are being adopted by the software industry due to a core set of
benefits such as raising the level of abstraction and reducing coding errors. However, their underlying
modelling languages tend to be quite rigid, making their evolution hard, specifically when the
corresponding metamodel do not support primitives and/or functionalities required in specific business
domains. In this work, we present an approach for fast evolution of the modelling language that is “self
reflective”, allowing modellers to abstract new language concepts from the primitives. The main advantage
of our approach is that it provides zero application downtime and automatic tool evolution. As a
consequence, applications created with our approach are able to adapt quicker to the business needs than
those based on traditional Web modelling languages. We compare our approach with existing modelling
languages in a case study providing a proof of its ability to adapt faster than to new business needs.Ministerio de Ciencia e InnovaciĂłn TIN2013-46928-C3-3-
The ModelCC Model-Driven Parser Generator
Syntax-directed translation tools require the specification of a language by
means of a formal grammar. This grammar must conform to the specific
requirements of the parser generator to be used. This grammar is then annotated
with semantic actions for the resulting system to perform its desired function.
In this paper, we introduce ModelCC, a model-based parser generator that
decouples language specification from language processing, avoiding some of the
problems caused by grammar-driven parser generators. ModelCC receives a
conceptual model as input, along with constraints that annotate it. It is then
able to create a parser for the desired textual syntax and the generated parser
fully automates the instantiation of the language conceptual model. ModelCC
also includes a reference resolution mechanism so that ModelCC is able to
instantiate abstract syntax graphs, rather than mere abstract syntax trees.Comment: In Proceedings PROLE 2014, arXiv:1501.0169
Towards fast metamodel evolution in LiquidML
The software industry is applying Model-driven development approaches due to a core set of benefits, such
as raising the level of abstraction and reducing coding errors. However, their underlying modeling languages
tend to be quite static, making their evolution hard, specifically when the corresponding metamodel does not
support primitives and/or functionalities required in specific business domains. This paper presents an
extension to the LiquidML language to support fast metamodel evolution by allowing experts to abstract
new language concepts from primitives while supporting automatic tool evolution and zero application
downtime. To probe our claims, we evaluate the evolutionary capabilities of existing modeling languages
and LiquidML in a real world language extension.Ministerio de EconomĂa y Competitividad TIN2016-76956-C3-2-R (POLOLAS)Ministerio de EconomĂa y Competitividad TIN2015-71938-RED
Challenges and Directions in Formalizing the Semantics of Modeling Languages
Developing software from models is a growing practice and there exist many model-based tools (e.g., editors, interpreters, debuggers, and simulators) for supporting model-driven engineering. Even though these tools facilitate the automation of software engineering tasks and activities, such tools are typically engineered manually. However, many of these tools have a common semantic foundation centered around an underlying modeling language, which would make it possible to automate their development if the modeling language specification were formalized. Even though there has been much work in formalizing programming languages, with many successful tools constructed using such formalisms, there has been little work in formalizing modeling languages for the purpose of automation. This paper discusses possible semantics-based approaches for the formalization of modeling languages and describes how this formalism may be used to automate the construction of modeling tools
A Design Pattern for Executable DSML
Model executability is now a key concern in model-driven engineering, mainly to support early validation and verification (V&V). Some approaches have allowed to weave executability into metamodels, defining executable domain-specific modeling languages (DSML). Then, model validation may be achieved by direct interpretation of the conforming models. Other approaches address model executability by model compilation, allowing to reuse the virtual machines or V&V tools existing in the target domain. Nevertheless, systematic methods are not available to help the language designer in the definition of such an execution semantics and related support tools. For instance, simulators are mostly hand-crafted in a tool specific manner for each DSML. In this paper, we propose to reify the elements commonly used to support execution in a DSML. We infer a design pattern (called Executable DSML pattern) providing a general reusable solution for the expression of the executability concerns in DSML. It favors flexibility and improves reusability in the definition of semantics-based tools for DSML. We illustrate how this pattern can be applied to V&V and models at runtime, and give insights on the development of generic and generative tools for model animators
- …