Book

The Space and Motion of Communicating Agents

Authors:

Abstract

The world is increasingly populated with interactive agents distributed in space, real or abstract. These agents can be artificial, as in computing systems that manage and monitor traffic or health; or they can be natural, e.g. communicating humans, or biological cells. It is important to be able to model networks of agents in order to understand and optimize their behavior. Robin Milner describes in this book just such a model, by presenting a unified and rigorous structural theory, based on bigraphs, for systems of interacting agents. This theory is a bridge between the existing theories of concurrent processes and the aspirations for ubiquitous systems, whose enormous size challenges our understanding. The book is self-contained mathematically and is designed to be learned from: examples and exercises abound, solutions for the latter are provided.
... Bigraphs are a universal mathematical model for representing the spatial configuration of physical or virtual objects and their interaction capabilities. They were initially introduced by Milner [Mil09] and then extended to bigraphs with sharing in [SC15] to accommodate spatial locations that can overlap. For brevity, we use the term 'bigraphs' to refer to 'bigraphs with sharing'. ...
... nodes and edges), only how they glue together. Aside from re-writing the categorical framework provides powerful tools for deriving bisimulations (see [Mil09][Chapter 6]). ...
... In this case we have predicate labels on states and rule names on transitions. In BRS theory there are techniques, from the process algebra community, to allow action labels on transitions [Mil09,Chapter 6.]. Model checking techniques, often combined with temporal logic, then specify and check properties we expect to hold on the transition system. ...
Article
Full-text available
Designing and reasoning about complex systems such as wireless sensor networks is hard due to highly dynamic environments: sensors are heterogeneous, battery-powered, and mobile. While formal modelling can provide rigorous mechanisms for design/reasoning, they are often viewed as difficult to use. Graph rewrite-based modelling techniques increase usability by providing an intuitive, flexible, and diagrammatic form of modelling in which graph-like structures express relationships between entities while rewriting mechanisms allow model evolution. Two major graph-based formalisms are Graph Transformation Systems (GTS) and Bigraphical Reactive Systems (BRS). While both use similar underlying structures, how they are employed in modelling is quite different. To gain a deeper understanding of GTS and BRS, and to guide future modelling, theory, and tool development, in this experience report we compare the practical modelling abilities and style of GTS and BRS when applied to topology control in WSNs. To show the value of the models, we describe how analysis may be performed in both formalisms. A comparison of the approaches shows that although the two formalisms are different, from both a theoretical and practical modelling standpoint, they are each successful in modelling topology control in WSNs. We found that GTS, while featuring a small set of entities and transformation rules, relied on entity attributes, rule application based on attribute/variable side-conditions, and imperative control flow units. BRS on the other hand, required a larger number of entities in order to both encode attributes directly in the model (via nesting) and provide tagging functionality that, when coupled with rule priorities, implements control flow. There remains promising research mapping techniques between the formalisms to further enable flexible and expressive modelling.
... Bigraphs [3] are formal structures that allow to model systems, in which spatial arrangement and interconnection of elements play an important role. It is also feasible to define the dynamics of a system within bigraphs framework. ...
... The primary formal tool utilised in our method are bigraphs [3]. They allow for modeling ubiquitous computing with just graphical notation. ...
... The vertex identifier of a drone in r1 activity denoted with reaction rule from Table I is 2, hence the condition v = 2. " max : (U ³ N) ³ N is a higher-order function that returns maximum value in codomain of the input function. For the example covered in this section, function power takes the following form: power = {(1, 0), (2,4), (3,4), (4, 0)} It says that task elements with unique identifiers 1 and 4 do not use any energy, while elements with identifiers 2 and 4 use 4Wh during the whole mission. ...
... Bigraphical reactive systems (BRSs) [Mil09] are a universal computational modelling formalism for systems that evolve in time and space. They consist of bigraphs, a graph based formalism that models entity relationships, both spatially and through (global) links, and a rewriting framework that allows models to evolve over time via a set of reaction (rewrite) rules. ...
... We introduce bigraphs by example, formal definitions can be found elsewhere [Mil09]. Although we restrict ourselves to Milner's original formulation of bigraphs (standard bigraphs), the probabilistic, stochastic, and non-deterministic variants are also applicable to, and implemented for, bigraphs with sharing [SC15] -an extension supporting overlapping spatial regions. ...
... In[Mil09], lean-support equivalence (≎) is used instead. It corresponds to support equivalence (≏) after discarding idle links, i.e. links connecting zero entities or names. ...
Preprint
Full-text available
Bigraphs are a universal computational modelling formalism for the spatial and temporal evolution of a system in which entities can be added and removed. We extend bigraphs to probablistic bigraphs, and then again to action bigraphs, which include non-determinism and rewards. The extensions are implemented in the BigraphER toolkit and illustrated through examples of virus spread in computer networks and data harvesting in wireless sensor systems. BigraphER also supports the existing stochastic bigraphs extension of Krivine et al., and using BigraphER we give, for the first time, a direct implementation of the membrane budding model used to motivate stochastic bigraphs.
... Bigraphs are a universal modelling language, introduced by Milner [22], for both modelling ubiquitous systems and as a unifying theory for many existing calculi for concurrency and mobility. A bigraph consists of a pair of relations over the same set of entities: a directed forest representing topological space in terms of containment, and a hyper-graph expressing the interactions and (non-spatial) relationships among entities. ...
... A concise semantics can be found elsewhere e.g. [22]. ...
... Bigraphs have been shown [22] to be suitable for encoding process algebras such as CCS [42], Mobile Process [43], π-calculus [15], and Actors [44]. Recently, there is also a growing trend to specify and verify agent-based systems via bigraphs, in particular, multi-agent systems. ...
Preprint
Full-text available
The Belief-Desire-Intention (BDI) architecture is a popular framework for rational agents; most verification approaches are based on reasoning about implementations of BDI programming languages. We investigate an alternative approach based on reasoning about BDI agent semantics, through a model of the execution of an agent program. We employ Milner's bigraphs as the modelling framework and present an encoding for the Conceptual Agent Notation (CAN) language - a superset of AgentSpeak featuring declarative goals, concurrency, and failure recovery. We provide an encoding of the syntax and semantics of CAN agents, and give a rigorous proof that the encoding is faithful. Verification is based on the use of mainstream software tools including BigraphER, and a small case study verifying several properties of Unmanned Aerial Vehicles (UAVs) illustrates the framework in action. The executable framework is a foundational step that will enable more advanced reasoning such as plan preference, intention priorities and trade-offs, and interactions with an environment under uncertainty.
... Here we provide the standard definition of concrete bigraphs given in [33] for the pure case. Bigraphs are not only a formal graphical model but also provide a graph and term representation (see [33]). ...
... Here we provide the standard definition of concrete bigraphs given in [33] for the pure case. Bigraphs are not only a formal graphical model but also provide a graph and term representation (see [33]). An example of a bigraph B ∶ ⟨2, {x 1 , x 2 }⟩ → ⟨1, {y 1 , y 2 }⟩ is depicted in Fig. 1 and the formal definition of its algebraic graph representation is given with Def. 6. ...
... Definition 4 (Bigraph interface) (after [33,Def. 2.3]) An interface for bigraphs is a pair I = ⟨m, X⟩ of a place graph interface and a link graph interface, where X ⊂ X is a finite Content courtesy of Springer Nature, terms of use apply. ...
Article
Full-text available
The bigraph theory, devised by Robin Milner, is a recent mathematical framework for concurrent processes. Its generality is able to subsume many existing process calculi, for example, CCS, CSP, and Petri nets. Further, it provides a uniform proof of bisimilarity, which is a congruence. We present the first canonical string encoding for pure and lean bigraphs by lifting the breadth-first canonical form of rooted unordered trees to a unique representation for bigraphs up to isomorphism (i.e., lean-support equivalence). The encoding’s applicability is limited to atomic alphabets. The time complexity is O(n2kdlogd)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$O(n^{2}k\, d \log {d})$$\end{document}, where n is the number of places, d the degree of the place graph and k the maximum arity of a bigraph’s signature. We provide proof of the correctness of our method and also conduct experimental measurements to assess the complexity.
... One of such formalisms which can be used for UAV swarms modeling are bigraphs with tracking. Bigraphs were introduced by R. Milner [26] as a formalism to model systems in which placement and intercommunication between elements play an important role. Despite its novelty, there are already few extensions that allow to broaden its applicability. ...
... Despite its novelty, there are already few extensions that allow to broaden its applicability. These are, among others, stochastic bigraphs [27], bigraphs with sharing [28] or bigraphs with tracking [26]. A quick introduction to bigraphs with a real-world use case can be found in [29]. ...
... In this paper, we will use simplified tracking reaction rules. We call them simplified because only vertices will be tracked between reactions, as opposed to the original bigraphs with tracking proposed by Milner [26], where both vertices and hyperedges were tracked between reactions. Informally, a reaction rule defines a pattern (redex) in a source bigraph that shall be replaced with another bigraph (reactum). ...
Article
Full-text available
Recently, there has been a fairly rapid increase in interest in the use of UAV swarms both in civilian and military operations. This is mainly due to relatively low cost, greater flexibility, and increasing efficiency of swarms themselves. However, in order to efficiently operate a swarm of UAVs, it is necessary to address the various autonomous behaviors of its constituent elements, to achieve cooperation and suitability to complex scenarios. In order to do so, a novel method for modeling UAV swarm missions and determining behavior for the swarm elements was developed. The proposed method is based on bigraphs with tracking for modeling different tasks and agents activities related to the UAV swarm mission. The key finding of the study is the algorithm for determining all possible behavior policies for swarm elements achieving the objective of the mission within certain assumptions. The design method is scalable, highly automated, and problem-agnostic, which allows to incorporate it in solving different kinds of swarm tasks. Additionally, it separates the mission modeling stage from behavior determining thus allowing new algorithms to be used in the future. Two simulation case studies are presented to demonstrate how the design process deals with typical aspects of a UAV swarm mission.
... We provide a verification framework based on Bi- graphs [8]-a graph-based universal modelling formalismthat models both BDI agents and environments. We build on previous work [9] on a bigraph encoding of CAN semantics [2] (that includes classical BDI features and advanced features such as declarative goals), that provides an executable semantics for BDI agents operating in a (dynamic) environment. ...
... Bigraphs are a graph-based universal modelling formalism, introduced by Milner [8] for describing systems with both spatial relationships and non-local linking. They have been used for modelling ubiquitous systems including [12], [13], and as a unifying theory of process calculi [14]. ...
... The question of isolation and encapsulation in process calculi is both ubiquitous, yet rarely explicit. Consider, for instance, Milner's Space and motion of communicating agents [38]: in the introduction, he mentions a list of important concepts to characterise the behaviour of ubiquitous systems, and "encapsulation" is one of them. The very notion of digraph, the model introduced in that book is, in essence, a model of graphs which nodes are digraphs themself, i.e. a form of nesting. ...
... , t i }, s and we want to take 37 In case we try to release an endpoint that was free (which is not possible in the implementation, since there is no double binds), the corresponding endpoint in the Role is not None but Some(_), which is nonetheless replaced by the new Some(r). 38 In the implementation, we introduce Labels in addition to Transitions. A Label contains only the elements of the transition that enforce synchronisation, i.e. the equivalent of Send(·, ·, ·), Expect(·, ·, ·), Receive(·, ·), Bind(·, ·, ·) and Release(··, ·,) tokens. ...
Thesis
Les systèmes informatiques fondés sur des composants facilitent la programmation grâce à la possibilité de composer différents petits atomes indépendants en aggrégats plus gros, réduisant la complexité individuelle de chaque atome. La contrepartie à ce modèle de programmation est l'apparition de nouvelles erreurs liés à la composition de ces éléments. Plusieurs approches ont été proposées afin de garantir la correction de la composition par rapport à une politique choisie. L'approche du modèle des graphes de localités consiste à autoriser ou d'interdire chaque transition de composant, en fonction de la topologie du graphe de composants au moment de la transition. Ce modèle s'illustre par la diversité des politiques qui peuvent être implémentées.Cette thèse est composée de deux parties : dans un premier temps, nous étudions la notion de d'encapsulation, héritée de la programmation orientée objet, dans le contexte de la programmation par composant, en prenant pour support le modèle des graphes de localités; dans un second temps, nous proposons une implémentation, sous la forme d'une bibliothèque logicielle pour le langage Rust, du modèle de graphes de localités. L'étude de la notion d'encapsulation nous a conduit à trois contributions majeures :(i) une nouvelle notion de bi simulation forte pour les graphes de localités, permettant la mise en relation d'instances de graphes de localités hétérogènes; (ii) la mise en évidence d'une notion forte d'encapsulation dans ce modèle; (iii) l'instanciation, à titre d'exemple, de plusieurs politiques d'encapsulation, illustrant à la fois la finesse et la diversitédes politiques disponibles avec les graphes de localités. Au-delà de la contribution que constitue en elle-même l'implémentation, nous avons implémenté plusieurs exemples non triviaux, illustrant, en pratique, une utilisation possible du modèle original.
... To demonstrate these features, we extend a model of Belief-Desire-Intention (BDI) agents proposed in [2] that presents an executable semantics of the CAN agent language [40] based on Milner's Bigraphs [18]. BDI agents [6,22] consist of, (B)eliefs: what the agent knows; (D)esires: what the agent wants to bring about; and (I)ntentions: the desires the agent is currently acting upon. ...
... We encoded the CAN semantics in bigraphs [18,2], which has been used previously to encode the semantics of process calculi [8,30]. Our bigraph encoding permits execution and symbolic analysis and we employ BigraphER [29]-an open-source language and toolkit for bigraphs-to generate (and export) a transition system for analysis with model checking tools e.g. ...
Conference Paper
Human-autonomy teaming (HAT) scenarios feature humans and autonomous agents collaborating to meet a shared goal. For effective collaboration, the agents must be transparent and able to share important information about their operation with human teammates. We address the challenge of transparency for Belief-Desire-Intention agents defined in the Conceptual Agent Notation (CAN) language. We extend the semantics to model agents that are observable (i.e. the internal state of tasks is available), and attention-directing (i.e. specific states can be flagged to users), and provide an executable semantics via an encoding in Milner's bigraphs. Using an example of unmanned aerial vehicles, the BigraphER tool, and PRISM, we show and verify how the extensions work in practice.
... However, some source code snippets are provided in appendix of their paper. [34] in order to formally model and verify Fog system's adaptative behavior [11]. ...
... The authors introduce a formal language based on the Bigraphical Reactive Systems (BRS for short). BRSs are a formal and compositional process algebra that provides both a textual and graphical representation of systems structure and behavior [34]. In particular, the proposed formalism provides the necessary building blocks to describe a Fog system consisting of Cloud and Fog layers. ...
Article
Full-text available
Fog Computing is a new paradigm aiming at decentralizing the Cloud by geographically distributing away computation, storage and network resources as well as related services. In order to design, develop, deploy, maintain and evolve Fog systems, languages are required for properly modeling both their entities (e.g., infrastructures, topologies, resources configurations) and their specific features such as the locality concept, QoS constraints applied on resources (e.g., energy, data privacy, latency) and their dependencies, the dynamicity of considered workloads, the heterogeneity of both applications and devices, etc. This paper provides a detailed overview of the current state-of-the-art in terms of Fog modeling languages. We relied on our long-term experience in Cloud Computing and Cloud Modeling to contribute a feature model describing what we believe to be the most important characteristics of Fog modeling languages. We also performed a systematic scientific literature search and selection process to obtain a list of already existing Fog modeling languages. Then, we evaluated and compared these Fog modeling languages according to the characteristics expressed in our feature model. As a result, we discuss in this paper the main capabilities of these Fog modeling languages and propose a corresponding set of open research challenges in this area. We expect the presented work to be helpful to both current and future researchers or engineers working on/with Fog systems, as well as to anybody genuinely interested in Fog Computing or more generally in distributed systems.
... Using bigraphs [23] to design multi-agent systems is a relatively new approach to modeling this kind of system. The bigraph theory was published by Robin Milner in 2008 but has already been extended with a notion of overlapping locations [24] and probability [25]. ...
... In [36] we have proposed a methodology based on bigraphs with tracking [23] that enables design of multi-agent systems. We have chosen tracking bigraphs primarily because they allow for analysis of objects' activities over time without introducing another layer of abstraction (as it was done, for example, in [34]). ...
Article
Full-text available
Widespread access to low-cost, high computing power allows for increased computerization of everyday life. However, high-performance computers alone cannot meet the demands of systems such as the Internet of Things or multi-agent robotic systems. For this reason, modern design methods are needed to develop new and extend existing projects. Because of high interest in this subject, many methodologies for designing the aforementioned systems have been developed. None of them, however, can be considered the default one to which others are compared to. Any useful methodology must provide some tools, versatility, and capability to verify its results. This paper presents an algorithm for verifying the correctness of multi-agent systems modeled as tracking bigraphical reactive systems and checking whether a behavior policy for the agents meets non-functional requirements. Memory complexity of methods used to construct behavior policies is also discussed, and a few ways to reduce it are proposed. Detailed examples of algorithm usage have been presented involving non-functional requirements regarding time and safety of behavior policy execution.
... To demonstrate these features, we extend a model of Belief-Desire-Intention (BDI) agents proposed in [2] that presents an executable semantics of the CAN agent language [40] based on Milner's Bigraphs [18]. BDI agents [6,22] consist of, (B)eliefs: what the agent knows; (D)esires: what the agent wants to bring about; and (I)ntentions: the desires the agent is currently acting upon. ...
... We encoded the CAN semantics in bigraphs [18,2], which has been used previously to encode the semantics of process calculi [8,30]. Our bigraph encoding permits execution and symbolic analysis and we employ BigraphER [29]-an open-source language and toolkit for bigraphs-to generate (and export) a transition system for analysis with model checking tools e.g. ...
Preprint
Human-autonomy teaming (HAT) scenarios feature humans and autonomous agents collaborating to meet a shared goal. For effective collaboration, the agents must be transparent and able to share important information about their operation with human teammates. We address the challenge of transparency for Belief-Desire-Intention agents defined in the Conceptual Agent Notation (CAN) language. We extend the semantics to model agents that are observable (i.e. the internal state of tasks is available), and attention-directing (i.e. specific states can be flagged to users), and provide an executable semantics via an encoding in Milner's bigraphs. Using an example of unmanned aerial vehicles, the BigraphER tool, and PRISM, we show and verify how the extensions work in practice.
... Virtual motion is an exterior (cooperative) process, driven by interior processes. In literature, this separation may be seen in descriptions of spacetime developed for computing, such as Milner's bigraphs, the Pi calculus, and Process Algebras [14], which are based on agents and graphs, spanning sets, and hierarchical graph embeddings [1,15], rather than on manifold embeddings of graphs. This may lead to some confusion on first reading, as it's hard to dissociate visualization from Euclidean space thinking. ...
... • The irreversible directionality of promises on a large scale-why do agents keep moving in a consistent direction that has already emerged 15 . This information must be carried with the virtual body that's moving. ...
Preprint
Full-text available
Virtual motion is a description of how observable properties move from location to location as a side effect of interior agent processes. Waves are one example of virtual motion-where a displacement function changes against the fixed positions of some medium as information. Other examples can be found in cloud computing, mobile telecommunications, and biology. Virtual transmission is qualitatively different from particle motion, where one assumes the existence of material carriers that are distinct from an empty background space. A collection of agents, which passes observable markers from agent to agent, is like a transport logistics chain. Because of the reversal of hierarchy , or 'inside out' representation, virtual motion has a structure much like quantum interactions, as well as the movement of money, embedded sensor signals, tasks, and information by computational processes. We define the concepts of position, time, velocity, mass, and acceleration for simple instantaneous transitions, and show that finiteness of agent resources implies a maximum speed for virtual motion at each location. The evolution of artificial network communications and advances in bioinformatics, in recent decades, underlines a need to write down the dynamical and semantic relationships for virtual motion, thus exposing dynamically similar phenomena that span disparate scales and bodies of knowledge. This work fuses interaction semantics in Promise Theory with ordinary scaling. In physics, it is normal to extrapole dynamical models causally downwards, by correspondence: the study of virtual motion offers an alternative bottom-up extrapolation.
... As a superset of AgentSpeak [1], Can includes advanced BDI agent behaviours such as reasoning with declarative goals, concurrency, and failure recovery, which are necessary for our smart manufacturing example modelled in Section 4. Importantly, although we focus on Can, the language features are similar to those of other mainstream BDI languages and the same modelling techniques would apply to other BDI programming languages. We build on our previous work on an executable semantics of Can [16], based on Milner's Bigraphs [17] and provide the resulting probabilistic executable semantics. ...
... Bigraphs are a graph-based universal modelling formalism, introduced by Milner [17], and extended to probabilistic systems [18]. As a graph-based rewriting formalism, over rules called reaction rules, bigraphs not only provide an intuitive diagrammatic representation, which is ideal for visualising the execution process of the systems, but also offer compositional reasoning via explicit abstractions (sites/regions/names), customised rewriting rules, and multiple ways to relate entities (placement and linking). ...
Chapter
The Belief-Desire-Intention (BDI) architecture is a popular framework for rational agents, yet most verification approaches are limited to analysing qualitative properties, for example whether an intention completes. BDI-based systems, however, operate in uncertain environments with dynamic behaviours: we may need quantitative analysis to establish properties such as the probability of eventually completing an intention. We define a probabilistic extension to the Conceptual Agent Notation (CAN) for BDI agents that supports probabilistic action outcomes, and probabilistic plan and intention selection. The semantics is executable via an encoding in Milner’s bigraphs and the BigraphER tool. Quantitative analysis is conducted using PRISM. While the new semantics can be applied to any CAN program, we demonstrate the extension by comparing with standard plan and intention selection strategies (e.g. ordered or fixed schedules) and evaluating probabilistic action executions in a smart manufacturing scenario. The results show we can improve significantly the probability of intention completion, with appropriate probabilistic distribution. We also show the impact of probabilistic action outcomes can be marginal, even when the failure probabilities are large, due to the agent making smarter intention selection choices.
... Bigraphs are a universal modelling formalism, used to represent both the spatial relationships of entities and their global interactions. Since their introduction by Milner [24], they have been used to model, amongst others: IoT/sensor systems [27,6], Mixed-Reality systems [9], networking protocols [10,11], security [1], and biological systems [18]. A bigraph consists of two graph-based structures over the same set of vertices: a place graph describing the nesting of entities, e.g. a device within a room, and a link graph describing non-local relationships through hyperedges, e.g. a device connected to (numerous) other devices regardless of location. ...
... Alternatively, we can build larger bigraphs through a tensor operation B 0 ⊗ B 1 that places bigraphs side-by-side. In general, bigraphs form a specific type of symmetric monoidal category [24], although we do not need the full power of this fact in this paper. ...
Conference Paper
Bigraphs simultaneously model the spatial and non-spatial relationships between entities, and have been used for systems modelling in areas including biology, networking, and sensors. Temporal evolution can be modelled through a rewriting system, driven by a matching algorithm that identifies instances of bigraphs to be rewritten. The previous state-of-the-art matching algorithm for bigraphs with sharing is based on Boolean satisfiability (SAT), and suffers from a large encoding that limits scalability and makes it hard to support extensions. This work instead adapts a subgraph isomorphism solver that is based upon constraint programming to solve the bigraph matching problem. This approach continues to support bigraphs with sharing, is more open to other extensions and side constraints, and improves performance by over two orders of magnitude on a range of problem instances drawn from real-world mixed-reality, protocol, and conference models.
... The preceding graphical representation is useful to model but unwieldy for reasoning. Fortunately, Milner [28] proposed the algebra description for bigraphs and BRS, which is called term languages. A part of the language is summarized in Table 2. U and V are controls of nodes. ...
... In the last formula, the node identified by the control K and port names in list w also contains U. Ports that appear in a formula with the same name are connected. The interested reader can refer to the work by Milner [28] for complete definitions and proofs of the theory. ...
Article
Full-text available
The cyber-physical space is a spatial environment that integrates the cyber and physical worlds to provide an intelligent environment for users to conduct their day-today activities. Mobile users and mobile objects are ubiquitous in this space, thereby exerting tremendous pressure on its security model. This model must ensure that both cyber and physical objects are always handled securely in this dynamic environment. In this paper, we propose a systematic solution to be able to specify security policies of the cyber-physical space and ensure that security requirements hold in these policies. We first formulate a topology configuration model to capture the topology characteristics of the cyber and physical worlds. Then, based on this model, a Topology-Aware CyberPhysical Access Control model (TA-CPAC) is proposed, which can ensure the security of the cyber and physical worlds at the same time by adjusting permission assignment dynamically. Then, the topology configuration and TA-CPAC models are formalized by bigraphs and Bigraph Reactive System (BRS), respectively, allowing us to use model checking to rationalize the consequences of the evolution of topological configurations on the satisfaction of security requirements. Finally, a case study on a building automation access control system is conducted to evaluate the effectiveness of the proposed approach.
... In this section, we show how we transform the proposed CLA4Fog architecture to a formal model defining any fog system's smart or flexible behaviour. First, we introduce the fundamental concepts of BRS (more details about BRS can be found in [10]). ...
... The parallel product (noted ) depicts the juxtaposition of two bigraphs; the fusion (noted |) is the fusion of the elements of two bigraphs; the imbrication (noted .) is the insertion of a node into another; and the identity (noted id) is the elementary bigraph (i.e., a region and a site). More details about bigraphs can be found in [10]. In bigraphs, sorts are used to classify controls and links. ...
Article
Full-text available
Fog systems are a new emergent technology having a wide range of architectures and pronounced needs making their design complex. Consequently, the design of fog systems is crucial, including service portability and interoperability between the various elements of a system being the most essential aspects of fog computing. This article presents a fog system cross-layer architecture as a first step of such a design to provide a graphical and conceptual description. Then, a BiAgents* (Bigraphical Agents) formal model is defined to provide a rigorous description of physical, virtual, and behavioural aspects of Fog systems. Besides, this formalisation is implemented and executed under a Maude strategy system. The proposed approach is illustrated through a case study: an airport terminal Luggage Inspection System (LIS) while checking the correctness of its relevant properties: the portability of data and their interoperability. The integration of the Maude strategies in the rewriting of Fog system states made it possible to guide the execution of the model and its analysis.
... Their formal semantics have been given in terms of bigraphs [42], a process meta-calculus consisting of two superimposed graphs. Such dynamic semantics are quite similar to graph transformation systems. ...
... Such dynamic semantics are quite similar to graph transformation systems. For the formal semantics-which are not covered in this paper-the interested reader can refer to the vast body of the literature on the topic [42]. Scoped to our framework, bigraphs can be described in terms of the following components: ...
Article
Full-text available
Engineering cyber-physical systems inhabiting contemporary urban spatial environments demands software engineering facilities to support design and operation. Tools and approaches in civil engineering and architectural informatics produce artifacts that are geometrical or geographical representations describing physical spaces. The models we consider conform to the CityGML standard; although relying on international standards and accessible in machine-readable formats, such physical space descriptions often lack semantic information that can be used to support analyses. In our context, analysis as commonly understood in software engineering refers to reasoning on properties of an abstracted model—in this case a city design. We support model-based development, firstly by providing a way to derive analyzable models from CityGML descriptions, and secondly, we ensure that changes performed are propagated correctly. Essentially, a digital twin of a city is kept synchronized, in both directions, with the information from the actual city. Specifically, our formal programming technique and accompanying technical framework assure that relevant information added, or changes applied to the domain (resp. analyzable) model are reflected back in the analyzable (resp. domain) model automatically and coherently. The technique developed is rooted in the theory of bidirectional transformations, which guarantees that synchronization between models is consistent and well behaved. Produced models can bootstrap graph-theoretic, spatial or dynamic analyses. We demonstrate that bidirectional transformations can be achieved in practice on real city models.
... The initial version of TIMO presented in [1] leads to some extensions: with access permissions in perTIMO [9], with real-time in rTIMO [10], combining TIMO and the bigraphs [11] to obtain the BigTiMo calculus [12]. However, in all these approaches an implicit knowledge is used inside the processes. ...
Article
Full-text available
We define a process calculus to describe multi-agent systems with timeouts for communication and mobility able to handle knowledge. The knowledge of an agent is represented as sets of trees whose nodes carry information; it is used to decide the interactions with other agents. The evolution of the system with exchanges of knowledge between agents is presented by the operational semantics, capturing the concurrent executions by a multiset of actions in a labelled transition system. Several results concerning the relationship between the agents and their knowledge are presented. We introduce and study some specific behavioural equivalences in multi-agent systems, including a knowledge equivalence able to distinguish two systems based on the interaction of the agents with their local knowledge.
... Hierarchical hypergraphs A variation on the previous example is obtained by allowing an edge to be mapped to an arbitrary subset of nodes. In this way, we obtain a category of hypergraphs whose edges form a tree order, corresponding to Milner's (pure) bigraphs [19], with possibly infinite edges 3 . Fig. 1. ...
Preprint
Full-text available
Adhesive \ categories$ provide an abstract framework for the algebraic approach to rewriting theory, where many general results can be recast and uniformly proved. However, checking that a model satisfies the adhesivity properties is sometimes far from immediate. In this paper we present a new criterion giving a sufficient condition for $\mathcal{M}, \mathcal{N}$-$adhesivity$ a generalisation of the original notion of adhesivity. We apply it to several existing categories, and in particular to $hierarchical \ graphs$, a formalism that is notoriously difficult to fit in the mould of algebraic approaches to rewriting and for which various alternative definitions float around.
... Among them, bigraphs are an expressive computational model, which provide better readability and ease of model extension through an intuitive graphical notation. Bigraphs [15] is a universal mathematical model for representing the spatial configuration of physical or virtual objects, their interaction capabilities, and temporal evolution [16]. A bigraph is a pair of relations over the same set of nodes: ...
Article
Full-text available
An Internet of Things (IoT) application typically involves implementations in both the device domain and the network domain. In this two-domain environment, it is possible that application developers implement the wrong network functions and/or connect some IoT devices that should never be linked, which result in the execution of wrong operations on network functions. To resolve these issues, we propose the VerificationTalk mechanism to prevent inappropriate IoT application deployment. VerificationTalk consists of two subsystems: the BigraphTalk subsystem which verifies IoT device configuration; and AFLtalk which validates the network functions. VerificationTalk provides mechanisms to conduct online anomaly detection by using a runtime monitor and offline by using American Fuzzy Lop (AFL). The runtime monitor is capable of intercepting potentially harmful data targeting IoT devices. When VerificationTalk detects errors, it provides feedback for debugging. VerificationTalk also assists in building secure IoT applications by identifying security loopholes in network applications. By the appropriate design of the IoTtalk execution engine, the testing capacity of AFLtalk is three times that of traditional AFL approaches.
... Processes can be connect to stores across a hierarchical representation of nested compartments. Vivarium uses a bigraph formalism [35] -a network with embeddable nodes that can be placed within other nodes, and which can be dynamically restructured. This contrasts with the standard "flat" network that has all nodes at a single level, and usually with fixed connectivity. ...
Article
Motivation: This paper introduces Vivarium-software born of the idea that it should be as easy as possible for computational biologists to define any imaginable mechanistic model, combine it with existing models, and execute them together as an integrated multiscale model. Integrative multiscale modeling confronts the complexity of biology by combining heterogeneous datasets and diverse modeling strategies into unified representations. These integrated models are then run to simulate how the hypothesized mechanisms operate as a whole. But building such models has been a labor-intensive process that requires many contributors, and they are still primarily developed on a case-by-case basis with each project starting anew. New software tools that streamline the integrative modeling effort and facilitate collaboration are therefore essential for future computational biologists. Results: Vivarium is a software tool for building integrative multiscale models. It provides an interface that makes individual models into modules that can be wired together in large composite models, parallelized across multiple CPUs, and run with Vivarium's discrete-event simulation engine. Vivarium's utility is demonstrated by building composite models that combine several modeling frameworks: agent based models, ordinary differential equations, stochastic reaction systems, constraint-based models, solid-body physics, and spatial diffusion. This demonstrates just the beginning of what is possible-Vivarium will be able to support future efforts that integrate many more types of models and at many more biological scales. Availability: The specific models, simulation pipelines, and notebooks developed for this paper are all available at the vivarium-notebooks repository: https://github.com/vivarium-collective/vivarium-notebooks. Vivarium-core is available at https://github.com/vivarium-collective/vivarium-core, and has been released on PyPI. The Vivarium Collective (https://vivarium-collective.github.io) is a repository of freely-available Vivarium processes and composites, including the processes used in Section 3. Supplementary materials provide with an extensive methodology section, with several code listings that demonstrate the basic interfaces.
... Obtaining such an account of reasoning requires a mathematical conception of the distributed systems metaphor on top of which interfaces and composition can be defined. Milner [36,37] considers the concept of interface from the point of view of a quite abstract graphical theory of processes. Our notion is more directly grounded in the concept of a distributed system, but we conjecture that the approaches can be understood comparatively. ...
Chapter
Full-text available
In a world of ever-increasing complexity, the smooth functioning of society is critically dependent on our ability to understand and manage both individual systems and complex ecosystems of systems. Models, combined with tools to reason about them, can provide a way to do this. In order for rigorous reasoning about models to be possible, they must have a robust mathematical foundation, which must also support tools for the engineering principles—compositionality, interfaces, and local reasoning—that are required to enable the practical construction of models of ecosystems. In this paper, we present a vision for a system of modelling, based on the concept of distributed systems as a metaphor for ecosystems of systems, that captures these requirements. We describe a mathematical foundation, identify the engineering principles needed, and show how they can be built in a rigorous way that preserves the ability to reason when dealing with complex, large-scale ecosystem models. We illustrate our ideas with examples and briefly explain how they apply in a practical modelling project.
... for i = 1, 2. Then we have the following frame rule: This rule is sound with respect to bisimulation equivalence. Milner [35,34] considers the concept of interface from the point of view of a quite abstract graphical theory of processes. Our notion is more directly grounded in the concept of a distributed system, but we conjecture that the approaches can be understood comparatively. ...
Chapter
Full-text available
Organizations today face a significant set of sophisticated information security threats, including rapidly spreading malware that can affect many devices across the organization. The impacts of such attacks are amplified by customers’ rising expectations of high-quality and rapid delivery of products and services, as well as by organizational attempts to increase demand artificially. This leads to the development of defence mechanisms that prioritize availability and integrity for the sake of reducing the overall time of organizational recovery. However, such mechanisms and strategies around recovery must suit the organization that deploys them. Each organization will have different priorities in terms of budget, speed of recovery, and priority of services or devices, and all of these will be impacted by the architecture of the organization and its networks. In this paper, we show how modelling can play a role in helping organizations understand the consequences of the different recovery mechanisms and strategies available to them. We describe a rigorous modelling framework and methodology grounded in mathematical systems modelling and simulation, and present as an example a comparative analysis of recovery strategies and mechanisms on a medium-scale organization.
... Robin's last phase of work was on bigraphs, culminating in his last book, published in 2009, on The Space and Motion of Communicating Agents [7]. ...
Preprint
We give a short appreciation of Robin Milner's seminal contributions to the theory of concurrency.
... We mention also the work of Robin Milner that highlights the importance of modelling agents networks in order to understand and optimize their behaviour. It proposes a unified structural theory based on bigraphs to represent MAS (Milner 2009). Besides, since Hendler's works Hendler (2001) and (2007), the concept of semantic web has aroused the curiosity of the multiagent community and we are today face a new vision for a new generation of autonomous systems on web called Hypermedia MAS (Ciortea et al., 2019). ...
Article
Full-text available
Openness is a challenging property that may characterize multi-agent systems (MAS). It refers to their ability to deal with entities leaving and joining agent society over time. This property makes the MAS behaviour complex and difficult to study and analyze, hence the need for a representative model allowing its understanding. In this context, many models were defined in the literature and we propose to classify them into three categories: structural models, functional models and interactional models. The existing models were proposed either for representing structural openness or for modelling functional or interactional ones independently. But, none of them was oriented to represent MAS openness in a global way while considering its three aspects at once. Besides, each one was defined in order to realize a specific objective and in a particular domain of application. In this paper, we propose an evolving KAGR graph. The latter provides a common understanding of openness and unifies its structural, functional and interactional aspects in a generic way. Our model is finally tested and validated on a multi-agent rescue simulator.
... The primary artifact in the process of designing and implementing a CPPS is the model. In such a model the emphasis falls, most of the time, on the interaction and cooperation between the heterogeneous components of the system, and not on the internal functionality of these components [20]. Therefore, classical approaches, from systems theory, cannot satisfactorily respond to these interaction modeling requirements [9,22]. ...
... The formal structure of a Vivarium model is a bigraph (which we also call a compartment hierarchy) of embedded compartments, based on the writings of Robin Milner [33]. A bigraph consists of two structures on the same set of nodes: (1) A topology is a bipartite graph of processes that connect to stores (Figure 2b), and (2) a hierarchy is a place graph of embedded compartments (Figure 2c). ...
Article
Full-text available
The degree to which we can understand the multi-scale organization of cellular life is tied to how well our models can represent this organization and the processes that drive its evolution. This paper uses Vivarium-an engine for composing heterogeneous computational biology models into integrated, multi-scale simulations. Vivarium's approach is demonstrated by combining several sub-models of biophysical processes into a model of chemotactic E. coli that exchange molecules with their environment, express the genes required for chemotaxis, swim, grow, and divide. This model is developed incrementally, highlighting cross-compartment mechanisms that link E. coli to its environment, with models for: (1) metabolism and transport, with transport moving nutrients across the membrane boundary and metabolism converting them to useful metabolites, (2) transcription, translation, complexation, and degradation, with stochastic mechanisms that read real gene sequence data and consume base pairs and ATP to make proteins and complexes, and (3) the activity of flagella and chemoreceptors, which together support navigation in the environment.
... Processes can be connect to stores across a hierarchical representation of nested compartments. Vivarium uses a bigraph formalism [35] -a network with embeddable nodes that can be placed within other nodes, and which can be dynamically restructured. This contrasts with the standard "flat" network that has all nodes at a single level, and usually with fixed connectivity. ...
Preprint
Full-text available
Motivation: This paper introduces Vivarium -- software born of the idea that it should be as easy as possible for computational biologists to define any imaginable mechanistic model, combine it with existing models, and execute them together as an integrated multiscale model. Integrative multiscale modeling confronts the complexity of molecular and cellular biology by combining heterogeneous datasets and diverse mechanistic modeling strategies into unified representations. These integrated models are then run to simulate how the hypothesized mechanisms operate as a whole. But building such models has been a labor-intensive process that requires many contributors, and they are still primarily developed on a case-by-case basis with each project starting anew. New software tools that streamline the integrative modeling effort and facilitate collaboration are therefore essential for future computational biologists. Results: Vivarium is a software tool for building integrative multiscale models. It provides an interface that can make any mechanistic model into a module that can be wired together into larger composite models and then parallelized and run across multiple CPUs with Vivarium's simulation engine. The utility of this software is demonstrated by building multi-paradigm composite models that combine several popular modeling frameworks: agent based models, ordinary differential equations, stochastic reaction systems, constraint-based models, solid-body physics, and spatial diffusion. This demonstration shows just the beginning of what is possible -- future efforts can integrate many more types of models and at many more biological scales.
Article
Turi and Plotkin's bialgebraic semantics is an abstract approach to specifying the operational semantics of a system, by means of a distributive law between its syntax (encoded as a monad) and its dynamics (an endofunctor). This setup is instrumental in showing that a semantic specification (a coalgebra) satisfies desirable properties: in particular, that it is compositional. In this work, we use the bialgebraic approach to derive well-behaved structural operational semantics of string diagrams, a graphical syntax that is increasingly used in the study of interacting systems across different disciplines. Our analysis relies on representing the two-dimensional operations underlying string diagrams in various categories as a monad, and their bialgebraic semantics in terms of a distributive law for that monad. As a proof of concept, we provide bialgebraic compositional semantics for a versatile string diagrammatic language which has been used to model both signal flow graphs (control theory) and Petri nets (concurrency theory). Moreover, our approach reveals a correspondence between two different interpretations of the Frobenius equations on string diagrams and two synchronisation mechanisms for processes, à la Hoare and à la Milner.
Article
In this paper, we present a process calculus called BigrTiMo that combines the rTiMo calculus and the Bigraph model. BigrTiMo calculus is capable of specifying a rich variety of properties for structure-aware mobile systems. Compared with rTiMo, our BigrTiMo calculus can specify not only time, mobility and local communication, but also remote communication. We then investigate the operational semantics of the BigrTiMo calculus and develop an executable formal specification of our BigrTiMo calculus in a declarative language called Maude. In addition, we verify safety properties and liveness properties of the mobile systems described by BigrTiMo using state exploration and LTL model checking in Maude. Based on Hoare and He's Unifying Theories of Programming (UTP), we study the semantic foundation of this highly expressive modelling language and propose a denotational semantic model and a set of algebraic laws for it. The semantic model in this paper covers time, location, communication and global shared variable at the same time. We also demonstrate the proofs of some algebraic laws based on our denotational semantics. Moreover, we explore how the algebraic semantics relates with the operational semantics and denotational semantics, which is conducted by the study of deriving the operational semantics and denotational semantics from algebraic semantics. We prove the equivalence between the derived transition system (e.g., the operational semantics) and the derivation strategy, which indicates that the operational semantics is sound and complete.
Chapter
Modern software systems are increasingly exhibiting dynamic-reconfiguration features analogous to naturally occurring phenomena where the architecture of a complex changes dynamically, at run time, on account of interactions between its components. This has led to a renewed interest in modal logics for formal system development, building on the intuitive idea that system configurations can be regarded as local models of a Kripke structure, while reconfigurations are captured by accessibility relations. We contribute to this line of research by advancing a modal logic with varying quantification domains that employs typed modalities and dedicated modal operators to specify and reason about a new generation of Kripke structures, called dynamic networks of interactions, that account for the context of a system’s dynamics, identifying which actants have triggered a reconfiguration and what are its outcomes. To illustrate the expressiveness of the formalism, we provide a specification of the biological process of membrane budding, which we then analyse using a sound and complete proof-by-translation method that links dynamic networks of interactions with partial first-order logic.
Article
The Belief-Desire-Intention (BDI) architecture is a popular framework for rational agents; existing verification approaches either directly encode simplified (e.g. lacking features like failure recovery) BDI languages into existing verification frameworks (e.g. Promela), or reason about specific BDI language implementations. We take an alternative approach and employ Milner's bigraphs as a modelling framework for a fully featured BDI language, the Conceptual Agent Notation (CAN)—a superset of AgentSpeak featuring declarative goals, concurrency, and failure recovery. We provide an encoding of the syntax and semantics of Can agents, and give a rigorous proof that the encoding is faithful. Verification is based on the use of mainstream software tools including BigraphER, and a small case study verifying several properties of Unmanned Aerial Vehicles (UAVs) illustrates the framework in action. The executable framework is a foundational step that will enable more advanced reasoning such as plan preference, intention priorities and trade-offs, and interactions with an environment under uncertainty.
Article
This paper presents a design method and tool developed to support the skill forming activities in the DigiFoF network ( https://www.digifof.eu/ ). The focus is on training of manufacturing system design skills both as HEI education and vocational training, but preliminary design of new manufacturing systems is also supported (e.g in the development of small business process scenarios). We proposed a model-based methodology for solving of the manufacturing system design problems The methodology and the supporting tool are centred around a less abstract Domain-Specific Modelling Language (DSML). The language is easy to learn due to its few components. A modelling and simulation environment named Digital Production Planner Tool (DPPT) was generated from the metamodel of the DSML. The degree of abstraction used by this tool corresponds well to the intended use in training and preliminary design. Our method incorporates by design the possibility to impose constraints at the modelling language level to limit the modelling space to feasible/possible solutions. The resulting tool enforces these constraints in the use and supports the development of feasible designs even by inexperienced designers. The access to the conceptual model allows the translation of the model to other modelling language like Petri net. This extends the support for the design methodology. The whitepaper presents a use case for the developed method and tool: the design of a chocolate manufacturing line.
Article
Elasticity is one of the important characteristics of cloud computing used to manage the fluctuating real time workload in the cloud environment. Cloud providers use this approach to perform resource provisioning or de-provisioning of various computing resources to manage real workload. It is challenging task for cloud providers to implement elasticity strategies for complex system to utilize the computing resources effectively due to the fluctuating nature of workload. To address this challenge, we use the Bigraphical Reactive Systems based approach to formally model the cloud elasticity structure through bigraphs and their dynamic behavior with the help of bigraphical reaction rules. This article focuses on addressing cross-layer elasticity i.e. the elasticity at service and infrastructure level. The system elasticity strategies are described to perform horizontal and vertical scaling of cloud system’s through auto-adaption of behaviors using bigraph formalism. Further, we convert the bigraphical specifications into the framework provided by the BigMC model checker tool for horizontal and vertical scaling and verify their correctness. BigMC is a counter-example based model checking tool, it provides an autonomic executability of the behaviors in the cloud systems.
Chapter
This chapter focuses on identifying a process of methodological conceptualization of a modelling method, in the context of categorical mechanisms, starting with the conceptualization phase of the domain and ending with its implementation and validation. Our approach is motivated by the finding that, at least in some phases, the process of conceptualization and implementation of the modelling method is not supported by sufficiently strong semantic foundations in relation to its importance. In this idea, we will pay special attention to the phase of mathematical formalization of the concept of modelling method by identifying or defining categorical mechanisms with implicit semantics appropriate to this concept. We will also identify a way to specify a modelling tool, independent of the metamodelling platform. Our approach is supported by conceptualizing and implementing a modelling method.KeywordsModelMetamodelModelling methodDomain-specific modelling languageCategorical sketchSemanticsSyntaxGraph transformationBehavioural rule
Chapter
Full-text available
Adhesive categories provide an abstract framework for the algebraic approach to rewriting theory, where many general results can be recast and uniformly proved. However, checking that a model satisfies the adhesivity properties is sometimes far from immediate. In this paper we present a new criterion giving a sufficient condition for M,N-adhesivity, a generalisation of the original notion of adhesivity. We apply it to several existing categories, and in particular to hierarchical graphs, a formalism that is notoriously difficult to fit in the mould of algebraic approaches to rewriting and for which various alternative definitions float around.
Article
Bigraphs are a universal computational modelling formalism for the spatial and temporal evolution of a system in which entities can be added and removed. We extend bigraphs to probabilistic bigraphs, and then again to action bigraphs, which include non-determinism and rewards. The extensions are implemented in the BigraphER toolkit and illustrated through examples of virus spread in computer networks and data harvesting in wireless sensor systems. BigraphER also supports the existing stochastic bigraphs extension of Krivine et al., and using BigraphER we give, for the first time, a direct implementation of the membrane budding model used to motivate stochastic bigraphs.
Article
Bigraphs and bigraphical reactive systems are a well-known meta-model successfully used for formalizing a wide range of models and situations, such as process calculi, service oriented architectures, multi-agent systems, biological systems, etc.. A key problem in both the theory and the implementations of bigraphs is how to compute embeddings, i.e., structure-preserving mappings of a given bigraph (the pattern or guest) inside another (the target or host). In this paper, we present an algorithm for computing embeddings for directed bigraphs, an extension of Milner's bigraphs which take into account the request directions between controls and names. This algorithm solves the embedding problem by means of a reduction to a constraint satisfaction problem. We first prove soundness and completeness of this algorithm; then we present an implementation in jLibBig, a general Java library for manipulating bigraphical reactive systems. The effectiveness of this implementation is shown by several experimental results. Finally, we show that this algorithm can be readily adapted to find the optimal embeddings in a weighted variant of the embedding problem.
Article
In an increasingly connected world, the internet of Things (IoT), Cloud and Fog computing are a major asset allowing to overcome previously inconceivable limits in terms of innovation. However, Fault Tolerance remains a major challenge for assuring IoT systems dependability. In order to tackle this issue, we propose a generic microservice architecture called FaTMA (Fault Tolerance- Microservice Architecture for IoT) permitting detection of Things failures by providing continuous and real-time monitoring of their states. In addition, it offers mechanisms to strengthen the reliability of the designed systems. We adopt Bigraphical Reactive Systems (BRS) as formalism to define a formal model that describes architectural elements of different IoT system layers and their behavior. It provides a clear separation between the various microservices controlling this system type and their side effects. Indeed, the execution of the proposed model, through BigraphER tool, permits to simulate and analyze different failure scenarios as well as their restitution strategies.
Chapter
Nowadays, mobile smartphones are being widely used. They allow users to access a variety of services provided by mobile applications (mobile apps). These services are location-based services, meaning that a user’s location is taken into consideration for service provision. Testing these mobile apps is challenging due to the complexity of context variability (i.e., a user’s location). Current testing approaches cannot efficiently handle dynamic variability of mobile apps. To solve this problem, this paper introduces a model-based testing approach of mobile apps that uses a combination of a Bigraphical Reaction System (BRS) model and a Dynamic feature Petri net (DFPN) for automatic generation of test cases. Our model addresses the mobile app testing challenges related to the context of mobile apps, and especially to changes in the context location.KeywordsMobile applications testingBigraphsDynamic feature Petri nets
Chapter
User interface description languages (UIDL) are high-level languages allowing to model user interfaces (UI). Their purpose is to ease the design of UIs. They are widely used, including to develop critical interactive systems. Nevertheless, the problem of verifying systems developed with UIDLs is barely addressed in the literature. The first step is to provide a formal semantics using an appropriate theory. We claim that the bigraphs theory is a good candidate theory. In this short paper, presenting a work in progress, we introduce the common features of UIDLs and show how bigraphs could be used to define UIDLs semantics and help with UI verification.KeywordsUser Interface Description LanguageGraphical user interfacesFormalisationBigraphs
Article
Full-text available
The Bigraphical Programming Language project at IT Uni-versity of Copenhagen contributes to the UKCRC Ubiquitous Computing Grand Challenge by researching the use of bigraphical reactive systems as a general framework in which to combine theories for design and analy-sis with techniques, tools and methodologies for engineering and systems building. Initial work has been addressing Context-awareness, business processes and Reactive XML, axiomatisation and matching, and higher-order mobile embedded resources. The UKCRC Ubiquitous Computing Grand Challenge (short, UCGC) was formed by merging two proposed grand challenges, one focused on the theory and one focused on engineering and systems building. Recently it has been broadened to include goals for the human experience of ubiquitous computing. The aim of the Bigraphical Programming Language (BPL) project at IT University of Copenhagen is to contribute to the UCGC by researching the use of Bigraphical Reactive Systems [13, 22, 23, 24] (BRS) as a foundation for the combination of theory and systems building for context-dependent mobile communicating systems. BRS is a general graphical semantical framework for reactive systems unifying the feature of dynamic communication links introduced with the π-calculus [25] and the feature of mobile nested spatial structures introduced with the Mobile Ambients calculus [8]. Loosely speaking, a bigraphical reactive system consists of set of bigraphs and a set of reaction rules, which can be used to reconfigure the set of bigraphs. BRSs have been developed with principally two aims in mind: (1) to be able to model directly important aspects of ubiquitous systems by focusing on mobile connectivity and mobile locality, and (2) to provide a unification of existing theories by developing a general theory, in which many existing calculi for concurrency and mobility may be represented, with a uniform behavioural theory. ⋆ Authors listed alphabetically.
Article
Full-text available
We study the algebraic structure of directed bigraphs, a bigraphical model of computations with locations, connections and resources previously introduced as a unifying generalization of other variants of bigraphs. We give a sound and complete axiomatization of the (pre)category of directed bigraphs. Using this axiomatization, we give an adequate encoding of the Fusion calculus, showing the utility of the added directness.
Article
Full-text available
We analyze the matching problem for bigraphs. In particular, we present a sound and complete inductive characterization of matching of binding bigraphs. Our results pave the way for a provably correct matching algorithm, as needed for an implementation of bigraphical reactive systems.
Article
Full-text available
Bigraphs have been introduced with the aim to provide a topographical meta-model for mobile, distributed agents that can manipulate their own linkages and nested locations, generalising both characteristics of the π-calculus and the Mobile Ambients calculus. We give the first bigraphical presentation of a non-linear, higher-order process calculus with nested locations, non-linear active process mobility, and local names, the calculus of Higher-Order Mobile Embedded Resources (Homer). The presentation is based on Milner's recent presentation of the λ-calculus in local bigraphs. The combination of non-linear active process mobility and local names requires a new definition of parametric reaction rules and a representation of the location of names. We suggest localised bigraphs as a generalisation of local bigraphs in which links can be further localised.
Article
Full-text available
We introduce G-relative-pushouts (GRPO) which are a 2-categorical generalisation of relative-pushouts (RPO). They are suitable for deriving labelled transition systems (LTS) for process calculi where terms are viewed modulo structural congruence. We develop their basic properties and show that bisimulation on the LTS derived via GRPOs is a congruence, provided that sufficiently many GRPOs exist. The theory is applied to a simple subset of CCS and the resulting LTS is compared to one derived using a procedure proposed by Sewell.
Conference Paper
Full-text available
As part of ongoing work on evaluating Milner's bigraphi- cal reactive systems, we investigate bigraphical models of context-aware systems, a facet of ubiquitous computing. We find that naively encod- ing such systems in bigraphs is somewhat awkward; and we propose a more sophisticated modeling technique, introducing Plato-graphical mod- els, alleviating this awkwardness. We argue that such models are useful for simulation and point out that for reasoning about such bigraphical models, the bisimilarity inherent to bigraphical reactive systems is not enough in itself; an equivalence between the bigraphical reactive systems themselves is also needed.
Conference Paper
Full-text available
Bigraphs have been introduced with the aim to provide a topographical meta-model for mobile, distributed agents that can manipulate their own communication links and nested locations. In this paper we examine a presentation of type systems on bigraphical systems using the notion of sorting. We focus our attention on the typed polyadic π-calculus with capability types `a la Pierce and Sangiorgi, which we represent using a novel kind of link sorting called subsorting. Using the theory of relative pushouts we derive a labelled transition system which yield a coinductive characterisation of a behavioural congruence for the calculus. The results obtained in this paper constitute a promising foundation for the presentation of various type systems for the (polyadic) π-calculus as sortings in the setting of bigraphs.
Conference Paper
Full-text available
We propose and formalize HomeBPEL, a higher-order WS- BPEL-like business process execution language where processes are rst- class values that can be stored in variables, passed as messages, and activated as embedded sub-instances. A sub-instance is similar to a WS- BPEL scope, except that it can be dynamically frozen and stored as a process in a variable, and then subsequently be thawed when reactivated as a sub-instance. We motivate HomeBPEL by an example of pervasive health care where treatment guidelines are dynamically deployed as sub processes that may be delegated dynamically to other workow engines and in particular stay available for disconnected operation on mobile devices. We provide a formal semantics based on binding bigraphical reactive systems implemented in the BPL Tool as part of the Bigraphical Programming Languages project at ITU. The semantics is an extension of a semantics given previously for a simplied subset of WS-BPEL and exploits the close correspondence between bigraphs and XML to provide a formalized run-time format very close to standard WS-BPEL syntax, which also constitutes the representation of frozen sub-instances.
Conference Paper
Full-text available
Bigraphs have been recently proposed as a meta-model for global computing resources; they are built orthogonally on two structures: a hierarchical 'place' graph for locations and a 'link' (hyper-)graph for connections. XML is now the standard meta-language for the data exchange and storage on the web. In this paper we address the similarities between bigraphs and XML and we pro- pose bigraphs as a rich model for XML (and XML contexts). Building on this idea we proceed by investigating how the recently proposed logic of BiLog can be instantiated to describe, query and reason about web data (and web contexts).
Conference Paper
Full-text available
The GUIDE system has been developed to provide city visitors with a hand-held context-aware tourist guide. The system has been successfully deployed in a major tourist destination and is currently at the stage where it is publicly available to visitors who wish to explore the city. Reaching this stage has been the culmination of a number of distinct research efforts. In more detail, the development of GUIDE has involved: capturing a real set of application requirements, investigating the properties of a cell-based wireless communications technology in a built-up environment and deploying a network based on this technology around the city, designing and populating an information model to represent attractions and key buildings within the city, prototyping the development of a distributed application running across portable GUIDE units and stationary cell-servers and finally, evaluating the entire system during an extensive field-trial study. This paper reports on our results in each of these areas. We believe that through our work on the GUIDE project we have produced a blueprint for the development of interactive context-aware systems that should be of real value to those in the community who wish to develop such systems in a practical environment.
Conference Paper
Full-text available
Bigraphs are emerging as an interesting model for concurrent calculi, like CCS, pi-calculus, and Petri nets. Bigraphs are built orthogonally on two structures: a hierarchical place graph for locations and a link (hyper-)graph for connections. With the aim of describing bigraphical structures, we introduce a general framework for logics whose terms represent arrows in monoidal cate- gories. We then instantiate the framework to bigraphical structures and obtain a logic that is a natural composition of a place graph logic and a link graph logic. We explore the concepts of separation and sharing in these logics and we prove that they generalise some known spatial logics for trees, graphs and tree contexts.
Conference Paper
Full-text available
We develop a theory of sorted bigraphical reactive systems. Every application of bigraphs in the literature has required an extension, a sorting, of pure bigraphs. In turn, every such application has required a redevelopment of the theory of pure bigraphical reactive systems for the sorting at hand. Here we present a general construction of sortings. The constructed sortings always sustain the behavioural theory of pure bigraphs (in a precise sense), thus obviating the need to redevelop that theory for each new application. As an example, we recover Milner’s local bigraphs as a sorting on pure bigraphs. Technically, we give our construction for ordinary reactive systems, then lift it to bigraphical reactive systems. As such, we give also a construction of sortings for ordinary reactive systems. This construction is an improvement over previous attempts in that it produces smaller and much more natural sortings, as witnessed by our recovery of local bigraphs as a sorting.
Conference Paper
Full-text available
We study the construction of labelled transition systems from reactive systems defined over directed bigraphs, a computational meta-model which subsumes other variants of bigraphs. First we consider wide transition systems whose labels are all those generated by the IPO construction; the corresponding bisimulation is always a congruence. Then, we show that these LTSs can be simplified further by restricting to a subclass of labels, which can be characterized syntactically. We apply this theory to the Fusion calculus: we give an encoding of Fusion in directed bigraphs, and describe its simplified wide transition system and corresponding bisimulation.
Conference Paper
Full-text available
The design of software systems that include mobility or dynamic reconfiguration of their components is becoming more frequent. Consequently, it is necessary to have the right tools to handle their description specially in the design phase. With this in mind and understanding the relevance of visual languages at the design level, we present in this paper a graphical model using Synchronized Hyperedge Replacement Systems with the addition of name mobility. This method gives a solid foundation for graphical mobile calculi which are well-suited for high level description of distributed and concurrent systems.
Article
Full-text available
A mathematical model for communicating sequential processes is given, and a number of its interesting and useful properties are stated and proved. The possibilities of nondetermimsm are fully taken into account.
Article
Specialized elements of hardware and software, connected by wires, radio waves and infrared, will be so ubiquitous that no one will notice their presence.
Article
Abstract We axiomatize the static congruence relation for binding bigraphs and prove that the generated theory is complete. In doing so, we also define a normal form for binding bigraphs, and prove that it is unique up to certain isomorphisms. Our work builds on Milner’s axioms for pure bigraphs. We have extended the set of axioms with 5 new axioms concerned with binding. Moreover, we have altered Milner’s axioms for ions, because ions in binding bigraphs have names on both their inner and outer face. The remaining axioms from Milner’s axiomatization are transfered straightforwardly.
Article
Process algebras can be enriched with localities that explicitly describe the distribution of processes. Localities may represent physical machines, or more generally distribution units where processes are grouped according to some criterion like the sharing of resources. In a concurrent process, localities are naturally associated with (groups of) parallel components. These localities then intervene in the semantics of processes and become part, to some extent, of their observable behaviour. In a first line of research, initiated in the early nineties, localities have been used to give noninterleaving semantics for process algebras, and particularly for Milner's calculus CCS. Here localities are used to differentiate parallel components. The resulting semantics, taking into account distribution, is more discriminating than the standard interleaving semantics of the calculus. It is also incomparable with other noninterleaving semantics proposed for CCS, based on the notion of causality. More recently, localities have appeared in a number of new calculi for describing mobile processes. The idea here is that some “network awareness” is required to model wide-area distributed mobile computation. In these calculi localities are more than simple units of distribution. According to the case, they become units of failure, of communication, of migration or of security. This chapter reviews in some detail the first body of work, and tries to delineate the main ideas of the more recent studies, which are still, for the most part, at an early stage of development.
Conference Paper
A notion of bigraph is introduced as a model of mobile interaction. A bigraph consists of two independent structures: a topograph representing locality and an edge net representing connectivity. Bigraphs arc equipped with reaction rules to form bigraphical reactive systems (BRSs), which include versions of the π-calculus and the ambient calculus. A behavioural theory is established, using the categorical notion of relative pushout; it allows labelled transition systems to be derived uniformly for a wide variety of BRSs, in such a way that familiar behavioural prcordcrs and equivalences, in particular bisimilarity, are congruential. An example of the derivation is discussed.
Article
Action structures have previously been proposed as an algebra for both the syntax and the semantics of interactive computation. Here, a class of concrete action structures called action calculi is identified, which can serve as a non-linear syntax for a wide variety of models of interactive behaviour. Each action in an action calculus is represented as an assembly of molecules; the syntactic binding of names is the means by which molecules are bound together. A graphical form, action graphs, is used to aid presentation. One action calculus differs from another only in its generators, called controls. Action calculi generalise a previously defined action structure for the -calculus. Several extensions to are given as action calculi, giving essentially the same power as the -calculus. An action calculus is also given for the typed -calculus, and for Petri nets parametrized on their places and transitions. An equational characterization of action calculi is given: each action calculus is the quotient of a term algebra by certain equations. The terms are generated by a set of operators, including those basic to all action structures as well as the controls specific to ; the equations are the basic axioms of action structures together with four additional axiom schemata.
Conference Paper
We introduce explicit fusions of names. To ‘fuse’ two names is to declare that they may be used interchangeably. An explicit fusion is one that can exist in parallel with some other process, allowing us to ask for instance how a process might behave in a context where x = y.We present the πF -calculus, a simple process calculus with explicit fusions. It is similar in many respects to the fusion calculus but has a simple local reaction relation. We give embeddings of the π-calculus and the fusion calculus.We provide a bisimulation congruence for the πF-calculus and compare it with hyper-equivalence in the fusion calculus.
Conference Paper
The dynamics of reactive systems, e.g. CCS, has often been defined using a labelled transition system (LTS). More recently it has become natural in defining dynamics to use reaction rules - i.e. unlabelled transition rules - together with a structural congruence. But LTSs lead more naturally to behavioural equivalences. So one would like to derive from reaction rules a suitable LTS. This paper shows how to derive an LTS for a wide range of reactive systems. A label for an agent a is defined to be any context F which intuitively is just large enough so that the agent Fa (“a in context F”) is able to perform a reaction. The key contribution of this paper is a precise definition of “just large enough”, in terms of the categorical notion of relative pushout (RPO), which ensures that bisimilarity is a congruence when sufficient RPOs exist. Two examples - a simplified form of action calculi and term-rewriting - are given, for which it is shown that sufficient RPOs indeed exist. The thrust of this paper is, therefore, towards a general method for achieving useful behavioural congruence relations.
Article
The dynamics of many calculi can be most clearly defined by a reduction semantics. To work with a calculus, however, an understanding of operational congruences is fundamental; these can often be given tractable definitions or characterisations using a labelled transition semantics. This paper considers calculi with arbitrary reduction semantics of three simple classes, firstly ground term rewriting, then left-linear term rewriting, and then a class which is essentially the action calculi lacking substantive name binding. General definitions of labelled transitions are given in each case, uniformly in the set of rewrite rules, and without requiring the prescription of additional notions of observation. They give rise to bisimulation congruences. As a test of the theory it is shown that bisimulation for a fragment of CCS is recovered. The transitions generated for a fragment of the Ambient Calculus of Cardelli and Gordon, and for SKI combinators, are also discussed briefly.
Article
We introduce a new kind of abstract machine based on the chemical metaphor used in the Γ language of Banâtre and Le Métayer. States of a machine are chemical solutions where floating molecules can interact according to reaction rules. Solutions can be stratified by encapsulating subsolutions within membranes that force reactions to occur locally. We illustrate the use of this model by describing the operational semantics of the TCCS and CCS process calculi and of the fragment of Milner, Parrow and Walker's Calculus of Mobile Processes used by Milner to encode the lambda-calculus. We also give ideas on how to extract a higher-order concurrent λ-calculus out of the basic concepts of the chemical abstract machine.
Article
Rewriting with conditional rewrite rules modulo a set E of structural axioms provides a general framework for unifying a wide variety of models of concurrency. Concurrent rewriting coincides with logical deduction in conditional rewriting logic, a logic of actions whose models are concurrent systems. This logic is sound and complete and has initial models. In addition to general models interpreted as concurrent systems which provide a more operational style of semantics, more restricted semantics with an incresingly denotational flavor such as preorder, poset, cpo, and standard algebraic models appear as special cases of the model theory. This permits dealing with operational and denotational issues within the same model theory and logic. A programming language called Maude whose modules are rewriting logic theories is defined and given denotational and operational semantics. Maude provides a simple unification of concurrent programming with functional and object-oriented programming and supports high level declarative programming of concurrent systems.
Article
We present an axiom system ACP, for communicating processes with silent actions (‘τ-steps’). The system is an extension of ACP, Algebra of Communicating Processes, with Milner's τ-laws and an explicit abstraction operator. By means of a model of finite acyclic process graphs for ACPτ, syntactic properties such as consistency and conservativity over ACP are proved. Furthermore, the Expansion Theorem for ACP is shown to carry over to ACPτ. Finally, termination of rewriting terms according to the ACPτ, axioms is probed using the method of recursive path orderings.
Article
Groupoidal relative pushouts (GRPOs) have recently been proposed by the authors as a new foundation for Leifer and Milner's approach to deriving labelled bisimulation congruences from reduction systems. In this paper, we develop the theory of GRPOs further, proving that well-known equivalences, other than bisimulation, are congruences. To demonstrate the type of category theoretic arguments which are inherent in the 2-categorical approach, we construct GRPOs in a category of ‘bunches and wirings.’ Finally, we prove that the 2-categorical theory of GRPOs is a generalisation of the approaches based on Milner's precategories and Leifer's functorial reactive systems.
In this paper the concurrent semantics of double-pushout (DPO) graph rewriting, which is classically defined in terms of shift-equivalence classes of graph derivations, is axiomatised via the construction of a free monoidal bi-category. In contrast to a previous attempt based on 2-categories, the use of bi-categories allows to define rewriting on concrete graphs. Thus, the problem of composition of isomorphism classes of rewriting sequences is avoided. Moreover, as a first step towards the recovery of the full expressive power of the formalism via a purely algebraic description, the concept of disconnected rules is introduced, i.e., rules whose interface graphs are made of disconnected nodes and edges only. It is proved that, under reasonable assumptions, rewriting via disconnected rules enjoys similar concurrency properties like in the classical approach.
Conference Paper
We present the fusion calculus as a significant step towards a canonical calculus of concurrency. It simplifies and extends the π-calculus. The fusion calculus contains the polyadic π-calculus as a proper subcalculus and thus inherits all its expressive power. The gain is that fusion contains actions akin to updating a shared state, and a scoping construct for bounding their effects. Therefore it is easier to represent computational models such as concurrent constraints formalisms. It is also easy to represent the so called strong reduction strategies in the λ-calculus, involving reduction under abstraction. In the λ-calculus these tasks require elaborate encodings. Our results on the fusion calculus in this paper are the following. We give a structured operational semantics in the traditional style. The novelty lies in a new kind of action, fusion actions for emulating updates of a shared state. We prove that the calculus contains the π-calculus as a subcalculus. We define and motivate the bisimulation equivalence and prove a simple characterization of its induced congruence, which is given two versions of a complete axiomatization for finite terms. The expressive power of the calculus is demonstrated by giving a straight-forward encoding of the strong lazy λ-calculus, which admits reduction under λ abstraction
Conference Paper
Abstract We study the distributed infrastructures required for location - independent communication between migrating agents These infrastructures are problematic: different ap - plications may have very different patterns of migration and communication, and require different performance and ro - bustness properties; algorithms must be designed with these in mind To study this problem we introduce an agent pro - Nomadic Pict gramming language - It is designed to allow infrastructure algorithms to be expressed as clearly as pos - sible, as translations from a high - level language to a low level The levels are based on rigorously - defined process calculi, they provide sharp levels of abstraction In this pa - per we describe the language and use it to develop an in - frastructure for an example application The language and examples have been implemented; we conclude with a de - scription of the compiler and runtime
Conference Paper
A bigraphical reactive system (BRS) involves bigraphs, in which the nesting of nodes represents locality, independently of the edges connecting them. BRSs represent a wide variety of calculi for mobility, including λ-calculus and ambient calculus. A labelled transition system (LTS) for each BRS is here derived uniformly, adapting previous work of Leifer and Milner, so that under certain conditions the resulting bisimilarity is automatically a congruence. For an asynchronous λ-calculus, this LTS and its bisimilarity agree closely with the standard.
Conference Paper
Bigraphical Reactive Systems have been proposed as a meta model for global ubiquitous computing generalising process calculi for mobility such as the pi-calculus and the Mobile Ambients calculus as well as graphical models for concurrency such as Petri Nets. We inves- tigate in this paper how Bigraphical Reactive Systems represented as Reactive XML can be used to provide a formal semantics as well as an extensible and mobile platform independent execution format for XML based business process and workflow description languages such as WS- BPEL and XPDL. We propose to extend the formalism with primitives for XPath evaluation and higher-order reaction rules to allow for a very direct and succinct semantics.
Conference Paper
The paper is concerned with ways in which fair concurrency can be modelled using notations for omega-regular languages — languages containing infinite sequences, whose recognizers are modified forms of Büchi or Muller-McNaughton automata. There are characterization of these languages in terms of recursion equation sets which involve both minimal and maximal fixpoint operators. The class of -regular languages is closed under a fair concurrency operator. A general method for proving/deciding equivalences between such languages is obtained, derived from Milner's notion of simulation.
Conference Paper
We present two process frameworks: the action calculi of Mil- ner, and the fusion systems of Gardner and Wischik.The action calculus framework is based on process constructs arising from the π-calculus. We give a non-standard presentation of the π-calculus, to emphasise the similarities between the calculus and the framework.The fusion system framework generalises a new process calculus called the πF-calculus.We describe the πF -calculus, which is based on different process constructs to those of the π-calculus, and show that the generalisation from the calculus to the framework is simple.We compare the frameworks by studying examples. In this paper, we describe two process frameworks: the action calculi of Milner ( Mil96 ), and the fusion systems of Gardner and Wischik ( GW99 ). The action calculus framework is based on process constructs arising from the π- calculus. We give a non-standard presentation of the π-calculus, to emphasise the similarities between the calculus and the framework. We also present the fusion system framework which generalises a new process calculus, called the πF-calculus ( GW00 ), in much the same way as the action calculus framework generalises the π-calculus. The πF -calculus is similar to the π-calculus in that its interactive behaviour is based on input and output processes, and different in that its underlying process structure is not the same. We describe the πF -calculus � The author acknowledges support of an EPSRC Advanced Fellowship.
Book
The Calculus of Communicating Systems (CCS) originates from Robin Milner. CCS deals with communication behaviours of (non-deterministic) finite state machines. Among the first publications on CCS is [Mil78]. In 1980, Milner published his first book on CCS [Mil80]; [Mil89] is an update of the previous book with many new results. The calculus is meant as a formal mathematical framework which can be used to specify communicating systems and to verify properties of them. A system is considered to consist of parts, each of which has an own identity, which persists through time. A system will be characterized by the actions it can perform.
Article
The intention of this contribution is to discuss the relationship between bigraphical reactive systems and the double pushout approach for graph transformation systens on a conceptual level. For this purpose we give a short introduction to the main concepts of both approaches, especially to bigraphs and double pushout transformations. The relationship between both approaches has been established concerning the following aspects: presentation and composition of graphs, categorical frameworks and transfer of concepts, rewrite relations and transformations. Especially, we point out which concepts correspond to each other and which of them have no counterpart in the other one. In some cases we are able to provide missing counterparts. Concerning the presentation of both approaches we abstract from some details, which are not essential for the comparison within the scope of this paper. On the other hand, we hope that our presentation is detailed enough for the bigraph and the double pushout community to achieve at least an intuitive understanding of each other. This should allow us to present a more formal relationship between the two approaches in forthcoming papers. In this sense we are confident that bigraphs and double pushouts are on the way to meet each other.
Article
An algebra G offlowgraphs or nets is presented It is shown to be a free algebra of a simple equatmnal system F, which is called the laws of flow This holds both for the algebra of fimte nets, and for the algebra of fimte or mfimte nets m which certain mfimte nets may be described by recursmn equatmns To demonstrate this fact, some results concerning categories of continuous algebras, which are explicit or lmphctt m the work of the ADJ group, are presented m a self-contained form. It follows that the algebra of processes (presented m a compamon paper (10)), which satisfies the laws of flow F, is a statable semanUcs for flowgraphs There are, however, many other mterpretatmns of nets, some of wMch wdl be studied m subsequent papers. This paper concludes wtth some simple examples of mfimte nets and informally discusses their possible interpretation
Article
A mathematical model of concurrent computation is presented. Starting from synchronized communication as the only primitive notion, a process is defined as a set of communication capabilities. The domain of processes is built using the weak powerdomain construction of M. Smyth. A minimal set of operations for composing processes is defined. These operations suggest a corresponding minimal syntax - the language of flowgraphs - in which to specify these compositions. The concept of flow algebra is defined; processes and flowgraphs are examples of flow algebras. It is shown that processes are a flow algebra, and therefore constitute a suitable semantics for flowgraphs. However, it is emphasized that the notion of flowgraph evolved from the notion of process and not the reverse.
Article
Since a nondeterministic and concurrent program may, in general, communicate repeatedly with its environment, its meaning cannot be presented naturally as an input/output function (as is often done in the denotational approach to semantics). In this paper, an alternative is put forth. First, a definition is given of what it is for two programs or program parts to be equivalent for all observers; then two program parts are said to be observation congruent if they are, in all program contexts, equivalent. The behavior of a program part, that is, its meaning, is defined to be its observation congruence class. The paper demonstrates, for a sequence of simple languages expressing finite (terminating) behaviors, that in each case observation congruence can be axiomatized algebraically. Moreover, with the addition of recursion and another simple extension, the algebraic language described here becomes a calculus for writing and specifying concurrent programs and for proving their properties.
Article
We present the π-calculus, a calculus of communicating systems in which one can naturally express processes which have changing structure. Not only may the component agents of a system be arbitrarily linked, but a communication between neighbours may carry information which changes that linkage. The calculus is an extension of the process algebra CCS, following work by Engberg and Nielsen, who added mobility to CCS while preserving its algebraic properties. The π-calculus gains simplicity by removing all distinction between variables and constants; communication links are identified by names, and computation is represented purely as the communication of names across links. After an illustrated description of how the π-calculus generalises conventional process algebras in treating mobility, several examples exploiting mobility are given in some detail. The important examples are the encoding into the π-calculus of higher-order functions (the λ-calculus and combinatory algebra), the transmission of processes as values, and the representation of data structures as processes. The paper continues by presenting the algebraic theory of strong bisimilarity and strong equivalence, including a new notion of equivalence indexed by distinctions—i.e., assumptions of inequality among names. These theories are based upon a semantics in terms of a labeled transition system and a notion of strong bisimulation, both of which are expounded in detail in a companion paper. We also report briefly on work-in-progress based upon the corresponding notion of weak bisimulation, in which internal actions cannot be observed.
Article
Petri nets are widely used to model concurrent systems. However, their composition and abstraction mechanisms are inadequate: we solve this problem in a satisfactory way. We start by remarking that place/transition Petri nets can be viewed as ordinary, directed graphs equipped with two algebraic operations corresponding to parallell and sequential composition of transitions. A distributive law between the two operations captures a basic fact about concurrency. New morphisms are defined, mapping single, atomic transitions into whole computations, thus relating system descriptions at different levels of abstraction. Categories equipped with products and coproducts (corresponding to parallel and nondeterministic compositions) are introduced for Petri nets with and without initial markings. Petri net duality is expressed as a duality functor, and several new invariants are introduced. A tensor product is defined on nets, and their category is proved to be symmetric monoidal closed. This construction is generalized to a large class of algebraic theories on graphs. These results provide a formal basis for expressing the semantics of concurrent languages in terms of Petri nets. They also provide a new understanding of concurrency in terms of algebraic structures over graphs and categories that should apply to other models besides Petri nets and thus contribute to the conceptual unification of concurrency.
Article
The basic algebraic structures within the categories of derivations determined by rewriting systems are presented. The similarity congruence relation in categories of derivations is given in three versions. The syntax category is formed by taking derivations modulo similarity. This category is a free strict monoidal category, a simple form of a 2-category. The syntax category is central to the study of rewriting systems, morphisms in the category generalizing the notion of “derivation tree,” so a detailed development is given. Griffith's interchange operators on derivations form a 2-category over a category of derivations. Representability of a similarity class is defined and shown to imply the existence of group of operators on the class, induced by interchanges. Uniform representability of rewriting systems is defined and shown to imply that the set of left divisors of each derivation in the syntax category is a distributive lattice.
Article
Monitoring, and command, communications and control1 of private vehicles on the public highway is now high on the po- litical agenda. This is both because it is becoming feasible, and because it may be desirable. From the economic per- spective, more efficient use of road resources may be achiev- able. From a safety perspective, it would clearly be good to reduce road injury and death statistics below the current "9/11"'s-worth per year in the UK (and other similar sized European countries). Various prototypes, proposals and projects are being un- dertaken. There are a number of technologies that interact as well as numerous legal, political and economic stakehold- ers. In this note, we pay particular attention to the impact on privacy and safety of different approaches to the overall problem.
Article
A framework,is defined within which reactive systems can be studied formally. The framework is based upon s-categories, a new variety of categories, within which reactive systems can be set up in such a way that labelled transition systemscan be uniformly extracted. These lead in turn to behavioural preorders and equivalences, such as the failures preorder (treated elsewhere) and bisimilarity, which are guaranteed to be congruential. The theory rests upon the notion of relative pushout previously introduced by the authors. The framework,is applied to a particular graphical model known as link graphs, which encompasses a variety of calculi for mobile distributed processes. The specific theory of link graphs is developed. It is then applied to an established calculus, namely condition-event Petri nets. In particular, a labelled transition system is derived for c ondition-event
Article
This paper axiomatises the structure of bigraphs, and proves that the resulting theory is complete. Bigraphs are graphs with double structure, representing locality and connectivity. They have been shown to represent dynamic theories for the $\pi$-calculus, mobile ambients and Petri nets in a way that is faithful to each of those models of discrete behaviour. While the main purpose of bigraphs is to understand mobile systems, a prerequisite for this understanding is a well-behaved theory of the structure of states in such systems. The algebra of bigraph structure is surprisingly simple, as this paper demonstrates; this is because bigraphs treat locality and connectivity orthogonally.
Article
The UK Computing Research Committee (UKCRC) mounted an exercise posing a number of Grand Challenges for computing research over the next two decades. One of these Challenges, "Ubiquitous Computing: Experience, Design and Science" proposes to develop ubiquitous computing by tackling social, technological, engineering and foundational questions in a closely coupled manner. The Steering Committee for the Grand Challenge identified six foothill projects: analyzing movement in a sentient environment; automating the highway; model-checking for ubiquity; rigorous protocol design; ubiquitous computing and the urban environment; and ubiquitous healthcare. All of these foothil topics are an integral part of the strategy for the Grand Challenge.