Domain-Specific Modelling Languages in Bigraphs

Domain-Specific Modelling Languages in Bigraphs

Domain-Specific Modelling Languages in Bigraphs Gian Perrone IT University of Copenhagen Copenhagen, Denmark February 2013 Abstract Modelling is a ubiquitous activity in human endeavours, and the construc- tion of informatic models of many kinds is the key to understanding and managing the complexity of an increasingly computational world. We ad- vocate the use of domain-specific modelling languages, instantiated within a \tower" of models, in order to improve the utility of the models we build, and to ease the process of model construction by moving the languages we use to express such models closer to their respective domains. This thesis is concerned with the study of bigraphical reactive systems as a host for domain-specific modelling languages. We present a number of novel technical developments, including a new complete meta-calculus pre- sentation of bigraphical reactive systems, an abstract machine that instan- tiates to an abstract machine for any instance calculus, and a mechanism for defining declarative sorting predicates that always give rise to well- behaved sortings. We explore bigraphical refinement relations that permit formalisation of the relationship between different languages instantiated as bigraphical reactive systems. We detail a prototype verification tool for instance calculi, and provide a tractable heuristic for deciding reaction rule causation. Finally, we provide a mechanism for the modular construction of domain-specific modelling languages as bigraphical reactive systems, explor- ing the relationship between vertical refinement and language specialisation in this setting. The thesis is composed of several publications, augmented with new introductory and background material. Preface I joined the IT University of Copenhagen under the auspices of the Jingling Genies project not longer after the completion of the Bigraphical Program- ming Languages (BPL) project at ITU. The BPL project had made signif- icant progress in advancing the theory of bigraphs, although it was clear that there was still much to be done. Jingling Genies was a project focus- ing on context-aware services, and as a result, was an appropriate vehicle to continue the investigation of bigraphs. Although the vision of a bi- graphical programming language had not emerged as a reality during the BPL project, it became clear during the course of the Genie project that we could advance the state of the art in the construction of domain-specific modelling languages that specialise to a given domain and therefore provide better modelling primitives. During my time at ITU, I published the following papers, some of which appear in this thesis, or which form the basis for specific chapters: • Wusheng Wang, Gian Perrone, and Thomas Hildebrandt. Petri Nets in Bigraphs Revisited. Nordic Workshop on Programming Theory (NWPT 2012), 2012 (to appear). • Alexander Faithfull, Gian Perrone, and Thomas Hildebrandt. Big Red: A Development Environment for Bigraphs. Fourth International Workshop on Graph Computation Models (GCM 2012), 2012. • Marco Carbone, Thomas Hildebrandt, Gian Perrone, and Andrzej Wasowski. Refinement for Transition Systems with Responses. Fourth International Workshop on Foundations of Interface Technologies (FIT 2012), 2012. • Gian Perrone, Søren Debois, and Thomas Hildebrandt. A Model Checker for Bigraphs. ACM Symposium on Applied Computing | Software Verification and Tools Track (ACM SAC-SVT 2012), 2012. • Gian Perrone, Søren Debois, and Thomas Hildebrandt. Bigraphical Refinement. Refine '11: Proceedings of the 2011 International Refine- ment Workshop, 2011. This thesis represents the culmination of my work (and my work with co-authors) on domain-specific modelling languages in bigraphs. Acknowledgements It takes a village to raise a PhD thesis, and indeed it would take an entire forest of paper to properly thank everyone who deserves to be. A few individuals require special mention, however. To my supervisor Thomas Hildebrandt | you kept me on the path, steered me clear of any dangers, and tolerated my | ahem | occasional tardiness with characteristic good grace and humour, which is all one can really ask for in a supervisor. Søren Debois | I cannot thank you enough for how generously you gave of your time, your ideas, and your efforts. Yours was a constant reassuring presence whenever I didn't understand, because I could count on your patient willingness to teach and help. I also benefited from being in a stimulating, supportive environment at ITU, and I thank everyone who made it so. Lars Birkedal, Marco Carbone, Carsten Sch¨urmann,and Andrzej Wasowski deserve special mention for the help they gave me. I'm grateful to all the friends who helped me stay sane: Aaron, Alas- tair, Alec, Alyona, Anthony, Christina, Davide, Elena, Espen, Filip, Fiona, Francesco, Hugo, Jarmo, Jasmine, Josu, Maxime, Nick, Paolo B., Paolo T., Perry, Petra, Rob, Rosalba, Shane, Shaun, Taus, and Ziyad. The members of the Genie project taught me a lot about doing col- laborative research in an international way, and were very kind in helping me during visits to Beijing: Wang Wusheng, John Paulin Hansen, Jørgen Staunstrup, Arne Glenstrup, Ruth Sørensen, Yu Lian, Li Weiping, Lin Huiping, Mo Tong, Chu Weijie, Zhichao Zhang, and Nhi Quyen Le. I was lucky enough to be hosted as a visitor at many fine institutions, and I'm grateful to the academics and their groups that took the time to discuss research and host me: Steve Reeves, David Streader, Sarah Mount, Michael Goldsmith, Matthew Hennessy, Kenneth Holmqvist, Marino Miculan, and Emilio Tuosto. Finally, to my family: Rocky, Vye, John, Bella, and Andy. Thanks. Contents Contents vii List of Figures xi 1 Introduction 1 1.1 Explanation . 3 1.2 Space and Motion . 3 1.3 Domain-Specificity . 4 1.4 A Tower of Models . 6 1.5 Ubiquitous Computing . 7 1.6 Problem Formulation . 7 1.7 The State of the Art . 8 1.7.1 Syntax-Directed Approaches . 8 1.7.2 Semantics-Directed Approaches . 10 1.8 Contributions . 13 1.9 Structure of the Thesis . 14 2 Bigraphs 17 2.1 History . 18 2.1.1 Process Calculi . 19 2.1.2 Behavioural Theories . 21 2.1.3 π-calculus and Mobility . 22 2.1.4 Chemical Abstract Machine . 23 2.1.5 Action Calculi . 24 2.1.6 Mobile Ambients . 24 2.2 Anatomy of a Bigraph . 25 2.2.1 The Place Graph . 26 2.2.2 The Link Graph . 30 2.3 Bigraphs . 33 2.3.1 Bigraph Composition . 35 vii Contents 2.4 Matching and Reaction . 36 2.4.1 Parameter Instantiation . 40 2.4.2 Terminology . 40 2.4.3 Structural Constraints . 41 2.4.4 Wide Matching . 41 2.5 A Bigraph Term Representation . 41 2.5.1 BRS Contexts . 44 2.6 Categorical Foundations . 45 2.6.1 Bigraphical Categories . 46 2.6.2 Functors . 48 2.6.3 Bigraphical Reactive System Categories . 49 2.7 Sortings . 49 2.8 Representing Languages . 51 2.9 Computation . 52 2.10 Tools and Techniques . 53 2.10.1 Big Red . 53 2.10.2 BigMC . 53 2.11 Common Idioms for Modelling . 53 2.11.1 Sequences and Lists . 54 2.11.2 Corecursion . 55 3 BMC & BAM 57 3.1 Introduction . 58 3.2 A Bigraphical Meta-Calculus: BMC . 59 3.2.1 Pure Signatures and BMC Process Terms . 60 3.2.2 Declarative Sortings . 61 3.2.3 BMC Contexts and Composition . 63 3.2.4 BMC Reaction rules . 66 3.3 From BMC to BRS (and back again) . 68 3.3.1 Declarative Sortings . 70 3.3.2 Sorting Predicate Decomposability . 71 3.4 Bigraphical Abstract Machine . 74 3.4.1 Stochastic Simulation with BAM . 78 3.5 Related Work . 79 3.6 Conclusion and Future Work . 80 4 Bigraphical Refinement 83 4.1 Introduction . 85 4.1.1 Structure of the paper . 86 4.2 Bigraphical Reactive Systems . 86 viii Contents 4.2.1 Static Structure . 87 4.2.2 Notation . 90 4.2.3 Dynamics . 90 4.3 Example . 93 4.3.1 The abstract system: BRSnotify . 93 4.3.2 The concrete system: BRSselective . 95 4.4 Vertical BRS Refinement . 96 4.4.1 Safe refinements . 96 4.4.2 Live refinements . 101 4.5 Discussion & related work . 103 4.5.1 Related Work . 104 4.6 Conclusion . 105 4.7 Addendum: Stuttering . 105 4.7.1 Summary . 108 5 A Verification Environment for Bigraphs 109 5.1 Introduction . 111 5.1.1 Motivation . 112 5.1.2 Reachability Analysis . 112 5.1.3 Simulating Bigraphs . 113 5.1.4 Related Work . 113 5.1.5 Structure . 114 5.2 Bigraphs . 115 5.2.1 Static Structure . 116 5.2.2 Dynamics . 117 5.2.3 Term Language . 117 5.2.4 Properties . 118 5.3 Examples . 119 5.3.1 Dining Philosophers . 119 5.3.2 Example: Built environment . 120 5.3.3 Example: CCS . 121 5.4 Reachability Checking . 122 5.5 Static Analysis of Rules . 124 5.6 Performance . 128 5.7 Conclusion . 130 6 Scaffolding the Tower 131 6.1 Introduction . 131 6.1.1 Contributions . 133 6.1.2 Structure . 133 ix Contents 6.2 Recalling BMC . 133 6.3 A Language from Atoms . 136 6.3.1 Singleton Signatures . 137 6.3.2 Reaction . 140 6.3.3 Restriction . 141 6.3.4 Substitution . 142 6.3.5 Syntax . 146 6.3.6 Calculational sub-languages . 146 6.4 Translation to Bigraphs . 148 6.5 Refinement by Construction . 148 6.5.1 Relaxing Consistency . 151 6.6 Modular Construction of Actor Languages . 153 6.7 Related Work . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    193 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us