5 research outputs found
Bigraphical Refinement
We propose a mechanism for the vertical refinement of bigraphical reactive
systems, based upon a mechanism for limiting observations and utilising the
underlying categorical structure of bigraphs. We present a motivating example
to demonstrate that the proposed notion of refinement is sensible with respect
to the theory of bigraphical reactive systems; and we propose a sufficient
condition for guaranteeing the existence of a safety-preserving vertical
refinement. We postulate the existence of a complimentary notion of horizontal
refinement for bigraphical agents, and finally we discuss the connection of
this work to the general refinement of Reeves and Streader.Comment: In Proceedings Refine 2011, arXiv:1106.348
Constructing runtime models with bigraphs to address ubiquitous computing service composition volatility
In this thesis, we explore the appropriateness of the language abstractions provided by Bigraphs to construct a model at runtime to tackle the problem of volatility in a service composition running on a mobile device.
Our contributions to knowledge are as follows:
1) We have shown that Bigraphs (Milner, 2009) are suitable for expressing models at runtime.
2) We have offered Bigraph language abstractions as an appropriate solution to some of the research problems posed by the models at runtime community (AĂmann et al., 2012).
3) We have discussed the general lessons learnt from using Bigraphs for a practical application such as a model at runtime.
4) We have discussed the general lessons learnt from our experiences of designing models at runtime.
5) We have implemented the model at runtime using the BPL Tool (ITU, 2011) and have experimentally studied the response times of our Bigraphical model. We have suggested appropriate enhancements for the tool based on our experiences.
We present techniques to parameterize the reaction rules so that the matching algorithm of the BPL Tool returns a single match giving us the ability to dynamically program the model at runtime. We also show how to query the Bigraph structure
Domain-Specific Modelling Languages in Bigraphs
Modelling is a ubiquitous activity in human endeavours, and the construction of informatic models of many kinds is the key to understanding and managing the complexity of an increasingly computational world. We advocate the use of domain-specific modelling languages, instantiated within a âtower â of models, in order to improve the utility of the models we build, and to ease the process of model construction by moving the languages we use to express such models closer to their respective domains. This thesis is concerned with the study of bigraphical reactive systems as a host for domain-specific modelling languages. We present a number of novel technical developments, including a new complete meta-calculus presentation of bigraphical reactive systems, an abstract machine that instantiates to an abstract machine for any instance calculi, and a mechanism for defining declaratively sorting predicates that always give rise to wellbehaved sortings. We explore bigraphical refinement relations that permit formalisation of the relationship between different languages instantiate
Graphs and Graph Transformations for Object-Oriented and Service-Oriented Systems
Theories of graphs and graph transformations form an important part of the mathematical foundations
of computing, and have been applied in a wide range of areas from the design and analysis
of algorithms to the formalization of various computer systems and programs. In this thesis, we
study how graphs and graph transformations can be used to model the static structure and dynamic
behavior of object-orientated and service-oriented systems.
Our work is mainly motivated by the difficulty in understanding and reasoning about objectorientated
and service-oriented programs, which have more sophisticated features compared with
traditional procedural programs. We show that the use of graphs and graphs transformations provides
both an intuitive visualization and a formal representation of object-orientated and serviceoriented
programs with these features, improving peopleâs understanding of the execution states
and behaviors of these programs.
We provide a graph-based type system, operational semantics and refinement calculus for an
object-oriented language. In this framework, we define class structures and execution states of oo
programs as directed and labeled graphs, called class graphs and state graphs, respectively. The
type system checks whether a program is well-typed based on its class graph, while the operational
semantics defines each step of program execution as a simple graph transformations between state
graphs. We show the operational semantics is type-safe in that the execution of a well-typed
program does not âgo wrongâ. Based on the operational semantics, we study the notion of structure
refinement of oo programs as graph transformations between their class graphs. We provide a
few groups of refinement rules for various purposes such as class expansion and polymorphism
elimination and prove their soundness and relative completeness.
We also propose a graph-based representation of service-oriented systems specified in a serviceoriented
process calculus. In this framework, we define states of service-oriented systems as hier-
archical graphs that naturally capture the hierarchical nature of service structures. For this, we
exploit a suitable graph algebra and set up a hierarchical graph model, in which graph transformations
are studied following the well-known Double-Pushout approach. Based on this model, we
provide a graph transformation system with a few sets of graph transformation rules for various
purposes such as process copy and process reduction. We prove that the graph transformation
system is sound and complete with respect to the reduction semantics of the calculus