Results 1 - 10
of
31
Towards a rewriting logic semantics for ATL
- Theory and Practice of Model Transformations, Third International Conference, ICMT 2010, Proceedings, volume 6142 of LNCS
, 2010
"... Abstract. As the complexity of model transformation (MT) grows, the need to count on formal semantics of MT languages also increases. Firstly, formal semantics provide precise specifications of the expected behavior of transformations, which are crucial for both MT users (to be able to understand th ..."
Abstract
-
Cited by 23 (2 self)
- Add to MetaCart
(Show Context)
Abstract. As the complexity of model transformation (MT) grows, the need to count on formal semantics of MT languages also increases. Firstly, formal semantics provide precise specifications of the expected behavior of transformations, which are crucial for both MT users (to be able to understand them and to use them properly) and MT tool builders (to develop correct MT engines, optimizers, etc.). Secondly, we need to be able to reason about the MTs to prove their correctness. This is specially important in case of large and complex MTs (with, e.g., hundreds or thousands of rules) for which manual debugging is no longer possible. In this paper we present a formal semantics to the ATL model transformation language using rewriting logic and Maude, which allows addressing these issues. This formalization provides additional benefits, such as enabling the simulation of the specifications or giving access to the Maude toolkit to reason about them. 1
Analyzing rule-based behavioral semantics of visual modeling languages with maude
- IN: PROC. OF SLE 2008
, 2008
"... There is a growing need to explicitly represent the behavioral semantics of Modeling Languages in a precise way, something especially important in industrial environments in which simulation and verification are critical issues. Graph transformation provides one way to specify the semantics of Doma ..."
Abstract
-
Cited by 20 (8 self)
- Add to MetaCart
(Show Context)
There is a growing need to explicitly represent the behavioral semantics of Modeling Languages in a precise way, something especially important in industrial environments in which simulation and verification are critical issues. Graph transformation provides one way to specify the semantics of Domain Specific Visual Languages (DSVLs), with the advantage of being intuitive and easy to use for the system designer. Even though its theory has been extensively developed during the last 30 years, it has some limitations concerning specific analysis capabilities. On the contrary, Maude is a rewriting logic-based language with very good formal analysis support, but which requires specialized knowledge. In this paper we show how a mapping between graph transformation-based specifications of DSVL semantics and Maude is possible. This allows performing simulation, reachability and model-checking analysis on the models, using the tools and techniques that Maude provides.
A constructive approach to testing model transformations
"... Abstract. This paper concerns a formal encoding of the Object Management Group’s Complete Meta-Object Facility (CMOF) in order to provide a more trustworthy software development lifecycle for Model Driven Architecture (MDA). We show how a form of constructive logic can be used to provide a uniform s ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
(Show Context)
Abstract. This paper concerns a formal encoding of the Object Management Group’s Complete Meta-Object Facility (CMOF) in order to provide a more trustworthy software development lifecycle for Model Driven Architecture (MDA). We show how a form of constructive logic can be used to provide a uniform semantics of metamodels, model transformation specifications, model transformations and black-box transformation tests. A model’s instantiation of a metamodel within the MOF is treated using the logic’s realizability relationship, a kind of type inhabitation relationship that is expressive enough to express constraint conformance between terms and types. These notions enable us to formalize the notion of a correct model instantiation of a metamodel with constraints. We then adapt previous work on snapshot generation to generate input models from source metamodel specification with the purpose of testing model transformations. 1
Unification and Narrowing in Maude 2.4
, 2009
"... Maude is a high-performance reflective language and system supporting both equational and rewriting logic specification and programming for a wide range of applications, and has a relatively large worldwide user and open-source developer base. This paper introduces novel features of Maude 2.4 incl ..."
Abstract
-
Cited by 8 (4 self)
- Add to MetaCart
(Show Context)
Maude is a high-performance reflective language and system supporting both equational and rewriting logic specification and programming for a wide range of applications, and has a relatively large worldwide user and open-source developer base. This paper introduces novel features of Maude 2.4 including support for unification and narrowing. Unification is supported in Core Maude, the core rewriting engine of Maude, with commands and metalevel functions for order-sorted unification modulo some frequently occurring equational axioms. Narrowing is currently supported in its Full Maude extension. We also give a brief summary of the most important features of Maude 2.4 that were not part of Maude 2.0 and earlier releases. These features include communication with external objects, a new implementation of its module algebra, and new predefined libraries. We also review some new Maude applications.
Reasoning about Metamodeling with Formal Specifications and Automatic Proofs
"... Abstract. Metamodeling is foundational to many modeling frameworks, and so it is important to formalize and reason about it. Ideally, correctness proofs and test-case generation on the metamodeling framework should be automatic. However, it has yet to be shown that extensive automated reasoning on m ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
(Show Context)
Abstract. Metamodeling is foundational to many modeling frameworks, and so it is important to formalize and reason about it. Ideally, correctness proofs and test-case generation on the metamodeling framework should be automatic. However, it has yet to be shown that extensive automated reasoning on metamodeling frameworks can be achieved. In this paper we present one approach to this problem: Metamodeling frameworks are specified modularly using algebraic data types and constraint logic programming (CLP). Proofs and test-case generation are encoded as CLP satisfiability problems and automatically solved. 1
M.: What is a multi-modeling language
- In: WADT. LNCS
, 2009
"... Abstract. In large software projects often multiple modeling languages are used in order to cover the different domains and views of the application and the lan-guage skills of the developers appropriately. Such “multi-modeling ” raises many methodological and semantical questions, ranging from sema ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
Abstract. In large software projects often multiple modeling languages are used in order to cover the different domains and views of the application and the lan-guage skills of the developers appropriately. Such “multi-modeling ” raises many methodological and semantical questions, ranging from semantic consistency of the models written in different sublanguages to the correctness of model transfor-mations between the sublanguages. We provide a first formal basis for answer-ing such questions by proposing semantically well-founded notions of a multi-modeling language and of semantic correctness for model transformations. In our approach, a multi-modeling language consists of a set of sublanguages and syntax of the sublanguages is given by MOF meta-models. The semantics of a multi-modeling language is given by associating an institution, i.e., an appropri-ate logic, to each of its sublanguages. The correctness of model transformations is defined by semantic connections between the institutions. 1
The rewriting logic semantics project: a progress report
- IN: OWE O, STEFFEN M, TELLE J (EDS) FUNDAMENTALS OF COMPUTATION THEORY, VOLUME 6914 OF LECTURE NOTES IN COMPUTER SCIENCE
, 2011
"... Rewriting logic is an executable logical framework well suited for the semantic definition of languages. Any such framework has to be judged by its effectiveness to bridge the existing gap between language definitions on the one hand, and language implementations and language analysis tools on the ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Rewriting logic is an executable logical framework well suited for the semantic definition of languages. Any such framework has to be judged by its effectiveness to bridge the existing gap between language definitions on the one hand, and language implementations and language analysis tools on the other. We give a progress report on how researchers in the rewriting logic semantics project are narrowing the gap between theory and practice in areas such as: modular semantic definitions of languages; scalability to real languages; support for real time; semantics of software and hardware modeling languages; and semantics-based analysis tools such as static analyzers, model checkers, and program provers.
System Model-Based Definition of Modeling Language Semantics
- In Proceedings of the Joint 11th IFIP International Conference FMOODS and 29th IFIP International Conference FORTE (FMOODS/FORTE
"... Abstract. In this paper, we present an approach to define the semantics for object-oriented modeling languages. One important property of this semantics is to support underspecified and incomplete models. To this end, semantics is given as predicates over elements of the semantic domain. This domai ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
(Show Context)
Abstract. In this paper, we present an approach to define the semantics for object-oriented modeling languages. One important property of this semantics is to support underspecified and incomplete models. To this end, semantics is given as predicates over elements of the semantic domain. This domain is called the system model which is a general declarative characterization of object systems. The system model is very detailed since it captures various relevant structural, behavioral, and interaction aspects. This allows us to re-use the system model as a domain for various kinds of object-oriented modeling languages. As a major consequence, the integration of language semantics is straight-forward. The whole approach is supported by tools that do not constrain the semantics definition's expressiveness and flexibility while making it machinecheckable.
A service-oriented UML profile with formal support ⋆
"... Abstract. We present a UML Profile for the description of service oriented applications. The profile focuses on style-based design and reconfiguration aspects at the architectural level. Moreover, it has formal support in terms of an approach called Architectural Design Rewriting, which enables form ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
(Show Context)
Abstract. We present a UML Profile for the description of service oriented applications. The profile focuses on style-based design and reconfiguration aspects at the architectural level. Moreover, it has formal support in terms of an approach called Architectural Design Rewriting, which enables formal analysis of the UML specifications. We show how our prototypical implementation can be used to analyse and verify properties of a service oriented application. 1
An Algebra of Hierarchical Graphs and its Application to Structural Encoding
, 2010
"... We define an algebraic theory of hierarchical graphs, whose axioms characterise graph isomorphism: two terms are equated exactly when they represent the same graph. Our algebra can be understood as a high-level language for describing graphs with a node-sharing, embedding structure, and it is then w ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
(Show Context)
We define an algebraic theory of hierarchical graphs, whose axioms characterise graph isomorphism: two terms are equated exactly when they represent the same graph. Our algebra can be understood as a high-level language for describing graphs with a node-sharing, embedding structure, and it is then well suited for defining graphical representations of software models where nesting and linking are key aspects. In particular, we propose the use of our graph formalism as a convenient way to describe configurations in process calculi equipped with inherently hierarchical features such as sessions, locations, transactions, membranes or ambients. The graph syntax can be seen as an intermediate representation language, that facilitates the encodings of algebraic specifications, since it provides primitives for nesting, name restriction and parallel composition. In addition, proving soundness and correctness of an encoding (i.e. proving that structurally equivalent processes are mapped to isomorphic graphs) becomes easier as it can be done by induction over the graph syntax.