36 research outputs found
Ten virtues of structured graphs
This paper extends the invited talk by the first author about the virtues
of structured graphs. The motivation behind the talk and this paper relies on our
experience on the development of ADR, a formal approach for the design of styleconformant,
reconfigurable software systems. ADR is based on hierarchical graphs
with interfaces and it has been conceived in the attempt of reconciling software architectures
and process calculi by means of graphical methods. We have tried to
write an ADR agnostic paper where we raise some drawbacks of flat, unstructured
graphs for the design and analysis of software systems and we argue that hierarchical,
structured graphs can alleviate such drawbacks
Verification and Analysis of Web Service Composition
Ph.DDOCTOR OF PHILOSOPH
An Algebra of Hierarchical Graphs and its Application to Structural Encoding
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
Heterogeneous Semantics and Unifying Theories
Model-driven development is being used increasingly in the development of modern computer-based systems. In the case of cyber-physical systems (including robotics and autonomous systems) no single modelling solution is adequate to cover all aspects of a system, such as discrete control, continuous dynamics, and communication networking. Instead, a heterogeneous modelling solution must be adopted. We propose a theory engineering technique involving Isabelle/HOL and Hoare & Heās Unifying Theories of Programming. We illustrate this approach with mechanised theories for building a contractual theory of sequential programming, a theory of pointer-based programs, and the reactive theory underpinning CSPās process algebra. Galois connections provide the mechanism for linking these theories