Automatic Mapping of ASSIST Applications Using Process Algebra 1. Introduction a Grid System Is a Geographically Distributed

Total Page:16

File Type:pdf, Size:1020Kb

Automatic Mapping of ASSIST Applications Using Process Algebra 1. Introduction a Grid System Is a Geographically Distributed Automatic mapping of ASSIST applications using process algebra Marco Aldinucci Inst. of Information Science and Technologies – National Research Council (ISTI–CNR) Via Moruzzi 1, Pisa I-56100, Italy [email protected] and Anne Benoit School of Informatics, The University of Edinburgh Mayfield Road, Edinburgh EH9 3JZ, Scotland, UK [email protected] ABSTRACT One of the most promising technical innovations in present-day computing is the in- vention of grid technologies which harness the computational power of widely distributed collections of computers. However, the programming and optimisation burden of a low level approach to grid computing is clearly unacceptable for large scale, complex ap- plications. The development of grid applications can be simplified by using high-level programming environments. In the present work, we address the problem of the mapping of a high-level grid application onto the computational resources. In order to optimise the mapping of the application, we propose to automatically generate performance mod- els from the application using the process algebra PEPA. We target applications written with the high-level environment ASSIST, since the use of such a structured environment allows us to automate the study of the application more effectively. Our methodology is presented through an example of a classical Divide&Conquer algorithm, together with results which demonstrate the efficiency of this approach. Keywords: high-level parallel programming; ASSIST environment; Performance Eval- uation Process Algebra (PEPA); automatic model generation; Divide&Conquer. 1. Introduction A grid system is a geographically distributed collection of possibly parallel, in- terconnected processing elements, which all run some form of common grid mid- dleware (e.g. Globus services) [11]. The key idea behind grid-aware applications is to make use of the aggregate power of distributed resources, thus benefiting from a computing power that falls far beyond the current availability threshold in a single site. However, developing programs able to exploit this potential is highly program- mer intensive. Programmers must design concurrent programs that can execute on large-scale platforms that cannot be assumed to be homogeneous, secure, reliable or centrally managed. They must then implement these programs correctly and effi- ciently. As a result, in order to build efficient grid-aware applications, programmers have to address the classical problems of parallel computing as well as grid-specific Third Workshop on High-Level Parallel Programming and Applications ones: 1. Programming: code all the program details, take care about concurrency ex- ploitation, among the others: concurrent activities set up, mapping/scheduling, communication/synchronisation handling and data allocation; 2. Mapping & Deploying: deploy application processes accordingly to a suitable mapping onto grid platforms. These may be highly heterogeneous in architec- ture and performance. Moreover, they are organised in a cluster-of-clusters fashion, thus exhibiting different connectivity properties among each pairs of platforms. 3. Dynamic environment: manage resource unreliability and dynamic availabil- ity, network topology, latency and bandwidth unsteadiness. Hence, the number and quality of problems to be resolved in order to draw a given QoS (in term of performance, robustness, etc.) from grid-aware applications is quite large. The lesson learnt from parallel computing suggests that any low-level approach to grid programming is likely to raise the programmer’s burden to an unacceptable level for any real world application. Therefore, we envision a layered, high-level programming model for the grid, which is currently pursued by several research initiatives and programming environments, such as ASSIST [18], eSkel [7], GrADS [16], ProActive [4], Ibis [17]. In such an environment, most of the grid specific efforts are moved from programmers to grid tools and run-time systems. Thus, the programmers have only the responsibility of organising the application specific code, while the programming tools (i.e. the compiling tools and/or the run- time systems) deal with the interaction with the grid, through collective protocols and services [10]. In such a scenario, the QoS and performance constraints of the application can either be specified at compile time or varying at run-time. In both cases, the run-time system should actively operate in order to fulfil QoS requirements of the application, since any static resource assignment may violate QoS constraints due to the very uneven performance of grid resources over time. As an example, AS- SIST applications exploit an autonomic (self-optimisation) behaviour. They may be equipped with a QoS contract describing the degree of performance the appli- cation is required to provide. The ASSIST run-time tries to keep the QoS contract valid for the duration of the application run despite possible variations of platforms performance at the level of grid fabric [3]. The autonomic features of an ASSIST application rely heavily on run-time application monitoring, and thus they are not fully effective for application deployment since the application is not yet running. In order to deploy an application onto the grid, a suitable mapping of application processes onto grid platforms should be established, and this process is quite critical for application performance. In this paper we address this problem by defining a performance model of an ASSIST application in order to statically optimise the mapping of the application onto a heterogeneous environment. The model is generated from the source code of the application, before the initial mapping. It is expressed with the process Automatic mapping of ASSIST applications using process algebra algebra PEPA [13], designed for performance evaluation. The use of a stochastic model allows us to take into account aspects of uncertainty which are inherent to grid computing, and to use classical techniques of resolution based on Markov chains to obtain performance results. This static analysis of the application is complementary with the autonomic reconfiguration of ASSIST applications, which works on a dynamic basis. In this work we concentrate on the static part to optimise the mapping, while the dynamic management is done at run-time. It is thus an orthogonal but complementary approach. Structure of the paper. The next section introduces the ASSIST high-level pro- gramming environment and its run-time. Section 3 introduces the Performance Evaluation Process Algebra PEPA, which is used to model ASSIST applications (Section 4). These performance models help to optimise the mapping of the appli- cation. We illustrate our approach on the Data Mining C4.5 algorithm, and per- formance results are provided to show the effectiveness of this approach. Finally, concluding remarks are given in Section 5, as well as future work directions. 2. The ASSIST environment and its run-time support ASSIST (A Software System based on Integrated Skeleton Technology) is a pro- gramming environment aimed at the development of distributed high-performance applications [18,2]. ASSIST applications should be compiled in binary packages which can be deployed and run on grids, including those exhibiting heterogeneous platforms. Deployment and run is provided through standard middleware services (e.g. Globus) enriched with the ASSIST run-time support. 2.1. The ASSIST coordination language ASSIST applications are described by means of a coordination language, which can express arbitrary graphs of modules, interconnected by typed streams of data. Each stream realises a one-way asynchronous channel between two sets of endpoint modules: sources and sinks. Data items injected from sources are broadcast to all sinks. All data items injected into a stream should match stream type. Modules can be either sequential or parallel. A sequential module wraps a sequential function. A parallel module (parmod) can be used to describe the parallel execution of a number of sequential functions that are activated and run as Virtual Processes (VPs) on items arriving from input streams. The VPs may synchronise with the others through barriers. The sequential functions can be programmed by using a standard sequential language (C, C++, Fortran). A parmod may behave in a data-parallel (e.g. SPMD/for-all/apply-to-all) or task-parallel (e.g. farm) way and it may exploit a distributed shared state which survives to VPs lifespan. A module can nondeterministically accept from one or more input streams a number of input items, which may be decomposed in parts and used as function parameters to instantiate VPs according to the input and distribution rules specified in the parmod. The VPs may send items or parts of items onto the output streams, and Third Workshop on High-Level Parallel Programming and Applications these are gathered according to the output rules. An ASSIST application is sketched in Appendix A. We briefly describe here how to code an ASSIST application and its modules; more details on the particular application in Appendix A are given in Section 4.1. In lines 5–6 four streams with type task t are declared. Lines 7–10 define endpoints of streams. Overall, lines 4–11 define the application graph of modules. In lines 14–18 two sequential modules are declared: these simply provide a container for a sequential function invocation and the binding between streams and function parameters. In lines 21–56 two parmods are declared. Each parmod is characterised
Recommended publications
  • A Framework for Performance Evaluation and Verification in Stochastic Process Algebras
    A Framework for Performance Evaluation and Functional Verification in Stochastic Process Algebras Hossein Hojjat MohammadReza Marjan Sirjani ∗ IPM and University of Tehran, Mousavi IPM and University of Tehran, Tehran, Iran TU/Eindhoven, Eindhoven, Tehran, Iran The Netherlands, and Reykjav´ık University, Reykjav´ık, Iceland ABSTRACT To make our goals concrete, we would like to translate Despite its relatively short history, a wealth of formalisms a number of SPAs which have similar semantic frameworks exist for algebraic specification of stochastic systems. The (e.g., PEPA [14], MTIPP [13], EMPA [4] and IMC [11]) goal of this paper is to give such formalisms a unifying frame- to a common form in the mCRL2 process algebra (which work for performance evaluation and functional verification. is a classic process algebra [2] enhanced with abstract data To this end, we propose an approach enabling a provably types). Our next milestone is to generate state space using sound transformation from some existing stochastic process the mCRL2 tool-set. Finally, we wish to be able to perform algebras, e.g., PEPA and MTIPP, to a generic form in the various functional- as well as performance-related analyses mCRL2 language. This way, we resolve the semantic dif- on the generated state space using available tools, as well as ferences among different stochastic process algebras them- tools that we develop for this purpose. selves, on one hand, and between stochastic process algebras For the ease of presentation, we shall focus on one of these and classic ones, such as mCRL2, on the other hand. From process algebras, namely PEPA (due to its popularity), in the generic form, one can generate a state space and perform the remainder of this paper and only touch upon the aspects various functional and performance-related analyses, as we in which our approach has to be adapted to fit the other pro- illustrate in this paper.
    [Show full text]
  • Evaluation of Parallel System Using Process Algebra
    International Journal of Innovative Technology and Exploring Engineering (IJITEE) ISSN: 2278-3075, Volume-8, Issue- 9S2, July 2019 Evaluation of Parallel System using Process Algebra Ankur Mittal, Abhilash, R.P. Mahapatra Abstract— In this paper we discuss method for efficiency these statements. In 1982, the term process Algebra was testing of a concurrent processes execution system. We use the given by Bergstra & klop.Since 1984 process Algebra is concept of process algebra, it is an algebraic technique for the used to denote an area of science. Here the term process study of execution of parallel processes. Mathematical language algebra was sometimes used to refer to their own Algebraic is use for building models of computing system which make records about the execution of the procedure. We use PEPA tool, approach for the study of concurrent processes, and TAPA tool for making model. These tools provide formal sometimes to such Algebraic approaches in general[2]. explanation of computing system models. The execution related The Algebraic approaches to concurrency are: data about the system will be use to check the execution 1. CCS: - Calculus of communicating system. efficiency of the procedure. Here we use concept of markov chain 2. CSP:-Communicating sequential processes. analysis for execution of the concurrent processes. 3. ACP:-Algebra of communicating processes. Keywords— Process Algebra, PEPA, TAPA, Parallel System II. CALCULUS OF COMMUNICATING SYSTEM I. INTRODUCTION (CCS): It is presented by Robin Milner in 1980. Its activities A. Algebra: model indissoluble correspondence between precisely two It is a part of science which explores the relations and members. It is a formal language, it include natives for properties of numbers by methods for general images.
    [Show full text]
  • Experiences with the PEPA Performance Modelling Tools
    Edinburgh Research Explorer Experiences with the PEPA performance modelling tools Citation for published version: Clark, G, Gilmore, S, Hillston, J & Thomas, N 1999, 'Experiences with the PEPA performance modelling tools', IEE Proceedings - Software, vol. 146, no. 1, pp. 11-19. https://doi.org/10.1049/ip-sen:19990149 Digital Object Identifier (DOI): 10.1049/ip-sen:19990149 Link: Link to publication record in Edinburgh Research Explorer Document Version: Peer reviewed version Published In: IEE Proceedings - Software General rights Copyright for the publications made accessible via the Edinburgh Research Explorer is retained by the author(s) and / or other copyright owners and it is a condition of accessing these publications that users recognise and abide by the legal requirements associated with these rights. Take down policy The University of Edinburgh has made every reasonable effort to ensure that Edinburgh Research Explorer content complies with UK legislation. If you believe that the public display of this file breaches copyright please contact [email protected] providing details, and we will remove access to the work immediately and investigate your claim. Download date: 29. Sep. 2021 Experiences with the PEPA Performance Modelling Tools Graham Clark Stephen Gilmore Jane Hillston Nigel Thomas Abstract The PEPA language [1] is supported by a suite of modelling tools which assist in the solution and analysis of PEPA models. The design and development of these tools have been influenced by a variety of factors, including the wishes of other users of the tools to use the language for purposes which were not anticipated by the tool designers. In consequence, the suite of PEPA tools has adapted to attempt to serve the needs of these users while continuing to support the language designers themselves.
    [Show full text]
  • Models of Computation
    Roberto Bruni, Ugo Montanari Models of Computation – Monograph – May 20, 2016 DRAFT Springer Mathematical reasoning may be regarded rather schematically as the exercise of a combination of two facilities, which we may call intuition and ingenuity. Alan Turing1 DRAFT 1 The purpose of ordinal logics (from Systems of Logic Based on Ordinals), Proceedings of the London Mathematical Society, series 2, vol. 45, 1939. Preface The origins of this book lie their roots on more than 15 years of teaching a course on formal semantics to graduate Computer Science to students in Pisa, originally called Fondamenti dell’Informatica: Semantica (Foundations of Computer Science: Seman- tics) and covering models for imperative, functional and concurrent programming. It later evolved to Tecniche di Specifica e Dimostrazione (Techniques for Specifications and Proofs) and finally to the currently running Models of Computation, where additional material on probabilistic models is included. The objective of this book, as well as of the above courses, is to present different models of computation and their basic programming paradigms, together with their mathematical descriptions, both concrete and abstract. Each model is accompanied by some relevant formal techniques for reasoning on it and for proving some properties. To this aim, we follow a rigorous approach to the definition of the syntax, the typing discipline and the semantics of the paradigms we present, i.e., the way in which well-formed programs are written, ill-typed programs are discarded and the way in which the meaning of well-typed programs is unambiguously defined, respectively. In doing so, we focus on basic proof techniques and do not address more advanced topics in detail, for which classical references to the literature are given instead.
    [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]
  • Arxiv:2106.04512V2 [Cs.MA] 22 Jun 2021 Used by the Winning Team from MAPC 2019, the Liverpool Formidable Constructors (LFC) [8]
    Formal Verification of a Map Merging Protocol in the Multi-Agent Programming Contest∗ Matt Luckcuck Department of Computer Science, Maynooth University, Ireland Rafael C. Cardoso Department of Computer Science, The University of Manchester, United Kingdom 23rd June 2021 Abstract Communication is a critical part of enabling multi-agent systems to cooperate. This means that ap- plying formal methods to protocols governing communication within multi-agent systems provides useful confidence in its reliability. In this paper, we describe the formal verification of a complex communication protocol that coordinates agents merging maps of their environment. The protocol was used by the LFC team in the 2019 edition of the Multi-Agent Programming Contest (MAPC). Our specification of the protocol is written in Communicating Sequential Processes (CSP), which is a well-suited approach to specifying agent communication protocols due to its focus on concur- rent communicating systems. We validate the specification’s behaviour using scenarios where the correct behaviour is known, and verify that eventually all the maps have merged. 1 Introduction The Multi-Agent Programming Contest1 (MAPC) is an annual challenge to foster the development and research in multi-agent programming. Every couple of years a new challenge scenario is proposed, otherwise, some additions and extensions are made to make the scenario from the previous year more challenging. The 2019 edition of MAPC [1] introduced the Agents Assemble scenario, where two teams of multiple agents compete to assemble complex block structures. Agents have incomplete information about their grid map environment. They are only able to perceive what is inside their limited range of vision.
    [Show full text]
  • The Bond-Calculus: a Process Algebra for Complex Biological Interaction Dynamics
    The Bond-Calculus: A Process Algebra for Complex Biological Interaction Dynamics Thomas Wright, Ian Stark Laboratory for Foundations of Computer Science, School of Informatics, University of Edinburgh, UK {thomas.wright, ian.stark}@ed.ac.uk May 1, 2018 Abstract We present the bond-calculus, a process algebra for modelling biological and chemical systems featur- ing nonlinear dynamics, multiway interactions, and dynamic bonding of agents. Mathematical models based on differential equations have been instrumental in modelling and understanding the dynamics of biological systems. Quantitative process algebras aim to build higher level descriptions of biological systems, capturing the agents and interactions underlying their behaviour, and can be compiled down to a range of lower level mathematical models. The bond-calculus builds upon the work of Kwiatkowski, Banks, and Stark’s continuous pi-calculus by adding a flexible multiway communication operation based on affinity patterns and general kinetic laws. We develop a compositional semantics based on vector fields and linear operators, which we use to define the time evolution of this system. This enables sim- ulation and analysis via differential equation generation or stochastic simulation. Finally, we apply our framework to an existing biological model: Kuznetsov’s classic model of tumour immune interactions. Contents 1 Introduction 1 1.1 Related work . .7 2 Semantics and simulation 8 2.1 Species transition system . .8 2.2 Structural congruence and prime species . .9 2.3 Mixture semantics .
    [Show full text]
  • DIT - University of Trento S    W S
    PhD Dissertation International Doctorate School in Information and Communication Technologies DIT - University of Trento Statistical model checking of Web Services Stefano Schivo Advisor: Prof. Paola Quaglia Universita` degli Studi di Trento 2010 Imagination, not intelligence, made us human. Terry Pratchett Abstract In recent years, the increasing interest on service-oriented paradigm has given rise to a series of supporting tools and languages. In particular, COWS (Calculus for Orchestration of Web Services) has been attracting the attention of part of the scientific community for its peculiar effort in formalising the semantics of the de facto standard Web Services orchestration language WS-BPEL. The purpose of the present work is to provide the tools for representing and evaluat- ing the performance of Web Services modelled through COWS. In order to do this, a stochastic version of COWS is proposed: such a language allows us to describe the performance of the modelled systems and thus to represent Web Services both from the qualitative and quantitative points of view. In particular, we provide COWS with an extension which maintains the polyadic matching mechanism: this way, the language will still provide the capability to explicitly model the use of session identifiers. The resulting Scows is then equipped with a software tool which allows us to effectively perform model checking without incurring into the problem of state- space explosion, which would otherwise thwart the computation efforts even when checking relatively small models. In order to obtain this result, the proposed tool relies on the statistical analysis of simulation traces, which allows us to deal with large state-spaces without the actual need to completely explore them.
    [Show full text]
  • Structural Operational Semantics for Stochastic Process Calculi
    Structural Operational Semantics for Stochastic Process Calculi Bartek Klin1 and Vladimiro Sassone2 1 Warsaw University, University of Edinburgh 2 ECS, University of Southampton Abstract. A syntactic framework called SGSOS, for defining well-behaved Mar- kovian stochastic transition systems, is introduced by analogy to the GSOS con- gruence format for nondeterministic processes. Stochastic bisimilarity is guaran- teed a congruence for systems defined by SGSOS rules. Associativity of parallel composition in stochastic process algebras is also studied within the framework. 1 Introduction Process algebras such as CCS [18] or CSP [5] are widely accepted as useful tools for compositional modeling of nondeterministic, communicating processes. Their se- mantics is usually described within the framework of Structural Operational Semantics (SOS) [19], where labelled nondeterministic transition systems (LTSs) are defined by induction on the syntactic structure of processes. Formalisms for SOS decriptions of nondeterministic systems have been widely studied and precisely defined (see [1] for a survey). In particular, several syntactic formats have been developed that guarantee certain desirable properties of the induced systems, most importantly that bisimulation is a congruence on them. Stochastic process algebras have been deployed for applications in performance evaluation, and more recently in systems biology, where the underpinning of labelled continuous time Markov chains (CTMCs), and more generally stochastic processes, is required rather than simple LTSs. Examples of such algebras include TIPP [11], PEPA [15], EMPA [3], and stochastic π-calculus [20]. Semantics of these calculi have been given by variants of the SOS approach. However, in contrast with the case of non- deterministic processes, SOS formalisms used here are not based on any general frame- work for operational descriptions of stochastic processes, and indeed differ substantially from one another.
    [Show full text]
  • Static Analysis of Stochastic Process Algebras
    Static Analysis of Stochastic Process Algebras Fan Yang Kongens Lyngby 2007 IMM-MSC-2007-9 2 Summary The Performance Evaluation Process Algebra, PEPA, is introduced by Jane Hillston as a stochastic process algebra for modelling distributed systems and especially suitable for performance evaluation. A range of tools has already been developed that apply this algebra to various application areas for different purposes. In this thesis, we present a static analysis more precisely approximating the control structure of processes expressed in PEPA. The analysis technique we adopted is Data Flow Analysis which is often associated with the efficient im- plementation of classical imperative programming languages. We begin the analysis by defining an appropriate transfer function, then with the classical worklist algorithm we construct a finite automaton that captures all possible interactions among processes. With the help of the novel methodology of anno- tating label and layer to the PEPA program, the approximating result is very precise. Later we try to accelerate the analysis by two approaches, and develop algo- rithms for validating the deadlock property of the PEPA program. In addition, the thesis comes out with a tool that fully implements the analyses and it could be used to verify the deadlock property of the PEPA programs in a certain scale. Keywords: PEPA, Date Flow Analysis, Control Structure, Finite Automaton, Deadlock, Static Analysis, Stochastic Process Algebra. ii Preface This thesis is the result of my work at the Informatics and Mathematical Mod- elling department of Technical University of Denmark, for obtaining a M.Sc degree of Computer System Engineering. It corresponds to 30 ECTs points and is carried out in the period through 1st August 2006 to 31st January 2007, under the supervision of Professor Hanne Riis Nielson.
    [Show full text]
  • Structural and Fluid Analysis for Large Scale PEPA Models — with Applications to Content Adaptation Systems
    Structural and Fluid Analysis for Large Scale PEPA Models — With Applications to Content Adaptation Systems Jie Ding I V N E R U S E I T H Y T O H F G E R D I N B U A thesis submitted for the degree of Doctor of Philosophy. The University of Edinburgh. January 2010 Abstract The stochastic process algebra PEPA is a powerful modelling formalism for concurrent sys- tems, which has enjoyed considerable success over the last decade. Such modelling can help designers by allowing aspects of a system which are not readily tested, such as protocol valid- ity and performance, to be analysed before a system is deployed. However, model construction and analysis can be challenged by the size and complexity of large scale systems, which consist of large numbers of components and thus result in state-space explosion problems. Both struc- tural and quantitative analysis of large scale PEPA models suffers from this problem, which has limited wider applications of the PEPA language. This thesis focuses on developing PEPA, to overcome the state-space explosion problem, and make it suitable to validate and evaluate large scale computer and communications systems, in particular a content adaption framework proposed by the Mobile VCE. In this thesis, a new representation scheme for PEPA is proposed to numerically capture the structural and timing information in a model. Through this numerical representation, we have found that there is a Place/Transition structure underlying each PEPA model. Based on this structure and the theories developed for Petri nets, some important techniques for the struc- tural analysis of PEPA have been given.
    [Show full text]
  • Algebraic Process Calculi: the First Twenty Five Years and Beyond PA ’05
    BRICS NS-05-3 Aceto & Gordon (eds.): PA ’05 Short Contributions BRICS Basic Research in Computer Science Short Contributions from the Workshop on Algebraic Process Calculi: The First Twenty Five Years and Beyond PA ’05 Bertinoro, Forl`ı, Italy, August 1–5, 2005 Luca Aceto Andrew D. Gordon (editors) BRICS Notes Series NS-05-3 ISSN 0909-3206 June 2005 Copyright c 2005, Luca Aceto & Andrew D. Gordon (editors). BRICS, Department of Computer Science University of Aarhus. All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. See back inner page for a list of recent BRICS Notes Series publications. Copies may be obtained by contacting: BRICS Department of Computer Science University of Aarhus Ny Munkegade, building 540 DK–8000 Aarhus C Denmark Telephone: +45 8942 3360 Telefax: +45 8942 3255 Internet: [email protected] BRICS publications are in general accessible through the World Wide Web and anonymous FTP through these URLs: http://www.brics.dk ftp://ftp.brics.dk This document in subdirectory NS/05/3/ Short Contributions from the Workshop on Algebraic Process Calculi: The First Twenty Five Years and Beyond Bertinoro (Forl`ı), Italy, August 1–5, 2005 Luca Aceto Andrew D. Gordon ii Foreword The idea for this volume of the BRICS Notes Series arose during our email discussions of issues related to the scientific content of the workshop Algebraic Process Calculi: The First Twenty Five Years and Beyond that will take place in the beautiful setting of the University Residential Centre of Bertinoro with the kind sponsorship of BICI, BRICS and Microsoft Research.
    [Show full text]