Results 1  10
of
31
A Formal Semantics of UML State Machines Based on Structured Graph Transformation
 UML 2001: The Unified Modeling Language. Modeling Languages, Concepts and Tools, volume 2185 of LNCS
, 2001
"... UML state machines are quite popular and useful to specify dynamic components of software systems. They have a formal static semantics but their execution semantics is described only informally. Graph transformation, on the other hand, constitutes a wellstudied area with many theoretical results an ..."
Abstract

Cited by 48 (4 self)
 Add to MetaCart
(Show Context)
UML state machines are quite popular and useful to specify dynamic components of software systems. They have a formal static semantics but their execution semantics is described only informally. Graph transformation, on the other hand, constitutes a wellstudied area with many theoretical results and practical application domains. In this paper, an operational semantics for a subset of UML state machines is proposed which is based on graph transformation. In more detail, a UML state machine is described as a structured graph transformation system in such a way that the wellformedness rules of UML state machines are satisfied and the ring of a (maximum) set of enabled nonconicting transitions corresponds to the application of a graph transformation rule. The presented approach uses the concept of transformation units, a recently developed modularization concept for graph transformation systems.
Graph Transformation Units And Modules
, 1999
"... The significance of graphs and rules in many areas of computer science is evident: On the one hand, graphs constitute appropriate means for the description of complex relationships between objects. Trees, Petri nets, circuit diagrams, data flow graphs, state charts, and entityrelationship diagrams ..."
Abstract

Cited by 25 (16 self)
 Add to MetaCart
The significance of graphs and rules in many areas of computer science is evident: On the one hand, graphs constitute appropriate means for the description of complex relationships between objects. Trees, Petri nets, circuit diagrams, data flow graphs, state charts, and entityrelationship diagrams are some typical examples. On the other hand, rules are used to describe "permitted" actions on objects as, for example, in the areas of functional and logic programming, formal languages, algebraic specification, theorem proving, and rulebased systems. The intention of bringing graphs and rules together  motivated by several application areas  has led to the theory of graph grammars and graph transformation (see volume I of the Handbook and [17] for a survey). A wide spectrum of approaches exists within this theory and some of them are implemented (see, for example, Progres [8, 9], Graph Ed [10], Dactl [11], and Agg...
Computing with Graphs and Graph Rewriting
 FACHGRUPPE INFORMATIK, RWTH
, 1997
"... Graphs are a popular data structure. Programmers are faced with the need to represent, inspect, modify, display and recognize graphs. In this paper we describe a systematic approach to graph modification, using graph rewrite rules. Graph rewrite rules replace one subgraph by another subgraph. In ..."
Abstract

Cited by 20 (0 self)
 Add to MetaCart
Graphs are a popular data structure. Programmers are faced with the need to represent, inspect, modify, display and recognize graphs. In this paper we describe a systematic approach to graph modification, using graph rewrite rules. Graph rewrite rules replace one subgraph by another subgraph. In other words, a graph rewrite rule specifies how, and under what conditions, to replace one piece of a graph by another piece. This is an intuitive and useful generalization of string rewriting. We illustrate these ideas using a sampling of applications: precedencenetwork creation, visual language editing, and recognition of mathematics notation. Graph rewriting examples are written in PROGRES, a programming language with both visual and textual elements.
More About Control Conditions for Transformation Units
 Proc. Theory and Application of Graph Transformations, volume 1764 of Lecture Notes in Computer Science
, 1998
"... A transformation unit is a structuring principle for composing graph transformation systems from small units. One of the basic components of a transformation unit is its control condition which allows to restrict the nondeterminism of graph transformation. The concept of transformation units is gen ..."
Abstract

Cited by 16 (12 self)
 Add to MetaCart
(Show Context)
A transformation unit is a structuring principle for composing graph transformation systems from small units. One of the basic components of a transformation unit is its control condition which allows to restrict the nondeterminism of graph transformation. The concept of transformation units is generic in the sense that each formalism which specifies a binary relation on graphs can be used as a control condition. This paper discusses a selection of concrete classes of control conditions which seem to provide reasonable expressive power for specifying and programming with transformation units. These include regular expressions, once, aslongaspossible, priorities, and conditionals; some of them were already used in an ad hoc manner in earlier papers. It is shown which classes of control conditions can be replaced by others without changing the semantics of the corresponding transformation unit. Moreover, three properties of control conditions are studied: minimality, i...
Classification and comparison of module concepts for graph transformation systems
 In Ehrig et
, 1999
"... In this chapter we use a threelevel approach for analyzing module concepts for graph transformation systems. Based on the observation that module architectures consist of basic specifications like body or export interface and relations like the implementation relation between them, or the import re ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
In this chapter we use a threelevel approach for analyzing module concepts for graph transformation systems. Based on the observation that module architectures consist of basic specifications like body or export interface and relations like the implementation relation between them, or the import relation between a client and a server module, module concepts are characterized by answering the questions 1. What are the basic specifications? 2. Which relations between specifications are used? 3. How are specifications and relations combined to module architectures? These three questions are investigated for five module concepts available in the literature. As a reference example, a sample modular specification of resource management in distributed operating systems is presented.
Abstract Hierarchical Graph Transformation
 MATH. STRUCT. IN COMP. SCIENCE
, 2005
"... In this paper, we introduce a new hierarchical graph model to structure large graphs into small components by distributing the nodes (and edges likewise) into a hierarchy of packages. In contrast to other known approaches, we do not fix the type of underlying graphs. Moreover, our model is equipped ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
In this paper, we introduce a new hierarchical graph model to structure large graphs into small components by distributing the nodes (and edges likewise) into a hierarchy of packages. In contrast to other known approaches, we do not fix the type of underlying graphs. Moreover, our model is equipped with a rulebased transformation concept such that hierarchical graphs cannot only be used for static representation of complex system states, but also for the description of the dynamic system behaviour.
Coordinated distributed diagram transformation for software evolution
 Electronic Notes in Theoretical Computer Science 72(4
, 2002
"... Abstract We present an approach to maintaining consistency between code and specification during refactoring, where a specification comprises several UML diagrams of different types. Code is represented as a flowgraph, and the flowgraph and UML diagrams constitute different views of a software syst ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
(Show Context)
Abstract We present an approach to maintaining consistency between code and specification during refactoring, where a specification comprises several UML diagrams of different types. Code is represented as a flowgraph, and the flowgraph and UML diagrams constitute different views of a software system. A refactoring is modelled as a set of distributed graph transformations, organized into transformation units.
Graph Transformation Modules and their Composition
 Proc. AGTIVE
, 1999
"... In this paper, we investigate the notion of transformation modules as a structuring principle for the specification of graph transformation systems which provide a collection of operations on graphs. Based on the notion of transformation units, a concept that allows to specify binary relations on gr ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
In this paper, we investigate the notion of transformation modules as a structuring principle for the specification of graph transformation systems which provide a collection of operations on graphs. Based on the notion of transformation units, a concept that allows to specify binary relations on graphs, a transformation module consists of a set of transformation units. To be able to distinguish between hidden and public operations, a module has an export interface. Moreover, there may be an import interface and a formal parameter. The import interface allows the use of transformation units which are known in the environment of a module. The formal parameter consists of formal parameter units which specify operations on graphs in a loose way. A formal parameter unit may be instantiated by an exported transformation unit of another module through module composition.
Termination of HighLevel Replacement Units with Application to Model Transformation
 IN PROCEEDINGS OF VLFM’04, ENTCS
, 2004
"... Visual rewriting techniques are increasingly used to model transformations of systems speci ed through diagrammatic sentences. Graph transformations, in particular, are a widespread formalism with several applications, from parsing to model animation or transformation. Although a wealth of rewriting ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
Visual rewriting techniques are increasingly used to model transformations of systems speci ed through diagrammatic sentences. Graph transformations, in particular, are a widespread formalism with several applications, from parsing to model animation or transformation. Although a wealth of rewriting models have been proposed, di ering in the expressivity of the types of rules and in the complexity of the rewriting mechanism, basic results concerning the formal properties of these models are still missing for many of them. In this paper, we propose a contribution towards solving the termination problem for rewriting systems with external control mechanisms for rule application. In particular, we obtain results of more general validity by extending the concept of transformation unit to highlevel replacement systems, a generalization of graph transformation systems. For the resulting highlevel replacement units, we state and prove several abstract properties based on termination criteria. Then, we instantiate the highlevel replacement systems by attributed graph transformation systems and present concrete termination criteria. These are used to show the termination of some replacement units needed to express model transformations as a consequence of software refactoring.
Integrity Constraints in the multiparadigm language PROGRES
 In Theory and Application of Graph Transformations, 6th International Workshop, TAGT’98
, 1998
"... PROGRES is a multiparadigm visual programming or executable specification language, which has a welldefined static type concept. It supports programming with graph rewriting systems. An integrated typechecker is able to check the static semantics of a specification. This paper presents the integrat ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
PROGRES is a multiparadigm visual programming or executable specification language, which has a welldefined static type concept. It supports programming with graph rewriting systems. An integrated typechecker is able to check the static semantics of a specification. This paper presents the integration of static integrity constraints to the language which allow to check a specification's semantics at runtime. It discusses a number of important design decisions such as when constraints have to be checked and what happens if constraint violations are detected. 1 Introduction The idea to use graph transformations for specification and very high level programming purposes is now about thirty years old. Some early visual programming languages such as Plan2D [2] are indeed graph rewriting languages. Graph grammars e.g. are used for the definition of the syntax and semantics of visual languages like in DiaGen [11]. Beyond that there are a still growing number of visual languages that rely ...