A Graph Syntax for Processes and Services (original) (raw)

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 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.

Graph Representation of Sessions and Pipelines for Structured Service Programming

Lecture Notes in Computer Science, 2012

UNU-IIST is jointly funded by the government of Macao and the governments of the People's Republic of China and Portugal through a contribution to the UNU Endowment Fund. As well as providing twothirds of the endowment fund, the Macao authorities also supply UNU-IIST with its office premises and furniture and subsidise fellow accommodation.

Using graph transformation systems to specify and verify data abstractions

2008

Abstract This paper proposes an approach for the specification of the behavior of software components that implement data abstractions. By generalizing the approach of behavior models using graph transformation, we provide a concise specification for data abstractions that describes the relationship between the internal state, represented in a canonical form, and the observers of the component. Graph transformation also supports the generation of behavior models that are amenable to verification.

GRACE as a unifying approach to graph-transformation-based specification

Electronic Notes in Theoretical Computer Science, 2001

In this paper, we sketch some basic ideas and features of the graph-transformationbased specification language GRACE. The aim of GRACE is to support the modeling of a wide spectrum of graph and graphical processes in a structured and uniform way including visualization and verification.

Structured Operational Semantics for Graph Rewriting

Electronic Proceedings in Theoretical Computer Science, 2011

Process calculi and graph transformation systems provide models of reactive systems with labelled transition semantics (LTS). While the semantics for process calculi is compositional, this is not the case for graph transformation systems, in general. Hence, the goal of this article is to obtain a compositional semantics for graph transformation system in analogy to the structural operational semantics (SOS) for Milner's Calculus of Communicating Systems (CCS).

Specification and Construction of Control Flow Semantics : a generic approach using graph transformations

Visual Languages and Human Centric Computing, 2006

In this paper we propose a visual language CFSL for specifying control flow semantics of programming languages. We also present a translation from CFSL to graph production systems (GPS) for flow graph construction; that is, any CFSL specification, say for a language L, gives rise to a GPS that constructs from any L-program (represented as an abstract syntax graph) the corresponding flow graph. The specification language is rich enough to capture complex language constructs, including all of Java.

A Framework of hierarchical graphs and its application to the semantics of SRML

2012

Hierarchical graphs or, in general, hierarchical graphical structures are needed when describing visual models at different levels of abstraction. This is the case of the semantic model of SRM L, the service modeling language of the project SENSORIA. In particular, the state model of this language is considered at two level of abstraction. Roughly, at the lowest level, a state configuration is a graph consisting of interconnected components and, at the highest level, business configurations are graphs consisting of interconnected activities, where each activity is a graph of components. Then, a state configuration is the flattening of the corresponding business configuration. Following these ideas, in this paper, we present a new framework of hierarchical graphs, showing that it is m-adhesive. Then we show how this framework can be used to define (part of) a graph transformation semantics of SRM L. graph transformation. Finally, in Section 6, we discuss some related work and conclude the paper. The paper includes a (long and) detailed appendix of the proof that our category of hierarchical graphs is m-adhesive. This appendix is not intended for publication. It is included so that the reviewers can check the correctness of our results. However, the paper without the appendix should be readable on its own.

A Graph Transformation-Based Approach to Formal Modeling and Verification of Workflows

This paper proposes a formal approach to modeling and verification of workflows using graph transformation systems. To model workflows, we use UML 2.0 activity diagrams. As this kind of diagram does not possess a precise formal semantics, therefore we propose a formal semantics for dynamic behavior of activity diagrams using graph transformation systems and then we verify them by model checking. To verify workflows, we use our previous approach to model checking of graph transformation systems – using Bogor model checker to verify graph transformation systems.

A graph grammar-based formal validation of object-process diagrams

Software and System Modeling

Two basic requirements from a system’s conceptual model are correctness and comprehensibility. Most modeling methodologies satisfy only one of these apparently contradicting requirements, usually comprehensibility, leaving aside problems of correctness and ambiguousness that are associated with expressiveness. Some formal modeling languages do exist, but in these languages a complete model of a complex system is fairly complicated to understand. Object-process methodology (OPM) is a holistic systems modeling methodology that combines the two major aspects of a system—structure and behavior—in one model, providing mechanisms to manage the complexity of the model using refinement-abstraction operations, which divide a complex system into many interconnected diagrams. Although the basic syntax and semantics of an OPM model are defined, they are incomplete and leave room for incorrect or ambiguous models. This work advances the formal definition of OPM by providing a graph grammar for creating and checking OPM diagrams. The grammar provides a validation methodology of the semantic and syntactic correctness of a single object-process diagram.

Formal semantics and analysis of control flow in WS-BPEL

Science of Computer Programming, 2007

Web service composition refers to the creation of new (Web) services by combining functionality provided by existing ones. A number of domain-specific languages for service composition have been proposed with consensus being formed around a process-oriented language known as WS-BPEL (or BPEL). The kernel of BPEL consists of simple communication primitives that may be combined using control-flow constructs expressing sequence, branching, parallelism, synchronization, etc. We present a comprehensive and rigorously defined mapping of BPEL constructs onto Petri net structures and use this for the analysis of various dynamic properties related to unreachable activities, conflicting messages, garbage collection, conformance checking, and deadlocks and lifelocks in interaction processes. We use a mapping onto Petri nets because this allows us to use existing theoretical results and analysis tools. Unlike approaches based on finite state machines, we do not need to construct the state space and can use structural analysis (e.g., transition invariants) instead. We have implemented a tool that translates BPEL processes into Petri nets and then applies Petri-net-based analysis techniques. This tool has been tested on different examples and has been used to answer a variety of questions.