Electronic Communications of the EASST (European Association of Software Science and Technology)
Not a member yet
887 research outputs found
Sort by
Transfer of Local Confluence and Termination between Petri Net and Graph Transformation Systems Based on M-Functors
Recently, a formal relationship between Petri net and graph transformation systems has been established using the new framework of M-functors F : (C1;M1) -> (C2;M2) between M-adhesive categories. This new approach allows to translate transformations in (C1;M1) into corresponding transformations in (C2;M2) and, vice versa, to create transformations in (C1;M1) from those in (C2;M2). This is helpful because our tool for reconfigurable Petri nets, the RONtool, performs the analysis of Petri net transformations by analyzing corresponding graph transformations using the AGG-tool. Up to now, this correspondence has been implemented as a converter on an informal level. The formal correspondence results given by our framework make the RON-tool more reliable.In this paper, we extend this framework to the transfer of local confluence, termination and functional behavior. In particular, we are able to create these properties for transformations in (C1;M1) from corresponding properties of transformations in (C2;M2), where (C1;M1) are Petri nets with individual tokens and (C2;M2) typed attributed graphs. This allows us to apply the well-known critical pair analysis for typed attributed graph transformations supported by the AGG-tool in order to analyze these properties for Petri net transformations
Optimization in Graph Transformation Systems with Time Using Petri Net Based Techniques
Extra–functional properties of IT systems have to be analyzed and subsequently optimized carefully during the design phase in order to assure a proper quality of service and decrease operational costs. Several verification and validation methods are known to check the correctness of the system services, while optimization may serve to reach boundaries thus minimizing costs or duration of operating the system. However, the combination of the best practices of the two fields according to the purpose of the analysis is a challenging question. In a previous paper, we showed how such a problem can be formalized and solved when the evolution of the system is captured by graph transformation systems (GTS) with cost parameters attached to each graph transformation rule denoting the cost of firing the rule.This technique is adapted in the current paper to deliver a time–optimal trajectory in a GTS with time. While the cost of a GT rule sequence always equals to the sum of the cost of the involved GT rules, the concurrent application of GT rules may reduce the minimal duration of a GT rule sequence, which is a major conceptual difference concerning optimization
ModGraph - Generating Executable EMF Models
Model driven software engineering aims at creating high level executablemodels which may be interpreted or compiled. For efficient execution ofoperations on model instances code generators play an important role. A wellestablished tool for structural modeling and code generation is the Eclipse Modeling Framework (EMF). We extended EMF by behavior modeling within ModGraph, a tool to model behavior by graph transformation rules. Each rule corresponds to an operation modeled in the Ecore class diagram. This paper focuses on ModGraph’s code generator. Therefore I describe the matching of graph transformation rules as well as the exact translation of a rule and its seamless injection into the existing EMF Java code. A running example of a simple calendar application complements the explanation
Abstract Interleaving Semantics for Reconfigurable Petri Nets
Reconfigurable Petri nets are Petri nets together with rules for the dynamic change of the nets. We employ them for the formal modeling in the context of the Living Place Hamburg, a smart home that is an urban apartment serving as a laboratory for investigating different areas of ambient intelligence. The interaction of the resident and the smart home is modeled using informal descriptions of scenarios. These scenarios provide the resident's procedures together with the smart home's support. A case study using reconfigurable Petri nets for modeling these scenarios has required extensions of the theory and has clearly shown the need for an interleaving semantics for reconfigurable Petri nets. Scenarios are then given by nets, namely decorated place/transition nets that can be adapted to the evolving subgoals by applying rules that change the nets and hence the behavior of the smart home. Decorated place/transition nets are annotated place/transition nets with additional transition labels that may change when the transition is fired. To obtain such reconfigurable Petri nets we prove that decorated place/transition nets give rise to an M-adhesive HLR category. The abstract interleaving semantics we introduce is a graph with nodes that consist of an isomorphism class of the net structure and an isomorphism class of the current marking. Arcs between these nodes represent computation steps being either a transition firing or a direct transformation
Observations relating to the equivalences induced on model sets by bidirectional transformations
A bidirectional transformation on a pair of sets of models induces two principal equivalence relations on each set of models. Since a model can be uniquely identified by specifying its equivalence class in each of these relations, they function as a coordinate system for the model sets, with respect to the transformation. We prove some results relating to this observation. Using them we give the implication relationships between various properties of bidirectional transformations. In particular, we characterise the bidirectional transformations that can be decomposed into a pair of lenses working ``tail to tail''
Teaching Programming Students how to Model: Challenges & Opportunities
Computer Science students who have one or more years of basic programmingexperience and little or no exposure to abstractions above the code level,often struggle to grasp modeling concepts and practices in more advanced softwaredevelopment courses. In this talk I discuss some of the factors that contribute tothis situation and propose a learning process in which the abstraction gap betweenmodels and implementations is gradually widened as student modeling skills aredeveloped
Model Checking Communicating Processes: Run Graphs, Graph Grammars, and MSO
The formal model of recursive communicating processes (RCPS) is important in practice but does not allows to derive decidability results for model checking questions easily. We focus a partial order representation of RCPS’s execution by graphs—so called run graphs, and suggest an underapproximative verification approach based on a bounded-treewidth requirement. This allows to directly derive positive decidability results for MSO model checking (seen as partial order logic on run graphs) based on a context-freeness argument for restricted classes run graph
On Modelling Communication in Ubiquitous Computing Systems using Algebraic Higher Order Nets
Ubiquitous computing systems (UCSs) are designed to participate almostimperceptibly in everyday life. To ensure a solid operation, a UCS heavily depends on a reliable and efficient communication between its distributed computing components. Moreover components can join and leave the system at any time.In order to guarantee high quality systems, the use of models is inevitable especiallyat an early stage of the development process where models are the only possibilityto address a system which does not yet exist in reality. Petri nets and graph transformationsystems are established, theoretically well-founded concepts for modellingand analysing complex systems.This paper presents a formal approach for modelling core aspects of the communicationin UCSs by using Algebraic Higher Order Nets with Individual Tokens andgraph transformation. The approach is suitable to cover the different aspects ofcommunication and enables the analysis of specific properties. The approach and itssuitability are illustrated based on a running example. The feasibility of embeddingthe approach in a broader context of modelling is demonstrated in applying it to areal world system: the Living Place Hamburg
Integrated Model Checking of Static Structure and Dynamic Behavior using Temporal Description Logics
This paper presents a new notation for the formal representation of the static structure and dynamic behavior of software, based on description logics and temporal logics. The static structure as described by UML class diagrams is represented formally by description logics while the dynamic behavior is represented by linear temporal logic and state transition systems. We integrate these descriptions of static and dynamic aspects into a single formalism called LTLDL. LTLDL enables a concise and natural yet precise definition of the behavior of software w.r.t. UML class diagrams and state transition diagrams. We demonstrate our approach on the sake warehouse problem. Further, we describe how properties of finite LTLDL models can be analyzed based on bounded model checking and SMT (satisfiability modulo theory) solving. We implemented a restricted SMT solver for finite sets and relations. This SMT solver helped to reduce the model checking runtime significantly as compared to bounded model checking with existing tools
Graph Passing in Graph Transformation
Graph transformation works under the whole world assumption. Therefore, in realistic systems, both the individual graphs and the set of all such graphs can grow very large. In reactive formalisms such as process algebra, on the other hand, each system is split into smaller components which continually interact; the interactions pass information such as names or locations between components. The state spaces for the separate components are typically much smaller, and much efficiency can be gained by analysing system behaviour on this level.In this paper we present a framework for compositional graph transformation inspired by name-passing calculi, in which (knowledge about) subgraphs can be passed between components. Essentially, we define graph-passing (reactive) component rules and their composition into traditional (reductive) whole-world rules. This extends previous work in which a simpler form of composition was proposed. The main result is a soundness and completeness result for the composition, showing that the transformations induced by the component rules and their whole-world counterparts are equivalent