915 research outputs found
Action semantics of unified modeling language
The Uni ed Modeling Language or UML, as a visual and general purpose modeling
language, has been around for more than a decade, gaining increasingly wide application
and becoming the de-facto industrial standard for modeling software systems. However,
the dynamic semantics of UML behaviours are only described in natural languages.
Speci cation in natural languages inevitably involves vagueness, lacks reasonability and
discourages mechanical language implementation. Such semi-formality of UML causes
wide concern for researchers, including us.
The formal semantics of UML demands more readability and extensibility due to its
fast evolution and a wider range of users. Therefore we adopt Action Semantics (AS),
mainly created by Peter Mosses, to formalize the dynamic semantics of UML, because
AS can satisfy these needs advantageously compared to other frameworks.
Instead of de ning UML directly, we design an action language, called ALx, and
use it as the intermediary between a typical executable UML and its action semantics.
ALx is highly heterogeneous, combining the features of Object Oriented Programming
Languages, Object Query Languages, Model Description Languages and more complex
behaviours like state machines. Adopting AS to formalize such a heterogeneous language
is in turn of signi cance in exploring the adequacy and applicability of AS.
In order to give assurance of the validity of the action semantics of ALx, a prototype
ALx-to-Java translator is implemented, underpinned by our formal semantic description
of the action language and using the Model Driven Approach (MDA). We argue that
MDA is a feasible way of implementing this source-to-source language translator because
the cornerstone of MDA, UML, is adequate to specify the static aspect of programming
languages, and MDA provides executable transformation languages to model mapping
rules between languages.
We also construct a translator using a commonly-used conventional approach, in
i
which a tool is employed to generate the lexical scanner and the parser, and then
other components including the type checker, symbol table constructor, intermediate
representation producer and code generator, are coded manually. Then we compare the
conventional approach with the MDA. The result shows that MDA has advantages over
the conventional method in the aspect of code quality but is inferior to the latter in
terms of system performance
Assembling the Proofs of Ordered Model Transformations
In model-driven development, an ordered model transformation is a nested set
of transformations between source and target classes, in which each
transformation is governed by its own pre and post- conditions, but
structurally dependent on its parent. Following the
proofs-as-model-transformations approach, in this paper we consider a
formalisation in Constructive Type Theory of the concepts of model and model
transformation, and show how the correctness proofs of potentially large
ordered model transformations can be systematically assembled from the proofs
of the specifications of their parts, making them easier to derive.Comment: In Proceedings FESCA 2013, arXiv:1302.478
Model Continuity in Discrete Event Simulation: A Framework for Model-Driven Development of Simulation Models.
Most of the well known modeling and simulation methodologies state the importance of conceptual modeling in simulation studies and they suggest the use of conceptual models during the simulation model development process. However, only a limited number of methodologies refers to howto move from a conceptual model to an executable simulation model. Besides, existing modeling and simulation methodologies do not typically provide a formal method for model transformations between the models in different stages of the development process. Hence, in the current M&S practice, model continuity is usually not fulfilled. In this article, a model driven development framework for modeling and simulation is in order to bridge the gap between different stages of a simulation study and to obtain model continuity. The applicability of the framework is illustrated with a prototype modeling environment and a case study in the discrete event simulation domain
Using formal metamodels to check consistency of functional views in information systems specification
UML notations require adaptation for applications such as Information Systems (IS). Thus we have defined IS-UML. The purpose of this article is twofold. First, we propose an extension to this language to deal with functional aspects of IS. We use two views to specify IS transactions: the first one is defined as a combination of behavioural UML diagrams (collaboration and state diagrams), and the second one is based on the definition of specific classes of an extended class diagram. The final objective of the article is to consider consistency issues between the various diagrams of an IS-UML specification. In common with other UML languages, we use a metamodel to define IS-UML. We use class diagrams to summarize the metamodel structure and a formal language, B, for the full metamodel. This allows us to formally express consistency checks and mapping rules between specific metamodel concepts. (C) 2007 Elsevier B.V. All rights reserved
Crosscutting, what is and what is not? A Formal definition based on a Crosscutting Pattern
Crosscutting is usually described in terms of scattering and tangling. However, the distinction between these concepts is vague, which could lead to ambiguous statements. Sometimes, precise definitions are required, e.g. for the formal identification of crosscutting concerns. We propose a conceptual framework for formalizing these concepts based on a crosscutting pattern that shows the mapping between elements at two levels, e.g. concerns and representations of concerns. The definitions of the concepts are formalized in terms of linear algebra, and visualized with matrices and matrix operations. In this way, crosscutting can be clearly distinguished from scattering and tangling. Using linear algebra, we demonstrate that our definition generalizes other definitions of crosscutting as described by Masuhara & Kiczales [21] and Tonella and Ceccato [28]. The framework can be applied across several refinement levels assuring traceability of crosscutting concerns. Usability of the framework is illustrated by means of applying it to several areas such as change impact analysis, identification of crosscutting at early phases of software development and in the area of model driven software development
Semantic verification of Behavior Conformance
This paper introduces a formal yet practical method to verify whether the behavior design of a distributed application conforms to the behavior design of the enterprise in which the application is embedded. The method allows both enterprise architects and application architects to talk about designs in their own terms, and introduces a common set of terms as the linking pin between enterprise and application designs. The formal semantics of these common terms allows us to verify the conformance between an enterprise and its applications formally and automatically
- …