Protocol Modelling : Synchronous Composition of Data and Behaviour
Total Page:16
File Type:pdf, Size:1020Kb
ORBIT-OnlineRepository ofBirkbeckInstitutionalTheses Enabling Open Access to Birkbeck’s Research Degree output Protocol modelling : synchronous composition of data and behaviour https://eprints.bbk.ac.uk/id/eprint/40331/ Version: Full Version Citation: McNeile, Ashley (2016) Protocol modelling : synchronous composition of data and behaviour. [Thesis] (Unpublished) c 2020 The Author(s) All material available through ORBIT is protected by intellectual property law, including copy- right law. Any use made of the contents should comply with the relevant law. Deposit Guide Contact: email PROTOCOL MODELLING SYNCHRONOUS COMPOSITION OF DATA AND BEHAVIOUR π ω α Ashley McNeile June 2016 A thesis submitted to the University of London for the degree of Doctor of Philosophy Birkbeck, University of London Department of Computer Science and Information Systems Declaration This thesis is the result of my own work, except where explicitly acknowledged in the text. Ashley McNeile. June 2016. Abstract This thesis develops and explores a technique called Protocol Modelling, a mathe- matics for the description of orderings. Protocol Modelling can be viewed as a hybrid of object orientation, as it supports ideas of data encapsulation and object instantiation; and process algebra, as it supports a formally defined idea of process and process com- position. The first half of the thesis focuses on describing and defining the Protocol Modelling technique. A formal denotational semantics for protocol machines is developed and used to establish various properties; in particular that composition is closed and pre- serves type safety. The formal semantics is extended to cover instantiation of objects. Comparison is made with other process algebras and an approach to unification of different formulations of the semantics of process composition is proposed. The second half of the thesis explores three applications of Protocol Modelling: Object Modelling. This explores the use of Protocol Modelling as a medium for ob- ject modelling, and the facility to execute protocol models is described. Protocol Mod- elling is compared with other object modelling techniques; in particular by contrasting its compositional style with traditional hierarchical inheritance. Protocol Contracts. This proposes the use of protocol models as a medium for ex- pressing formal behavioural contracts. This is compared with more traditional forms of software contract in the generalization of the notion of contractual obligation as a mechanism for software specification. Choreographed Collaborations. In this application Protocol Modelling is used as a medium to describe choreographies for asynchronous multiparty collaborations. A compositional approach to choreography engineering, enabled by the synchronous semantics of Protocol Modelling, is explored and results established concerning suf- ficient conditions for choreography realizability. The results are extended to address choreographies that employ behavioural rules based on data. Acknowledgements A number of people deserve my gratitude for their contribution to my work. Michael Jackson was brave enough to allow me to work in his company, Michael Jackson Sys- tems Ltd., through the 1980s and it was during this time that I became fascinated by the challenge of modelling software behaviour. I would also like to thank the others at MJSL with whom I worked and engaged in enjoyable debates about all aspects of software engineering. Nick Simons made a very special contribution by collaborating with me in the de- velopment of the ModelScope tool. He did magnificent work in developing a textual concrete syntax for Protocol Modelling and writing the software that compiles and ex- ecutes the language. ModelScope has proved remarkably robust in use and this is a tribute both to Nick’s programming skills and to his wisdom in bouncing my specifi- cations back to me when he felt they were not of sufficient quality to implement. The development of the formal side of Protocol Modelling owes much to the en- ergy and enthusiasm of Ella Roubtsova. She has done a great deal to encourage me to develop and describe the ideas, as well as agreeing to co-author a number of pa- pers about Protocol Modelling and its applications. The rigour required to meet the standards of peer-reviewed publication provided the motivation to develop the for- mal basis for Protocol Modelling that is the backbone of this thesis and without Ella this would not have happened. I am grateful to my wife, Vicky, for throwing down the gauntlet represented by the completion of her own PhD in 2010. This challenge could not go unanswered. Her patience and support have been an enormous comfort when, unable to complete a proof, I have become frustrated and morose, sometimes for weeks on end. She has struggled magnificently to resist the temptation to have my computer crushed and/or me sectioned. I would like to thank my supervisors at Birkbeck, Trevor Fenner and Keith Mannock, for their wisdom and guidance; and my examiners, Emilio Tuosto and Mark Josephs, for their work in conducting my examination and for the benefit of their expertise. Contents Contents 6 List of Figures 13 I Protocol Modelling 15 1 Introduction 16 1.1 Origins ...................................... 16 1.1.1 Object Life-cycle Modelling ...................... 16 1.1.2 Process Algebra ............................. 19 1.2 Illustration of a Protocol Model ........................ 20 1.3 Introduction to the Basic Concepts ...................... 21 1.3.1 Action .................................. 22 1.3.2 Alphabet ................................. 22 1.3.3 Protocol Machine ............................ 23 1.3.4 Observation Universe ......................... 25 1.3.5 Protocol Model ............................. 25 2 Behaviour Modelling Concepts 26 2.1 Synchronous and Asynchronous Composition ............... 26 2.2 Independence and Dependence ....................... 29 2.3 Determinism .................................. 30 2.4 Post State Constraints and Guards ...................... 30 3 Thesis Structure and Contribution 32 3.1 Structure ..................................... 32 6 3.2 Contribution .................................. 33 3.3 Reading Guidance ............................... 35 II Semantics 36 4 Denotational Semantics 37 4.1 Data ....................................... 37 4.1.1 Finiteness ................................ 38 4.1.2 Consistency ............................... 39 4.1.3 Actions and Action Fields ....................... 39 4.1.4 Machine Attributes ........................... 40 4.1.5 Observation Universe ......................... 40 4.1.6 Universe Normal Form ........................ 42 4.1.7 Definition of Total Universe ...................... 43 4.1.8 Universe Well-Formedness ...................... 44 4.2 Protocol Machines ............................... 45 4.2.1 Formalization of Behaviour ...................... 46 4.2.2 Formalization of Protocol Machine ................. 49 4.2.3 Input and Output ............................ 51 4.2.4 Initiation ................................. 52 4.2.5 Discussion of Completions ...................... 52 4.2.6 Equality ................................. 55 4.2.7 State ................................... 57 4.2.8 Independence and Autonomy .................... 58 4.3 Composition .................................. 59 4.3.1 Formalization of Homogeneous Composition ........... 59 4.3.2 Machine Dependency ......................... 62 4.3.3 Properties of Homogeneous Composition .............. 64 4.3.4 Formalization of Heterogeneous Composition ........... 65 4.3.5 Properties of Heterogeneous Composition ............. 68 4.4 Protocol Models ................................ 68 4.4.1 Formalization of Model ........................ 68 4.4.2 Well-Behaved Machines ........................ 69 4.4.3 Robust Machines ............................ 72 7 4.4.4 Stored-State and Derived-State Machines .............. 73 4.4.5 Modes of Use .............................. 74 4.5 Alphabet ..................................... 75 4.5.1 Definition of Ignore ........................... 75 4.5.2 Closure of Ignore ............................ 76 4.5.3 Definition of Alphabet ......................... 76 4.5.4 Graphical Alphabet ........................... 78 4.6 Objects ...................................... 78 4.6.1 Object Identity ............................. 78 4.6.2 Object Machines and Object Models ................. 79 4.6.3 Instantiation ............................... 80 5 Discussion 82 5.1 Positioning ................................... 82 5.1.1 Style of Semantics ........................... 82 5.1.2 Conditions and Constraints ...................... 84 5.1.3 Parallelism and Concurrency ..................... 86 5.1.4 Data and Topology ........................... 88 5.1.5 Determinism and Repeatability .................... 90 5.1.6 Relationship to UML .......................... 96 5.2 Related Work .................................. 97 5.2.1 Shared Data in Process Algebra .................... 98 5.2.2 Synchronous Process Algebra ..................... 103 5.2.3 Coordination Schemes ......................... 103 5.2.4 Abstract State Machines ........................ 104 5.2.5 Synchronous Reactive Languages .................. 105 5.3 Summary .................................... 106 6 Topological Transformations 108 6.1 Topological Representation .......................... 108 6.1.1 Topology Formalism .......................... 108 6.1.2 Transitions, Paths and Traces ..................... 109 6.2 Topology Weaving