ICE 2021 Pre-Proceedings

Total Page:16

File Type:pdf, Size:1020Kb

ICE 2021 Pre-Proceedings ICE 2021 Pre-Proceedings Julien Lange Anastasia Mavridou Larisa Safina Alceste Scalas 15th June 2021 This document contains the informal pre-proceedings of the 14th Interaction and Concurrency Experience (ICE 2021). The post-proceedings will be published on EPTCS. Contents Keigo Imai, Rumyana Neykova, Nobuko Yoshida, and Shoji Yuen. Multiparty Session Programming with Global Protocol Combinators (oral communication) . 2 Bas van den Heuvel and Jorge A. P´erez. Deadlock Freedom for Asynchronous and Cyclic Process Networks ............ 4 Maurice Laveaux and Tim Willemse. Decomposing Monolithic Processes in a Process Algebra with Multi-actions . 22 Jovana Dedei´c,Jovanka Pantovi´c,and Jorge A. P´erez. On Encoding Primitives for Compensation Handling as Adaptable Processes (oral communication) . 44 Cl´ement Aubert and Daniele Varacca. Processes, Systems & Tests: Defining Contextual Equivalences . 49 Cinzia Di Giusto, Lo¨ıcGermerie Guizouarn, and Etienne Lozes. Towards Generalised Half-Duplex Systems ............................ 68 Benjamin Lion, Farhad Arbab, and Carolyn Talcott. A Semantic Model for Interacting Cyber-Physical Systems . 84 Mario Alvim, Bernardo Amorim, Sophia Knight, Santiago Quintero, and Frank Valencia. A Multi-Agent Model for Polarization under Confirmation Bias in Social Networks (oral communication) . 114 Alex Chambers and Sophia Knight. Expanding Social Polarization Models by Incorporating Belief Credibility (oral communication) . 120 1 Multiparty Session Programming with Global Protocol Combinators (Oral Contribution) Keigo Imai Rumyana Neykova [email protected] [email protected] Gifu Gifu University London Brunel University London Japan UK Nobuko Yoshida Shoji Yuen [email protected] [email protected] London Imperial College London Nagoya Nagoya University UK Japan Multiparty Session Types. Multiparty Session Types (MPST) behaviours coincides with the existence of least upper bound [1–3] is a theoretical framework that stipulates how to write, w.r.t. subtyping relation (Fig.3), on top of that the typing verify and ensure correct implementations of communica- of global combinators is implemented. We also briefly show tion protocols. The methodology of programming with MPST the channel vector semantics of global combinators, which (depicted in Fig.1) starts from a communication protocol gives the run-time entity of the multiparty channels using (a global type) which specifies the behaviour of a system of Concurrent ML’s standard Event module. interacting processes. The local behaviour (a local type) for each endpoint process is then algorithmically projected from Global Protocol File the protocol. Finally, each endpoint process is implemented in an endpoint host language and type-checked against its Well-formedness checking and Code generation respective local type by a session typing system. The guaran- Local type Local type Local type tee of session types is that a system of well-typed endpoint (Generated code) (Generated code) (Generated code) processes does not go wrong, i.e it does not exhibit commu- nication errors such as reception errors, orphan messages Type checking and Runtime linearity check or deadlocks, and satisfies session fidelity, i.e. the local be- Process Process Process haviour of each process follows the global specification. Java, Go, F#, Scala… Our approach. This talk presents ocaml-mpst, a library for programming MPST protocols in OCaml which allows Figure 1. State-of-the-art MPST implementations to specify, verify and implement MPST protocols in a single language, OCaml. Specifically, we introduce global combi- nators, a statically typed, embedded DSL (EDSL) for writing global types. Thus, an unsafe global protocol can be detected as a type error by OCaml typecher. Our approach consists of (1) the encoding of local types using variant and record (sub)typing (which are pervasive in functional programming languages), and (2) the formulation of global protocols as a term-level (not type-level) object, with a set of typing rules, which is designed to follow the projection algorithm, making the global combinators having the projected local behaviour in their types. The benefits of ocaml-mpst are that it is (1) lightweight – it does not depend on any external code-generation mecha- Figure 2. Merging in MPST nism, verification of global protocols is reduced to typability of global combinators; (2) fully-static – our embedding inte- grates with recent techniques for static checking of linearly References typed programming in OCaml [4, 5], and (3) expressive – we [1] Mario Coppo, Mariangiola Dezani-Ciancaglini, Luca Padovani, and can type strictly more processes than [6]. Nobuko Yoshida. 2015. A Gentle Introduction to Multiparty Asyn- In our talk, we introduce the design of global combinators chronous Session Types. In Formal Methods for Multicore Programming (Fig.2) and show our key finding that the merging of local (LNCS, Vol. 9104). Springer, 146–178. https://doi.org/10.1007/978-3-319- 18941-3_4 Imai, et al. Figure 3. Merging of local types in ocaml-mpst [2] Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty 27 (2019), 431–444. https://doi.org/10.2197/ipsjjip.27.431 asynchronous session types. In POPL’08. ACM, 273–284. [5] Keigo Imai, Nobuko Yoshida, and Shoji Yuen. 2018. Session-ocaml: a [3] Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty Session-based Library with Polarities and Lenses. Sci. Comput. Program. Asynchronous Session Types. J. ACM 63, 1 (2016), 9:1–9:67. https: 172 (2018), 135–159. https://doi.org/10.1016/j.scico.2018.08.005 //doi.org/10.1145/2827695 [6] Alceste Scalas and Nobuko Yoshida. 2016. Lightweight Session Pro- [4] Keigo Imai and Jacques Garrigue. 2019. Lightweight Linearly-typed Pro- gramming in Scala. In ECOOP (LIPIcs, Vol. 56). 21:1–21:28. https: gramming with Lenses and Monads. Journal of Information Processing //doi.org/10.4230/LIPIcs.ECOOP.2016.21 Deadlock Freedom for Asynchronous and Cyclic Process Networks* Bas van den Heuvel and Jorge A. Perez´ University of Groningen, The Netherlands This paper considers the challenging problem of establishing deadlock freedom for message-passing processes using behavioral type systems. In particular, we consider the case of processes that im- plement session types by communicating asynchronously in cyclic process networks. We present APCP, a typed process framework for deadlock freedom which supports asynchronous communica- tion, delegation, recursion, and a general form of process composition that enables specifying cyclic process networks. We discuss the main decisions involved in the design of APCP and illustrate its expressiveness and flexibility using several examples. 1 Introduction Modern software systems often comprise independent components that interact by passing messages. The π-calculus is a consolidated formalism for specifying and reasoning about message-passing pro- cesses [19, 20]. Type systems for the π-calculus can statically enforce communication correctness. In this context, session types are a well-known approach, describing two-party communication protocols for channel endpoints and enforcing properties such as protocol fidelity and deadlock freedom. Session type research has gained a considerable impulse after the discovery by Caires and Pfen- ning [7] and Wadler [28] of Curry-Howard correspondences between session types and linear logic [12]. Processes typable in type systems derived from these correspondences are inherently deadlock free. This is because the CUT-rule of linear logic imposes that processes in parallel must connect on exactly one pair of dual endpoints. However, whole classes of deadlock free processes are not expressible with the restricted parallel composition and endpoint connection resulting from CUT [9]. Such classes com- prise cyclic process networks in which parallel components are connected on multiple endpoints at once. Defining a type system for deadlock free, cyclic processes is challenging, because such processes may contain cyclic dependencies, where components are stuck waiting for each other. Advanced type systems that enforce deadlock freedom of cyclic process networks are due to Koba- yashi [17], who exploits priority annotations on types to avoid circular dependencies. Dardha and Gay bring these insights to the realm of session type systems based on linear logic by defining Priority-based CP (PCP) [8]. Indeed, PCP incorporates the type annotations of Padovani’s simplification of Kobayashi’s type system [21] into Wadler’s Classical Processes (CP) derived from classical linear logic [28]. In this paper, we study the effects of asynchronous communication on type systems for deadlock free cyclic process networks. To this end, we define Asynchronous PCP (APCP), which combines Dardha and Gay’s type annotations with DeYoung et al.’s semantics for asynchronous communication [10], and adds support for tail recursion. APCP uncovers fundamental properties of type systems for asynchronous communication, and simplifies PCP’s type annotations while preserving deadlock freedom results. *Research partially supported by the Dutch Research Council (NWO) under project No. 016.Vidi.189.046 (Unifying Cor- rectness for Communicating Software). Submitted to: This work is licensed under the ICE 2021 Creative Commons Attribution License. 2 Deadlock Freeodm for Asynchronous and Cyclic Process Networks In Section2, we motivate APCP by discussing Milner’s cyclic scheduler [19]. Section3 defines APCP’s language and type system, and proves Type
Recommended publications
  • Mobile Processes: a Commented Bibliography
    Mobile Processes: a Commented Bibliography Silvano Dal Zilio Microsoft Research Abstract. We propose a short bibliographic survey of calculi for mobile processes. Contrasting with other similar exercises, we consider two re- lated, but distinct, notions of mobile processes, namely labile processes, which can exhibit dynamic changes in their interaction structure, as mod- elled in the π-calculus of Milner, Parrow and Walker for example, and motile processes, which can exhibit motion, as modelled in the ambient calculus of Cardelli and Gordon. A common characteristic of the alge- braic frameworks presented in this paper is the use of names as first class values and the support for the dynamic generation of new, fresh names. 1 Introduction Process algebras have proved to be valuable mathematical tools to reason about the behaviour of concurrent and communicating systems. For more than ten years now, research has been conducted on semantics of higher-order processes that allow communication channels or even processes to be carried across by communications. Process calculi featuring the ability to dynamically create and exchange channel names are often referred to as mobile, a term popularised by the seminal introduction to the π-calculus [1], a prominent example of calculus with mobile processes. 1. Robin Milner, Joachim Parrow, David Walker: A Calculus of Mobile Pro- cesses, (parts I and II). Information and Computation 100(1) (1992) 1–77 2. Robin Milner: Communicating and Mobile Systems: the Pi-Calculus. Cam- bridge University Press (2000) Unfortunately, the term mobility is overloaded with meaning and the notion of mobility supported by the π-calculus encompasses only part of all the abstrac- tions meaningful to mobility in a distributed system.
    [Show full text]
  • A Survey of Reasoning Methods for Concurrent Systems
    A Survey of Reasoning Methods for Concurrent Systems Chun-Kun Wang Hao Xu Department of Computer Science Data Intensive Cyber Environment Center Univ. of North Carolina at Chapel Hill Univ. of North Carolina at Chapel Hill Chapel Hill, NC 27599, USA Chapel Hill, NC 27599, USA Email: [email protected] Email: [email protected] Abstract—The theory of parallel and distributed systems in tial studies of formal methods for concurrency reasoning. In computer science has been developing for decades. Multiple this paper, we do not compare reasoning methods down to the methods have emerged for the purpose of providing flexibility, last detail (i.e., syntax, inference rules and proof systems). We expressiveness and theories for concurrent processes. This paper provides a comparative introduction to the history of concurrent do, however, discuss concurrency reasoning approaches from systems reasoning and a decision tree to guide the choice of a a high-level and provide a comparative introduction to them. reasoning method accordingly. Our account on these matters is The authors would like to stress that our account on the incomplete. developmental history of concurrent systems reasoning is Index Terms—Concurrent systems, Formal methods, Program incomplete. The guides to select a method accordingly are logic, Process calculi. provided in this paper. Others may well have very different views. I. INTRODUCTION Concurrency theory has been developing for decades, yet II. HISTORY remains an unsolved problem today. Modern software heavily The history of reasoning concurrency dates back to the late relies upon the services provided by distributed systems, twentieth century. The foundations of early concurrency theory ranging from smartphone applications to social media.
    [Show full text]
  • Concurrent Programming CLASS NOTES
    COMP 409 Concurrent Programming CLASS NOTES Based on professor Clark Verbrugge's notes Format and figures by Gabriel Lemonde-Labrecque Contents 1 Lecture: January 4th, 2008 7 1.1 Final Exam . .7 1.2 Syllabus . .7 2 Lecture: January 7th, 2008 8 2.1 What is a thread (vs a process)? . .8 2.1.1 Properties of a process . .8 2.1.2 Properties of a thread . .8 2.2 Lifecycle of a process . .9 2.3 Achieving good performances . .9 2.3.1 What is speedup? . .9 2.3.2 What are threads good for then? . 10 2.4 Concurrent Hardware . 10 2.4.1 Basic Uniprocessor . 10 2.4.2 Multiprocessors . 10 3 Lecture: January 9th, 2008 11 3.1 Last Time . 11 3.2 Basic Hardware (continued) . 11 3.2.1 Cache Coherence Issue . 11 3.2.2 On-Chip Multiprocessing (multiprocessors) . 11 3.3 Granularity . 12 3.3.1 Coarse-grained multi-threading (CMT) . 12 3.3.2 Fine-grained multithreading (FMT) . 12 3.4 Simultaneous Multithreading (SMT) . 12 4 Lecture: January 11th, 2008 14 4.1 Last Time . 14 4.2 \replay architecture" . 14 4.3 Atomicity . 15 5 Lecture: January 14th, 2008 16 6 Lecture: January 16th, 2008 16 6.1 Last Time . 16 6.2 At-Most-Once (AMO) . 16 6.3 Race Conditions . 18 7 Lecture: January 18th, 2008 19 7.1 Last Time . 19 7.2 Mutual Exclusion . 19 8 Lecture: January 21st, 2008 21 8.1 Last Time . 21 8.2 Kessel's Algorithm . 22 8.3 Brief Interruption to Introduce Java and PThreads .
    [Show full text]
  • Abstractions for Mobile Computation.Fm
    Abstractions for Mobile Computation Luca Cardelli Microsoft Research Abstract. We discuss the difficulties caused by mobile computing and mobile com- putation over wide area networks. We propose a unified framework for overcoming such difficulties. 1 Introduction The Internet and the World-Wide-Web provide a computational infrastructure that spans the planet. It is appealing to imagine writing programs that exploit this global infrastruc- ture. Unfortunately, the Web violates many familiar assumptions about the behavior of dis- tributed systems, and demands novel and specialized programming techniques. In particular, three phenomena that remain largely hidden in local area network architectures become readily observable on the Web: • (A) Virtual locations. Because of the presence of potential attackers, barriers are erected between mutually distrustful administrative domains. Therefore, a program must be aware of where it is, and of how to move or communicate between different domains. The existence of separate administrative domains induces a notion of vir- tual locations and of virtual distance between locations. • (B) Physical locations. On a planet-size structure, the speed of light becomes tan- gible. For example, a procedure call to the antipodes requires at least 1/10 of a sec- ond, independently of future improvements in networking technology. This absolute lower bound to latency induces a notion of physical locations and physical distance between locations. • (C) Bandwidth fluctuations. A global network is susceptible to unpredictable con- gestion and partitioning, which result in fluctuations or temporary interruptions of bandwidth. Moreover, mobile devices may perceive bandwidth changes as a conse- quence of physical movement. Programs need to be able to observe and react to these fluctuations.
    [Show full text]
  • Review of the Π-Calculus: a Theory of Mobile Processes∗
    Review of The π-calculus: A Theory of Mobile Processes∗ Riccardo Pucella Department of Computer Science Cornell University July 8, 2001 Introduction With the rise of computer networks in the past decades, the spread of distributed applications with components across multiple machines, and with new notions such as mobile code, there has been a need for formal methods to model and reason about concurrency and mobility. The study of sequential computations has been based on notions such as Turing machines, recursive functions, the λ-calculus, all equivalent formalisms capturing the essence of sequential computations. Unfortunately, for concurrent programs, theories for sequential computation are not enough. Many programs are not simply programs that compute a result and return it to the user, but rather interact with other programs, and even move from machine to machine. Process calculi are an attempt at getting a formal foundation based on such ideas. They emerged from the work of Hoare [4] and Milner [6] on models of concurrency. These calculi are meant to model systems made up of processes communicating by exchanging values across channels. They allow for the dynamic creation and removal of processes, allowing the modelling of dynamic systems. A typical process calculus in that vein is CCS [6, 7]. The π-calculus extends CCS with the ability to create and remove communication links between processes, a new form of dynamic behaviour. By allowing links to be created and deleted, it is possible to model a form of mobility, by identifying the position of a process by its communication links. This book, “The π-calculus: A Theory of Mobile Processes”, by Davide Sangiorgi and David Walker, is a in-depth study of the properties of the π-calculus and its variants.
    [Show full text]
  • Concurrency Theory: a Historical Perspective on Coinduction and Process Calculi
    CONCURRENCY THEORY: A HISTORICAL PERSPECTIVE ON COINDUCTION AND PROCESS CALCULI Jos Baeten, Davide Sangiorgi Readers:Luca Aceto and Robert van Glabbeek 1 INTRODUCTION Computer science is a very young science, that has its origins in the middle of the twentieth century. For this reason, describing its history, or the history of an area of research in computer science, is an activity that receives scant attention. The discipline of computer science does not have a clear demarcation, and even its name is a source of debate. Computer science is sometimes called informatics or information science or information and communication science. A quote widely attributed to Edsger Dijkstra is Computer science is no more about computers than astronomy is about telescopes. If computer science is not about computers, what is it about? We claim it is about behavior. This behavior can be exhibited by a computer executing a program, but equally well by a human being performing a series of actions. In general, behavior can be shown by any agent. Here, an agent is simply an entity that can act. So, computer science is about behavior, about processes, about things happening over time. We are concerned with agents that are executing actions, taking input, emitting output, communicating with other agents. Thus, an agent has behavior, e.g., the execution of a software system, the actions of a machine or even the actions of a human being. Behavior is the total of events or actions that an agent can perform, the order in which they can be executed and maybe other aspects of this execution such as timing, probabilities or evolution.
    [Show full text]
  • Arxiv:Math/0703713V3 [Math.CT] 14 Nov 2007 6
    THE LOGIC OF MESSAGE PASSING J. R. B. COCKETT AND CRAIG PASTRO Abstract. Message passing is a key ingredient of concurrent programming. The purpose of this paper is to describe the equivalence between the proof theory, the categorical semantics, and term calculus of message passing. In order to achieve this we introduce the categorical notion of a linear actegory and the related polycategorical notion of a poly-actegory. Not surprisingly the notation used for the term calculus borrows heavily from the (synchronous) π- calculus. The cut elimination procedure for the system provides an operational semantics. Contents 1. Introduction 2 2. The logic of messages 6 2.1. A term calculus for Msg 6 2.2. Cut elimination for Msg 8 2.3. Equations in Msg 9 3. The logic of message passing 12 3.1. Term calculus for PMsg 13 3.2. A programming syntax term calculus 16 3.3. Cut elimination for PMsg 17 3.4. Equations in PMsg 21 4. Linear actegories 24 4.1. Linearly distributive categories 24 4.2. Linear actegories 25 5. Categorical semantics 33 5.1. The actions are functors 34 5.2. Identities 34 5.3. Associativity and interchange 35 5.4. The natural transformations 36 5.5. Completeness 39 arXiv:math/0703713v3 [math.CT] 14 Nov 2007 6. Representability and soundness 40 6.1. Poly-actegories and circuit representation 40 6.2. Representability of the actions 43 Date: 20 September 2007. Key words and phrases. message passing, concurrency, process semantics, linear logic, term logic, multicategory, polycategory, linearly distributive category, poly-actegory, linear actegory.
    [Show full text]
  • This Thesis Has Been Submitted in Fulfilment of the Requirements for a Postgraduate Degree (E.G
    This thesis has been submitted in fulfilment of the requirements for a postgraduate degree (e.g. PhD, MPhil, DClinPsychol) at the University of Edinburgh. Please note the following terms and conditions of use: • This work is protected by copyright and other intellectual property rights, which are retained by the thesis author, unless otherwise stated. • A copy can be downloaded for personal non-commercial research or study, without prior permission or charge. • This thesis cannot be reproduced or quoted extensively from without first obtaining permission in writing from the author. • The content must not be changed in any way or sold commercially in any format or medium without the formal permission of the author. • When referring to this work, full bibliographic details including the author, title, awarding institution and date of the thesis must be given. Type-parameterized Actors and Their Supervision Jiansen HE Master of Philosophy Department of Computer Science University of Edinburgh 2014 Acknowledgements This thesis is dedicated to my parents for their endless love and support. It is also dedicated to my wife, Shiye, for her continuous encouragement during my hard times. Meeting my wife and getting married are the best two things happened to me in the past 4 years. I want to thank my supervisors, Philip Wadler, Philip Trinder and Don Sannella, for their guidance over 4 years. I am fortunate to have been supervised by them. I want to thank my examiners, Ian Stark and Kevin Hammond, for their meticulous examination and detailed suggestions that contribute to the final version of this thesis. I gratefully acknowledge the substantial help that have received from many colleagues who have shared their related results and ideas over the long period during which this thesis was in preparation.
    [Show full text]
  • Specifying and Implementing Secure Mobile Applications in the Channel Ambient System
    University of London Imperial College of Science, Technology and Medicine Department of Computing Specifying and Implementing Secure Mobile Applications in the Channel Ambient System Andrew Nicholas John Brojer Phillips Submitted in part fulfilment of the requirements for the degree of Doctor of Philosophy in Computing of the University of London and the Diploma of Imperial College, October 2005 Abstract The Internet has grown substantially in recent years, and an increasing number of applications are now being developed to exploit this distributed infrastructure. Mobility is an important paradigm for such applications, where mobile code is supplied on demand and mobile components interact freely within a given network. However, mobile applications are difficult to develop: not only do they involve complex parallel interactions between multiple components, but they must also satisfy strict security requirements. One could argue that the development of such applications requires a rigorous means of describing and reasoning about mobile computation, through the use of an appropriate model. Foundational research by Cardelli and Gordon on the Ambient Calculus has shown that process calculi are a promising approach to modelling mobile computation. This thesis builds on more recent research in the field of process calculi, and presents a new model of computation known as the Channel Ambient calculus, which can be used both to specify mobile applications and to reason about their security properties. The primitives of the model were developed with real-world applications in mind, and are designed to be at a level of abstraction suitable for an application programmer. The thesis also bridges a gap between theory and implementation by defining a distributed abstract machine for the Channel Ambient calculus.
    [Show full text]
  • What Is a Good Process Semantics?
    What is a good process semantics? Robin Cockett [email protected] University of Calgary Estonia 2006: What is a good process semantics? July, 2006 – p. 1/61 What is a good process semantics? 1. Where are we? Where should we be? 2. Communication on a channel. 3. Polycategories and representability. 4. Communication on many channels. 5. Communication protocols. Estonia 2006: What is a good process semantics? July, 2006 – p. 2/61 1. Where are we? Where should we be? Estonia 2006: What is a good process semantics? July, 2006 – p. 3/61 Distributed computing: the reality ... In the 1970's networks, parallel, and distributed computing was going to solve everything! Practitioners pushed back with “the fallacies” (Joy, Lyon, Deutsch, Gosling): The network is reliable. Latency is zero. Bandwidth is infinite The network is secure. Topology doesn't change. Transport cost is zero. The network is homogeneous. Computing had blindly entered a new world of expectation and connectedness! There was no turning back ... Estonia 2006: What is a good process semantics? July, 2006 – p. 4/61 Practice ahead of theory ... Where was the theory? Where was the mathematics of processes, concurrency, communication? Was the theory only develop in response to practice? Was theory simply modeling practice? Should it? Was there a need to develop new theory ... .... or was it just taking time to link existing theory and practice? Does mathematics have anything insightful to say about communicating processes? Estonia 2006: What is a good process semantics? July, 2006 – p. 5/61 A brief history of process semantics ... Petri nets, C.
    [Show full text]
  • A General Overview of Formal Languages for Individual-Based
    A General Overview of Formal Languages for Individual-Based Modelling of Ecosystems Mauricio Toro Universidad Eafit mtorobe@eafit.edu.co Abstract Various formal languages have been proposed in the literature for the individual- based modelling of ecological systems. These languages differ in their treatment of time and space. Each modelling language offers a distinct view and techniques for analyzing systems. Most of the languages are based on process calculi or P systems. In this article, we present a general overview of the existing modelling languages based on process calculi. We also discuss, briefly, other approaches such as P systems, cellular automata and Petri nets. Finally, we show advantages and disadvantages of these modelling languages and we propose some future research directions. 1 Introduction The collective evolution of a group of individuals is of importance in many fields; for instance, in system biology, ecology and epidemiology. When modelling such systems, we want to know the emergent behavior of the whole population given a description of the low-level interactions of the individuals in the system. As an example, in eco-epidemiology the focus is on the evolution in time of the number of individuals infected in a certain population and how a small number of individuals infected may lead to an epidemic. arXiv:1901.10820v1 [cs.LO] 28 Jan 2019 Eco-epidemiology can be seen as a particular case of population ecology. The main aim of population ecology is to gain a better understanding of population dynamics and make predictions about how populations will evolve and how they will respond to specific management schemes.
    [Show full text]
  • 4.2.3 Advantages and Limitations of the Π Calculus
    DynamiTE: A 21st-Century Framework for Concurrent Component-Based Design Andrew John Hughes 11th of December 2009 This thesis is submitted for the degree of Doctor of Philosophy Department of Computer Science University of Sheffield Abstract The free ride for software developers is over. In the past, computer programs have increased in performance simply by running on new hardware with ever increasing clock speeds. Now, however, this line of development has reached its end and chip designers are producing new processors, not with faster clocks, but with more cores. To take advantage of the speed increases offered by these new products, applications need to be redesigned with parallel processing firmly in mind. The problem is that mainstream designs are still inherently sequential. Concur- rency tends to be an afterthought that may be useful to gain a performance boost, not an essential part of the design process. The current vogue for object-oriented designs tends to also have the side-effect of making them heavily data-oriented which doesn’t scale well; each shared element of data has to be protected from simultane- ous access, resulting in operations becoming sequential again. In addition, the usual methods for protecting data tend to be very low-level and error-prone. In this thesis, we introduce a new design method whereby applications are con- structed from small sequential tasks connected by intercommunication primitives. Our approach is based on a two-stage process; first, the individual tasks are cre- ated as independent entities and tested with appropriate inputs, then secondly, the communication infrastructure between them is developed.
    [Show full text]