Concurrent Composition and Algebras of Events, Actions, and Processes
There are many different models of concurrent processes. The goal of this work is to introduce a common formalized framework for current research in this area and to eliminate shortcomings of existing models of concurrency. Following up the previous …
Authors: Mark Burgin a, Marc L. Smith
Concurrent Composition and Alge bras of E vents, Actions, and P rocesses Mark BURGIN a and Marc L. SM ITH b a Department of Computer Science, Univ. of California, Los Angeles Los Angeles, Calif ornia 90095, USA b Department of Computer Science, Vassar Col lege Poughkeepsie, New Y ork 12604, USA Abstract. There ar e many different models of concurrent processes. The goal of this w ork is to introduce a comm on formalized framework for current research in this area and to eliminate shortcomings of existing models of con currency . Following up the previous research of t he authors and ot her re searchers on concurrency, here we build a high-level metamodel EAP (event-action-process) for concurrent processes. This metamodel comprises a variety of other models of concurrent processes. We shape mathematical models for, and study events, actions, and proces ses in relation t o important practical problems, such as communication in networks, concurrent programming, and distributed computations. In the third section of the work, a three-level algebra of events, actions and processes is constructed and studied a s a new stage of algebra fo r concurrent processes. Relations between EAP pr ocess algebra and other models of concurrency are considered in the four th section of this work. Keywords: event, action, process, signal, action composition, process composition, true concurrency, process algebra 1. Introduction: Problems of Concurrency and Rel ated Research The algebraic approach is a popular and effective wa y to study processes in multicomponent s ystems. To efficientl y deal with s uch problems comput er science developed a con currenc y theory, which extensivel y and s uccessfull y utiliz es algebraic structures and techniques. Researchers built man y pow erful models of c oncurrency: Petri nets, CSP, CCS, ESP, VCR, s y nchronization trees, labeled transitio n s ystems, and grid automata, to mention but a few. The goal of this work is to introduce a common formaliz ed framework for current research in this ar ea and to eliminate shortcomings of existing models of concurrenc y. The main problem with the majorit y of these models is that they us e an o versimplified model of time. Firstl y, the y cons ider onl y two types of tim e scales – lin ear ti me and branching time, while the s ystem t heory of ti me (Burgin, 2002 ) implies a necessity to have a m ore flexi ble representation of temporal concurrent pro cesses. W ith t he advent of multi-core processors, and the prevalence o f clust er and grid computing, reasoning about true con currenc y is no longer an avoidable concern. Secondl y, all events and actions in t hese models of concurrenc y d o not have duration, whi le in realit y to buil d reliable technological systems, such as computers and networks, it is nec essary to take into ac count duration of events and actions (Denni ng, 2007). Thirdl y, it is generall y assumed that moments of time when events occur are exactly specified and distinguishable from one another, while in reality researche rs and en gineers encounter an impossibi lity to distinguish two n ear-simultaneous events (Lampo rt, 198 4; Denning, 2007). As a result, the a rbitration problem is one of the most important for concu rrent systems (Denning, 1985) . In addition, from computabilit y theor y, Ri ce’s theorem (Rice, 1951) restricts us to observing input/output behavior of processes to reason about properties of computati on. But in concurrent s ystems, observable input/output behavior extends to communication between processes, and p rocess algebras such as CSP , CCS, and the Pi-calcul us are built up from elemental not ions of observable events. Algebraic la ws prescribe a variety of compositional possibil ities, processes are compo sed of events and other p rocesses, and computational histories o f processes are represented by traces of th eir observable events. Simplif y ing assumpti ons, such as instantaneous events (events without duration) and the interleaving of p arallel events in computational traces, have prov en succ essful to date, but we may now be confronting certain lim itations of such assumptions. Reasoning about compos ition in general, but especiall y concurrent composit ion, remains one of o ur greatest challenges. One of the reasons is that, as ex perts claim, nontrivial concurrent programs based on thr eads, semaphores, and mutexes are incomprehensible to hum ans. The extended view-centric reasonin g (EVCR) model for concurrent processes, developed b y Burgin and S mith (2006, 2006a), gives a flexible mathematical representation for temporal relations between such processes, but lacks a mathematical model of t hese pro cesses, as well as their s ystem representation. Here we enrich EVCR with such a model, constructing a high-level me tamodel, EAP (event-action-process), for con current pro cesses. As a base for this new component, we take the metamodel, ESP (event-signal-pro cess), built by Lee and S angiovanni-Vincentelli (1996). This metamodel giv es an efficient hierarchy for m athematical representation of concurrent processes and encompasses a variet y of m odels of concurrent s ystems. It is demonstrated in Lee and Sangiov anni-Vincentelli (1996) that ESP c an re present K ahn process networks (Kahn, 1974), the CS P model of Hoare (1985), the C CS mod el of Milner (1989 ), d ataflow process networks (Lee and Parks, 1995), d iscrete event simulators (Fishman, 197 8), and Petri nets (Petri, 1962; Reisig, 1985). EAP is inspired by CSP’ s observation-based reasoning capabilit y. I t is the nex t step in the evolution of C SP from a model that reduces concurrenc y to an int erleaving of sequential events, to a model of tru e concurrenc y that provi des abs tractions that represent degrees of inter leaving. EAP also is the nex t step in the evol ution of ES P from a model in which events happen at a moment of time (point-like events) and time is absolute, to a mod el that provid es abstraction s to represent ex tended events and relativity of t ime. Ev ent d uration is important for efficien cy of computatio n and communication and thus, is the base for com putational complexi ty. As a result, a model of true concurrenc y should support abstractions for events whose occurrence partiall y overlap in time. Thu s, the possibilit y of observed event simultaneity is not merely a Boolean propositi on, but rather a continuum : events A and B m ay overlap enti rely, partially, or not at all. Denning (2007) recently described the choi ce un certainty principle, a phe nomenon that exist s at ever y level of computin g abstraction from the hardware up, as well as i n human social situations. The choice uncertaint y principle states “it is im possible to make an unambiguous choice betw een ne ar-simult aneous events under a deadline.” Denning goes on to ask, “How can computations choose reliably?” We believe EAP provides one path to be gin reasonin g about concurrenc y b y reintroducing event duration into observation-based c omputational models. EAP begins by deconstructing the notion of e vents, and continues by deconstructing observatio n, itself. In S ection 2, several event axioms are given whose truth and meaning are evident in the real world, bu t these are not the axioms of events that appear in classic process algebras, such as C SP, CCS, and ESP. To ac hieve high er flexibilit y , in reflectin g real concurrent process es and distributed systems, as well as concurrent programs, at first , we use semi-formal definit ions, which allow later several exact formalizations. For instance, at first, we introduce a general concept of t he temporal coordinate o f an ev ent, and onl y then we give three poss ible mathematical realizations: the temporal coordinate as a real num ber for point -like events, the temporal coordinate as a real interval for ext ended events, and the temporal coordinate as an ordered set (tuple) of real num bers for pointed events . Events in the real world exist in space and time, but events are more typically abstracted to o ccur at a single poi nt in time, wi thout regard for location or duration. At its most fundamental level, an event represent s change. EAP considers the meanin g of an event from three pers pectives: the change in the process that engaged in the event, the change in the e nvironment in which the event occu rred, and the change in the relationship between a process and its environment when an event occurs. In View- Centric Reasoning (VCR ), Smit h (2000) considered multipl e views of a computation; in EAP, we go so far as to co nsider different views of events, thems elves. EAP deconstructs observation b y considering intermediate units of event composition. Process alg ebras t ypically define processes in terms of event compos ition, with primitives that permit sequential composition, choice, and recursion. Traces of a process’s ex ecution take the form of traces of observable events, whic h provide the basis for process calculi to reason about properties of a p rocess’s computation. Models such as CSP abstract away non-s ynchronizing concurrency b y int erleaving point-li ke events an observer perceives to have occurred si multaneousl y. There are s everal points to make here, the most im portant of which is a loss of entrop y, which is described in detail b y Smith (2000 ). Imposing an order of events where t here w as none, or where events overlap to some degree leads t o a loss of information and limits what a process calculus may reason about. Denning’s choice uncertaint y principle motivates us to develop process al gebras and calculi that pe rmit reasoning directl y about near- simultaneous events. EAP, in addition to being a mod el of true concurrenc y, introduc es intermediate units of composit ion, actions, which are partial traces. This implies actions don’t correspond to enti re processes, but also m eans acti ons are a new wa y t o reason about infinite processes, or more si gnificantl y, threads of execution, which cross process boundaries. EAP provides a t hree-level proc ess algebra for the modeling, stud y, and specification of concurrent processes. It should prove especiall y useful for modeling and reasoning about properti es of m ulticore and modern grid computation (cf., for examp le, (Foster and Kesselman, 1998; Foster, 2002) ). Oper ations i n the EAP proc ess algebra are defined in sections 3.3-3. 5. There are un ary operations, binary operations an d operations of higher arity. Operations o n the second and thi rd levels of th e EAP pro cess al gebra, i.e., operations of whi ch operands are actions and processes, are also call ed operators. As we show in Section 4, EAP proce ss algebra operations can faithfu lly re present operators from m any co nventional proc ess algebras, such as C SP (Ho are, 1985; Reed and Ros coe, 1988 ), AC P (Bergstra and Klop, 198 4; Baeten and Bergstra, 1991), TCSP (Brooks, et al, 1984), and C CS (Milner, 1980; M oller and Tofts, 1990). The process algebra developed i n this paper is based on a model of obs ervation- based composition of processes, actions, and events. The set of observable events is a way from the p rocess algebra to a process calculus, the next s tep i n t he developm ent of EAP. The motivation for view-centric reasoning (VCR) stemm ed from a desire to preserve more information about the history of a computation b y introducing lazy observation, and multiple, poss ibly imperfect observers (Smith , 2000). At the same time, composi tions of systems and processes b ecome an i mportant tool for the development of modern hardw are and software s ystems wit h co mplex sets of requirements. Unfortunat ely, as Neumann (200 6) writes, the re is a h uge gap betw een theory and common practi ce: system compositions at present are t ypically ad hoc, based on the int ersection of potentiall y incomp atible comp onent properties, and dependent on untrustworthy comp onents that were not d esigned for interoper ability–often resulti ng in unexpected results and risk s. Results of this paper provide additio nal evidence to support this statement. The analysis of real s ystems and processes made possi ble the ability to find new types for even such a well-known operation as sequ ential c omposition. This was possibl e because the authors considered n ot onl y data-flow rel ations between s ystems and processes used in the conventional sequenti al composition, but also temporal and causal relations. In Section 2, we at first formul ate general axioms for m odels o f concurrenc y an d introduce a new classif ication of thes e models . We i ntroduce informa l axi oms to preserve connections wit h real processes. Such informal ax ioms were used by Euclid and are us ed now in theoretical ph ysics. Only then we build the st atic stratum of the EAP metamodel as a u nifying fram ework for con currency s tudies. I ts cons tructions use advanced means of mod ern m athematics: fib er bundles, manifolds, gen eral al gebraic systems, universal algebras and l ogical models. W e develop the init ial model in this generality to form a bas e for further developm ent of this model b ecause i t is nec essary to be able to represent in a model of concurrency not onl y properties of the system time and s pace, but also properties of the physical time and space. At the same time, contemporary ph ysics u ses these advanced mathematical st ructures to m odel ph ysical objects and processes, including the ph ysical ti me and space (cf., for example, (Bleecker, 1981)). Besides, some contemporary models of concu rrenc y alre ady use categories (cf., for example, (Pratt, 2003)) and algebraic topolo gy (c f., for example, (Gunawardena, 1994)). However, it is possi ble t o take a si mplified f orm of t his model that util izes mathematics no more sop histicated than basic set theory. In the majority of cases, it is sufficient to emplo y only finite sets or, at most, countable sets. Howeve r, to properly treat complex problems of concurrent systems and computations , such as time relativit y, we need sufficientl y po werful mathemati cal tools, which we can find onl y in advanced mathematics. In Section 3, we, at first, develop algebraic foundati ons for modeling d ynamics of multicomponent s ystems and concurrent processe s and then bui ld the d y namic stratum of t he EAP metamodel. Here we b ase our models on structures and tools f rom universal algebra and topolo gy. There is a dual approach to concurrency in the framework of category theory (cf., f or example, (Pratt, 2003). I t is possible to de velop the EAP metamodel i n the categor y setting. However, the categorical formalization of the EAP metamodel is studied elsewhere. Compos ition of concurrent proc esses is based on compositions of actions that constitute these pro cesses, and compo sition of actions is based on compositio ns of events that constitu te these actions. That is why the to pic of the third section is com position of events and a ctions in order no t to go be yond an y reasonable len gth of the paper. Com positions of processes are constructed and studied elsewhere. Here we onl y show how processes ev olve from actions and consi der s ome simple properties of these process es. In Se ction 4, relations be tween th e E AP metamodel and other mod els of concurrent processes are considered. It i s demonstrated that the EAP metamodel encom passes a variety of other models of dist ributed systems and concurrent processes. For simplicit y, we cons ider mo stly point-like events in this paper and do not explicate to the full ex tent topolo gical and tem poral structures in s ystems of events, actions and processes. However, the EAP metamodel allows one to achi eve a m uch deeper understanding of t hese relations and st ructures, and t o use this m odel for organization of concurrent processes in distributed systems. 2. Models of Ev ents, Actions, and Processes Models of concurrency are classified wit h respect to two parameters: time and substance. Traditi onally (cf., for example, (Sassone, et al, 1996)), eight t ypes of m odels are separated b ased on three dimensions and six types: behavior/s ystem, interleaving/noninterleaving, and line ar/branching. The first dimension is based on substance representati on of processes, whi le two other dimension s are based on t emporal asp ects. N amel y, i nterleaving m eans a possibilit y o f li nearization of the t ime sc ale, whil e l inear m odel me ans ut iliz ation of a linear time scale and branching model means utilization of a tree-like (branching) time scale. There are two substance types of process models and thus, of concurrency models: embodied (or s ystem) and pure (or behavior) process (concurrenc y) models. Definition 2 .1. An embodied process ( concurrency ) model includes a model of the systems in which process es go on. Petri nets (Petri, 1962; P eterson, 1991), s y nchroniz ation trees (Winskel, 1985), labeled transition s ystems (Sassone, e t al , 1996 ), and grid a utomata (Burgin, 2003 ; 2005) are examples of em bodied process (concurrenc y) models. Definition 2.2. I n a pure process ( concurrency ) mod el only processes are represented in more or le ss detail. The CSP model of Hoare (1985 ), CCS model of Milner (1989), ESP model of Lee and San giovanni-Vincentelli (1998), VCR model of S mith, (2000), and EV CR and EAP models of Burgin and S mith (2006; 2007) are ex amples of pure process (concurrency) models. P artial recursive and recursive fun ctions are examples of pure compu tational models. In turn, embodied proces s (concurrency) models can be divided into two classes: black box models and st ructural system models. Definition 2 .3. A black box embodied process ( concurrency ) model d oes not describe the structure of the s ystem in which processes go on. Synchronization trees (W inskel, 1985) and labeled transiti on s y stems (Sa ssone et al, 1996) are examples of black box embodied process (concurrenc y) models. Finite automata and abstract s tate machin es (Gu revich and Spielmann, 1997) are examples of black box embodied computational models. Definition 2 .4. A structural system ( white box ) embodied process ( concurrency ) model describes the structu re of the system in which process es go on. Petri nets (Petri, 1962; P eterson, 1991) and grid automata (Burgin, 2003; 2005) are examples of white box embodied process (concurrenc y) models. Turing machines and in ductive Turin g ma chines are examples of white box embodied computational models (Burgin, 2005). 2.1. Events The basic elements and concepts of a theory of c oncurrent process es are e vents. To build a mathematical model of a system of events, we, at first, formulate the main principles i n t he form of informal axioms that reflect fundamental prop erties of events. Then we build actions from events and processes from actions, introduce oper ations with events, actions, and processes, and formalize t he obtained structures as alg ebras. Note that our axioms for events are informal bec ause informal axi oms better reflect features of real events – formalizati on, as a rule, ignores some properties and relations. Formal axiom s are use d for models of events in process algebra, considered as an algebraic theory t o formalize and study b y mathematical tools systems of concurrent processes. Axiom E1. Events exi st in space and time and have some m eaning. Space and ti me can be phy sical or system. Phy sical time means the time in a physical region (ph ysical space) whe re the event takes place. S ystem time means t he inner time of the s y stem i n which the event takes place (Fujimoto, 1997; Boukerche, Das, Datta, and LeMaster, 2001). Such a s ystem can be a separate computer, a local network of comp uters or a global n etwork, su ch as the Internet. According t o the system theory of time, system t ime can be essentiall y different from ph ysical time (Burgin, 2002). Fo r ins tance, when we consider a theoreti cal model of computati on, such as a Turing machine, all its operations have th e same duration equal to one. At the same tim e, we know that computer operations can have essentiall y di fferent duration. For example, example mul tiplication o f numbers takes mo re time than addition of numbers, mult iplication wit h the floating point takes more t ime than multiplication with the fixed point, and mu ltiplication of matrices takes more time than multiplication of num bers. Both kinds of ti me, sy stem and physical, are us ed in temporal databases (cf., for example, (Snodgrass and Jensen, 1999; Date, et al, 2002)). Namely, the temporal aspects usually include valid time and transaction time. These attributes go together to form bitemporal data. Valid time is the physical time and is u sed to denote the time period during which a fact is true with respect to the real world. Transaction time is the s ystem time of the database and is used to form the t ime period during which a fact is stored in the database Physical space is the s pace where people live , ph ysical processes go on, and physical (or material) systems exist . Physical space is modeled in different ph ysical theories. System space depends on th e representation of the s ystem(s) where events take place. For instance, the s ystem space for such systems as finite auto mata or labeled transition s y stems (Sassone et al, 1996) is the state space of a finite automaton or labeled transition s ystem. As we take such a s ystem as a cellular aut omaton A , t hen the system space of events i n A is the corresponding grid of st ate spaces o f indi vidual finit e automata t hat constitute A (Codd, 1968). In a P etri net, the s ystem spa ce is the network in which places and transi tions are situated (Petri, 1962; Peterson, 1981). The meaning of an event is a desc ription of wha t happened in thi s eve nt. For instance, the mea ning o f one event in a computer can b e "sendin g an e-mail" , the meaning of another ev ent in a computer can b e "reading from a CD", and th e me aning of an event in a printer can be "printing". To develop semantics for events, we consid er three t ypes of events: abstract, process and embodied or s ystem events. Considered at the beginni ng of this section, t ypes of process models uti lize five types of events: abstract or pure events, pure temporal events, and three t ype s of embodied or s ystem events – pure spatial events, white-box embodied events and black- box embodied events. Definition 2.5. An abstract o r pure e vent is a representation of what hap pened (of what is done), but not an indication of when or where. In som e sense, abstract events are not events b ut t ypes of ev ents or event v ariables. Another kind of event variable is an event in which the event’s name or meaning is variable. Definition 2.6. A pure temporal event is a r epresentation of what happened, indicating a time of occurrence, but not where it happened. The majorit y of concurre ncy models t hat includ e tim e, such as tim ed CCP (Nielsen and Valencia, 2004), use onl y pure temporal events or actions. Definition 2.7. An embodied or system event is a representation of what happened, indicating both a time and place of h appening. The most popular concu rrency m odel that uses embodied/system events is a Petri net. Definition 2.8. A black box embodied event is a representation of wh at happened without a description of the s ystem structure. Synchronization trees ( Winskel, 1985) and labeled transition systems (Sassone, e t al, 1996) are examples of black box embodied process (con currency) model s. Finite automata and abstract s tate machin es (Gu revich and Spielmann, 1997) are examples of black box embodied computational models. Definition 2.9. A white box ( structur al ) embodie d event is a representation of what happened without a descrip tion of the system structure. Usually, a s ystem belongs t o some environment, while a proc ess interacts (communicates) with ot her proc esses, wh ich collectively form the environm ent of the first process. Takin g into account th is natural structure, we come to three categories of events that have different meanings. Axiom E2a. Th e meanin g of an event in a syst em or in a process is a chan ge i n this system or in this process. Axiom E2a interprets events (in a system, or of a process) as changes, or as reflections of changes, [of the state or phase] of the s ystem (in the process). For instance, an event in such a s ystem as a finite autom aton or finite state machine is a state tra nsition of this automaton or machine. Sending a message is an event in a network. Printing a s y mbol or a text, producin g a s ymbol on the screen of the display, and calculating 2 + 2 are events in a computer. Th e latter event c an be also an event in a calculator. Axiom E2 b. Th e meani ng o f an e vent by a system is a ch ange in the environment caused by this s y stem or process. For instance, when a s ystem R sends information to another s ystem or builds a new system or takes something from one plac e to another, it is an event by this system R . Axiom E2c. The meanin g of an event for a syste m is a change in rel ations between this system or process and its environment. For instance, when a s ystem R was connected to another s ystem, and then th is connection is broken, it i s an event for this s ystem R . Note that even in the best embodi ed models of concurrenc y, such as Petri nets (Petri, 1962; Peterson, 1991) or labeled transition systems (Sassone et al, 1996), semantics represents only events in a system, while i n reality two ot her t ypes of events are of no less importance. To build an efficient and flexi ble model of concurrent pro cesses, developing algebras and calculi for them, we need mathematical structures that allow one to deal with a diversity of situation s that emerge in practice. Recall the definitions of some mathematical conc epts that we need in our model. An algebrai c syst em is a s et with relations (predicates) and ope rations i n this set (Malcev, 1970). When there are on l y operations, we have algeb ras, or universal algebras (Cohn, 1965). W hen t here are only r elations or predicates , we have m athematical structures or models when th ese struc tures are related to corr esponding logical t heories (Chen and Keisler, 1966; Robi nson, 1963). In mathem atics, usuall y two types of relations are considered relations of order, includin g p reorder, tolerance and equi valence, and topological relations (Bourbaki, 1960). A t opological manifold is a Hausdor ff topological space X in which ever y poi nt has a nei ghborhood ho meomorphic to an open subset of Euclidean space R n . The integer n , called the dimension of X , mus t be the same for all points of X . A f iber b undle B (also called fibre bundle) is a tr iad ( E , p , B ) whe re the topological space E is called the tot al space o r simpl y, spac e of the fiber bundle; th e topol ogical space B the b ase spa ce or simpl y, base of the fiber bundle; and p is a topological projection of E onto B s uch that ever y point in t he base space has a neighborhood U such that p -1 ( b ) = F for all points b from B and p -1 ( U ) is homeomorphi c to the direct product U × F . The to pological spac e F is called the fiber of the fiber bundl e B . Informally, a fibe r bundle is a topol ogical space which l ooks locall y li ke a product space U × F . It is possibl e to find introductor y information on topological m anifolds, fiber bundles and other topological structures in (Gauld, 197 4; Lee, 2000; Steenrod, 195 1; Husemoller, 1994)). A mult iset (som etimes c alled a bag ) as a set consists of elements, but in contrast to sets each mem ber of a multis et has a mult iplicity , which indicates ho w ma ny times it is present in thi s multiset (cf., for example, (Knuth, 1997)). For instanc e, i n the multiset { a , a , b , b , b , c }, the m ultiplicities of the members a , b , and c are respectively 2, 3, and 1. To formally represent te mporal, spatial and sem antic characteristics of events, we use th ree algebraic s y stems: a n aming s ystem N of names, a semantic system V of values, and a space-time s ystem ST of tags. In the simplest case, N , V and ST are sets as in the ASP model (Lee and Sangiovanni-Vincentelli, 1996). Usually, systems V and ST are topolo gical manifolds with some algebraic operations and relations, i.e., they are algebraic systems. For example, ph y sical space -time is a four-dimensio nal manifold in relativi ty theor y, ten - dimensional manifol d in string theor y and eleven-dimensi onal manifold i n superstring theory (cf., for ex ample, (Green, 200 0; Zwiebach, 2004). Important relations for events are temporal relations, in particular, order relat ions, introduced and studied b y the authors in (Burgin and Smith, 2006a). The naming s ystem N is usually a multiset (Knuth, 1997). Sometimes t he naming system N has som e operations in it. The naming syst em N c onsists of names of eve nts. A name sho ws the t ype of an event. Names can be org anized in a hierarchical system. The semantic system V consi sts of values of events. A value v desc ribes (i ndicates) what happened (what is d one), determining a t ransformational or operational semantics of events (cf., for exampl e, (Plotkin, 1981; Gunt er, 1992; Winskel, 1993 )). There is a function (correspondence, in a general c ase) s em : N → V f rom N t o V that gives meaning to events, as well as to types of eve nts. The space-time (o r tag ) s ystem ST consists o f tags of events. A tag t shows where and when somethi ng happened (is done). It consists of tim e and place, determining location o f events. Topol ogically th e sp ace-time manifold ST i s a fiber bundle ST wit h the base T and the fiber S (cf. Fig. 1). ST p T T Fig. 1 . The space-time fi ber bundle It m eans that S T = ( ST , p T , T ) where p T is a continuous projection and p T -1 ( t ) = S for any point t from T . Here T is the t ime m anifold, which is naturall y deco mposed into physical time scale T ph and system time scale T st (cf. Fig. 2). T st T T ph Fig. 2. Time manifold decomposi tion Usually time in compute r scien ce is linear, implicit and disc rete. However, studies of concu rrency brou ght researchers to consider with more compl ex scales to be able to correctly r eflect computational reality. For i nstance, branching ti me plays an important role in m any comp utational mod els of concurrency (cf., for example, (de Bakker, 1989; Emerson and Halpern, 1986)). Transitions of hi gher dim ensional automata (c f., f or example, (Pratt, 1991; Goub ault, 1993)) go in a m ultidimensional t ime. The fiber S i s t he space manifold. I t is naturall y decomposed into ph ysical space model S ph and system space S st (cf. Fig. 3). S st S S ph Fig. 3 . Space manifold d ecomposition For simplicity, we take T ph = ∪ a ∈ S st T ph a where a is a node in the consi dered system, T ph a is the t ime scale o f the physical place where a is situated, and all T ph a are linearly ordered. To make the time scale more t ransparent, we assum e t hat each T ph a is a subset of the set R of all real numbers. In a similar wa y, T st = ∪ a ∈ S st T st a where T st a is the time scale of time at a node a . Time wi th t he scale T st a corresponds t o t he conce pt of local time used in some theories of concurrency (cf., for ex ample, (Mazurkiewicz, 1977; Pratt, 1992). In thi s contex t, an event e is equal to a pair ( d , t ) wher e d is the name of e and belongs to N and t is the t ag of e . For a point-li ke event e , its tag t belongs to ST . There are two natural m appings of events on to their names and tags, nam ely, if e = ( d , t ), then n ( e ) = d and t ( e ) = t . Th e m apping n allows us to define meaning (semantics) of events as Sem e = sem( n ( e )). In general, we assume that the same event may h ave di fferent names, i.e., it is possib le that e = ( d , t ) = ( a , t ). Note that an y component of an event, the name, value, ta g, tim e coordinate and/or space coordinate, can be a variable. In this case, i.e., when, at least, on e component of an event e is a variable, the event e is potenti al. By EV NV , ST we denote all (point-li ke) ev ents with names from N , semanti cs from V and tags from ST . For simp licity, the s et ST is consi dered as the direct product of the time scale T and t he abstract spa ce S . The re are t wo canonical projection s: p S : ST → S and p T : ST → T . Thus, time of an event e is p T ( t ( e )) and t he place o f an event e is p S ( t ( e )). In the simplest case, a tag t of a point-like event is a pair ( p S ( t ), p T ( t )). In comput ers and netw orks, the tim e scale is usuall y an infinite discrete set of points i somorphic to the set N of all natural numbers. The space of a network us ually is some graph (cf., for exampl e, (Burgin, 2005)). In addition to point-li ke events, there are other types of events. In extended events , time (that is, the proj ection of the tag t on t he ti me manifold) is an interval, which is represented b y two points : the beginning and t he e nd o f this interval. For inst ance, if we assume t hat ST coincides with T and T is the scale of the physical time, then an extended event e = ( d , ( t b , t e )), where t b is t he time of th e beginning, and t e is the ti me of the end, of t he event e . Many models of concurrent processes i gnore the space coordinate of ev ents and assume that events tak e place in the physical time (cf., for exampl e, (Lee and Sangiovanni-Vincentelli , 1996)). If we conside r extended events with tags that represent both time and space, then the space of the event c an be not a sin gle coordi nate of the space manifold S , but a region i n (sub set o f) this manifold. Thus, the possible values of extended event tags are pairs of regions (subsets) : one in S and another in T . Extended events can be separated into three classes: spatial extended events , temporal extended events , and ful l-scale extended events . A temporal extension o f an event means that the temporal component of the event tag is a n ame of s ome region (usually, an interval when the time scale is one- dimensional) in the time m anifold (time scale) T . Such extended events are studi ed in (Burgin and Smith, 2 006; 2006a), A s patial extension of an event means that the s patial component of the event t ag is a name o f some region (e.g., a sphere or ball) in the space manifold S . For instance, if we assume that ST coincides with S , i .e., tim e is not considered, then it is natural to consider balls as values for tags be cause, as a rule, the sp ace where an event occurs is not a point . In thi s case, an extended event may have the form e = ( d , ( x , r )) where x is the coordinates of th e center o f a sphere i n which this event does on and r is th e radius of thi s sph ere. An exampl e of a s ystem in whi ch time of events is igno red is a finite automaton. In full-scale extended events, tags represent regions in the space manifold S and in the time manifold T . By EV NV , E ST we denote all ex tended ev ents with names f rom N , semantics from V , and tags from P( ST ) where is the set of all s ubsets from ST . There are also pointed events , whi ch have the form e = ( d , ( t 1 , t 2 , … , t k )). A possible interpretation of poi nted events is given b y the situation when an event e = ( d , ( t 1 , t 2 , … , t k )) is considered in different time scales and t i i s the poi nt-like tim e of e in the scale T i ( i = 1, 2, 3, … , k ). These different scales T i may reflect physical tim e or system t ime at different pl aces (the so-called, local time (Mazurkiewicz , 1977; P ratt, 1992)) or r epresent s ystem time (cf. Burgin, 2 002) o f those distributed s ystems in which this event takes pl ace. Anoth er interpr etation of p ointed events is given b y the s ituation when an event e = ( d , ( t 1 , t 2 , … , t k )) represents an abstract event that happ ens at several places. By EV NV , kST we denote all pointed events with names from N , semantics from V , and tags from ST k where is the set of all subsets fr om ST . Assuming that spaces V and ST give a complete representation of all ev ents, we have the following axiom. Axiom E 3. An event is uniquel y defin ed by tim e, space and what happened (what is done). In the formal model, it means that if e 1 = ( d 1 , t 1 ), e 2 = ( d 2 , t 2 ), v 1 = v 2 , sem d 1 = sem d 2 , and t 1 = t 2 , then e 1 = e 2 . Axiom E3 impli es that embodied or system event s form a set. Abstract or pu re events form, as a rule, mul tisets because the same anbstract event can occur several times at different places or at diffe rent time. When spaces V and ST do not give a complete representation of all ev ents, it is also natural to consi der s ystems of events as mul tisets (cf., for example, (Smi th, 2000)). For instance, often an event is identi fied with its value v , while time and place are ignored. In t his case, a process c an contain several copies of the same ev ent. At the same time, it is possible that two or more p rocesses contain different copies of an event in some cases, while the y have a common cop y (or several common copies) o f the same event. For instance, takin g such an event as sending a messa ge, we see that differ ent copies o f this event belong, as a rul e, t o many different pro cesses. At the s ame, ea ch copy of such an event as in formation (data) exchange b etween two processes necess arily belongs to two processes. Parallel events can coincide as abstract events. A similar situation e merges when th e space ( set) ST does not give a complete representation of all events. For inst ance, the space of the event is n ot taken into consideration or the time of th e event is taken as a point instead of an interval. To study information processing (comput ation, commu nication, etc.), we consider events of two t ypes: changes of information carriers (symbols, si gnals, data, knowledge, etc.) and changes of inform ation processing systems. Example 2.1. If we mod el information processing i n such a system as a Turing machine, then events of t he first type are writin g and erasing symbols in cel ls of the machine memor y. Events of the second type are movements of the he ad of the Turin g machine. Definition 2.10. a) Two point-like events e 1 = ( d 1 , t 1 ) and e 2 = ( d 2 , t 2 ) are called parallel or simultaneous if p T ( t 1 ) = p T ( t 2 ). b) Two extended events e 1 = ( d 1 , (( t 1b , t 1e ), s 1 )) and e 2 = ( d 2 , (( t 2b , t 2e ), s 2 )) are called parallel if t 1b = t 2b and t 1e = t 2e . We denote thi s by e 1 || e 2 . Informally, this m eans that two events are parall el when they occur exactl y at th e same time. This agrees with one’s general int uition and is represented on the ab stract level by the si multaneit y relation, ST R , previousl y introduced b y the authors in (Burgin and Smith, 2006; 2006a). Example 2.2. Let us con sider information processing in s uch a s y stem as a Turin g machine. In the tr aditional representation (cf., for example Rogers, 1987), each step of a Turing machine can include two parallel operatio ns: changing the state of the machine and either writin g in a cell or erasin g from a cell, or movin g the head of t he machine. Contemporar y tex tbooks (cf., for example (Hopcroft, Motwani and Ullman, 2001)) allow the Turing machine to d o three parallel operations in o ne step. Note that what is parallel and even sim ultaneous e vents depends on the cho sen tim e scale. For instance, s witching in mult ithreading can happen so fast as to give the illus ion of simultaneit y to an end user, t hat is, for th e computer events before and after switching look simultaneous , while t o the computer where t hese events happen th ey are not simultaneous. Proposition 2.1. Parallelism of point-lik e (extended) events is an equivalence relation. Proof. Let us consider, at first, point-like events e 1 = ( d 1 , t 1 ) and e 2 = ( d 2 , t 2 ). By Definition 2.10, any poi nt-like event is parallel to itself. I t means that p arallelism of point-like events is a reflexive binary relation. Besides, if e 1 || e 2 , then p T ( t 1 ) = p T ( t 2 ). Thus, b y Definition 2.10 , e 2 || e 1 , i.e., parall elism of poi nt-like events is a s ymmetric binary relation. Finally, if e 1 || e 2 and e 2 || e 3 , then p T ( t 1 ) = p T ( t 2 ) and p T ( t 2 ) = p T ( t 3 ). Consequently, p T ( t 1 ) = p T ( t 3 ) and by D efinition 2.10, e 1 || e 3 . Thus, parallel ism of point- like events is a transitive binary relation, and b y definition, it is an equivalence relation. Similar reasoning gives us a proof that pa rallelism of extended events is an equivalence relation. Proposition 2.1 i s proved. However, in practice, it is impossibl e to make an unambi guous choice between near-simultaneous events u nder a d eadline ( Denning, 2007). Thu s, we n eed to introduce approximatel y or fuzz y parallel events. To do this, we use an arbitrar y posi tive real number r as the parameter of this approximation or fuzzi ness. Definition 2.11. a) Two point-like events e 1 = ( d 1 , t 1 ) and e 2 = ( d 2 , t 2 ) ar e called r - parallel or r - simultaneous i f | p T ( t 1 ) - p T ( t 2 )| < r . b) Two extended events e 1 = ( d 1 , (( t 1b , t 1e ), s 1 )) and e 2 = ( d 2 , (( t 2b , t 2e ), s 2 )) are called r - parallel if | t 1b - t 2b | < r and t 1e = t 2e < r . We denote this by e 1 || r e 2 . I nformall y, this means that two events are appro ximatel y or fuzz y parallel when the difference b etween times of their oc currence is less than some number r that repres ents indistinguishabilit y of event time coordinates. For representi ng communication processes, we need events of fou r t ypes (Burgin, 1997): emis sion, reception, reading (or inform ation ex traction), and writing (or information insertion). We in troduce the following correspondin g set notations: Em NV , ST denotes the set of all emissions from E V NV, ST . Em NV, E ST denotes the set of all emissions from EV NV, E ST . Em NV, kST denotes the set of all emissions from E V NV, kST . Rc NV, ST denotes the set of all receptions from EV NV, ST . Rc NV, E ST denotes the set of all receptions from EV NV, E ST . Rc NV, kST denotes the set of all receptions from EV NV, kST . Rd NV, ST denotes the set of all readings from EV NV, ST . Rd NV, E ST denotes the set of all readings from EV NV, E ST . Rd NV, kST denotes the set of all readings from EV NV, kST . Wr NV, ST denotes the set of all writings from EV NV, ST . Wr NV, E ST denotes the set of all writings from EV NV, E ST . Wr NV, kST denotes the set of all writings from EV NV, kST . All these events are comm unication events. A general definit ion of a communication event is based on the classifi cation of informati on operations in t he general theor y of information (Burgin, 1997). Definition 2 .12. An event e = ( d , t ) is called a comm unication event if sem d is a communication operation. Communication operations are changes of informatio n carriers for portions of information (Burgin, 199 7). For instanc e, readings some text b y a word pr ocessor from a C D c hanges the CD as the information carrier for this tex t to the scre en of the computer as the informat ion carrier for this text . Receiving some picture from a channel, e. g., a cable, b y a TV set is a communication event in which the channel as the informati on ca rrier for this picture is changed to the screen of t he TV set as the informa tion carrier for this picture. 2.2. Actions Usually proc esses a re formed from events (cf., for example, (Hoare, 1985 and Milner, 1989)). However, here, following (Lee and Sangiovanni-Vincent elli, 1996), we use one more level of hi erarchy that consists of actions . Three levels of hier archy reduce complexit y of descriptio ns and make the model m ore flexible. Definition 2.13. An action A is a s ystem of relate d events, i.e., A = ( e 1 , e 2 , … , e n ). The number n is called the cardinal ity of A and deno ted by | A |. It is necessar y to underst and that the action A is defined neither as a set of events e 1 , e 2 , … , e n , nor as a multiset of events e 1 , e 2 , … , e n , nor as a vector or n -tuple of events e 1 , e 2 , … , e n . A s ystem is defined no t only b y its elements, but also by relations between these elements (Mesarovic and T akahara, 19 75). Thus, what is A depends not only on events e 1 , e 2 , … , e n , but also on rel ations between these events. If there a re no such relations in A , th en A is a set of events. If there are onl y relations of indiscernibilit y of events i n A , then A is a multiset of events. If there is a relation of linear order in A , then A i s an ordered n -tu ple of events. If there is a relation th at connects som e events in A , then A is a graph (net work) with events as verti ces. Note t hat i n s ome models of concurrenc y, su ch a s ACP (Bergstra and Klop, 1984 ), actions ar e indi visible primitives of the model and processes are bui lt from actions. To represent such primit ive actions in EAP, we consider actions such that each consis ts of a single indivisible (primiti ve) event. There are different in terpretations of actions. In one of them, actions in the EAP are theoretical rep resentations of threads and fibers. Threads are a wa y for a program to split it self into t wo or m ore simultaneousl y (or p seudo-simultaneousl y) running tasks. Fibers realize the same function as threads. Th e d ifference is t hat fib ers use cooperative multitasking, while t hreads use pre-emptive mul titasking. Threads and pro cesses differ from o ne ope rating s ystem to another, but in general, how a thread is cre ated and sha res its resources is different from th e way a process does. Multiple threads can be ex ecuted in parallel on many computer systems. Thi s process is called multi threading. When onl y one processor is used, multi threading is generally organized by tim e slicing (similar to time-division mul tiplexing), wherein a single pro cessor swi tches between different thread s, in which case the pro cessing is not literally simultaneous, for the single pro cessor is reall y doing onl y one thin g at a time. It is an example of interleavi ng of actions. Threads form a different level from tr aditional multitaski ng operatin g system processes because pro cesses are t ypica ll y independent, carr y considerable state information, have s eparate address spaces, and i nteract onl y th rough s ystem-provided inter-process communication mechanisms. Threads, on the other hand, typicall y share the state information of a single process, and sh are memor y and other resources dir ectl y. Threads are parts of processes. At least one thread exists within each process. If multiple threads can ex ist within a process, then t hey share the same memor y and file resources. Threads are pre-emptively multitasked if the operating s ystem's process scheduler i s pre-emptive. This allows the operating system t o do switching between threads in the same process faster than switching between processes. For inst ance, systems like Win dows NT and OS/2 are said t o have "cheap" threads and "expensive" processes. Another interpretation is a signal from the metamodel ESP of Lee and Sangiovanni- Vincentelli (1996). For si mplicit y , we consider onl y point-like events in wh at follows. There are special classes of actions. Definition 2.14. An action A is called fi nite i f it consist s of a finite number of events. Otherwise, A is c alled infinite . Definition 2.15. An action A i s called a signal if it consists of comm unication events. For instance, writing o r e rasing a s ymbol in a cell of the Turing m achine m emory is a signal. Movements of the head of a Turin g machin e are not si gnals, but pure actions . Changing the pla ce of a n information carrier, e.g., sendin g a letter b y regular mail, is also a signal. Existing tradition resulted in a sit uation wh ere communi cation and computation processes are mostly studied separatel y. In re alit y , any computation includes some communication opera tions and any communication includes some computation operations. He re w e p ut an emp hasis on communication of processes but build our model so that it allows one to represent all types of processes and operat ions used in practice. Definition 2.16. An action A is called an explicit communication action if it h as at least one emission and/or reception. In an explicit communi cation action A , it is possi ble to separate three groups of events: emissions, receptio ns, and all other events. As a result, we represent A in t he form of a triad A = ( A rc , A gen , A em ) where A rc is the set of all receptions fr om A , A em is the set of all emissions fr om A , and A gen is the set of all ot her events from A . Definition 2.17. An action A is called an implicit communicat ion action if i t has at least one event of reading from, and/or writin g to, a shared info rmation carrier. For instance, two process es (or programs) have a c ommon memo ry. Then writing to and reading from thi s me mory allows these p rocesses to communi cate with one another . Such m emor y is a s pecific i nstance of a co mmunication space introduce d in (Bur gin, Liu and Karplus, 2001). In general, a communication, or interaction, space is a special media often u sed for hum an-computer interaction. Another example of such a memory is the concept o f a sto re used in con current const raint programming (Niels en and Valencia, 2004; Saraswat, R inard, and Panangaden, 199 1; Valencia, 2005). Definition 2.18. An e xplicit comm unication ac tion A is called a pure explicit communication action if it contains onl y emissions or/and receptions. Thus, a pure explicit commu nication action A has the form of a d yad A = ( A rc , A em ). Definition 2.19. An action A is called an action without repetition i f all events from A have different v alues, i .e., i f e i = ( d i , t i ) and e j = ( d j , t j ) are ev ents from A , then S em d i ≠ Sem d j . Informally, this means that nothi ng happens twice in an action witho ut repetition. Definition 2.20. An action A is called a coordinated action if all events from A have dif ferent t ags, i. e., if e i = ( d i , t i ) and e j = ( d j , t j ) are events from A , then t i = t j implies e i = e j . Informally, this means that, at the same place and s ame time, onl y one thing can happen (be done) in a co ordinated action. Definition 2.2 1. An action A wi th point-like eve nts is called sequentia l if all events from A h ave different t imes, i.e., if e i = ( d i , t i ) and e j = ( d j , t j ) are events from A , then p T ( t i ) = p T ( t j ) implies e i = e j . Informally, this means that, at the same tim e, onl y one thing can happen (be done) in a sequential action. In other words, a s equential action does not have parallel events. The cardinality of a sequential action A is also called the length o f A . Proposition 2.2. An y sequential action A is coordinated. It is necessar y to discern action th at were realiz ed, i.e., actions that consist of ev ents that alread y happened, and pot ential actions, wh ich represent altern ate v ersions of what may happen. This gives us three types of actions: - An actualized action is a n action, for which a reali zation o f this action incl udes all its events. - A potential action is an action, for which includes all events for all possi ble realizations of this action. - An emerging action i s an action that consists of two parts (subactions): one is an actualiz ed action, whil e another is a potential action. When we take with the conventional linear s cale, such as ph ysical time in Newtoni an mech anics, then all events from t he first ( actualized) part of an emer ging action m ust precede all events from the second (pot ential) part of this action. For instance, the choice operation +, whi ch i s u sed i n m any m odels of con currenc y for processes (cf., for example, ((Bergstra and Kl op, 1984)), but can be also applied to actions, transforms an y two actions into a potential action. Potential actions are schemas (Burgin, 2006), plans o r programs for r ealization. Any realization of a potenti al action is an actualized action. Possible realizations of a potential action A are determined by the following compatibilit y relations in A . Two events e i and e j from A , are compatible if an y realizatio n of A that co ntains e i also contains e j . Two events e i and e j from A , ar e weakly comp atible if an y realization o f A that contains e i can also contain e j . Two events e i and e j from A , are strongl y compatible i f any r ealization of A that contains e i must also contain e j . Two events e i and e j from A , ar e inco mpatible if an y realization of A t hat cont ains e i does not contain e j . Two events e i and e j from A , are stro ngly incompatible if any re alization of A that contains e i cannot contain e j . Two events e i and e j from A , are weakly inc ompatible if a realiz ation of A that contains e i may not contain e j . Let us consider an actio n A and a set R o f relat ions in A , i.e., relatio ns between events from A that determ ine A as a s ystem. Definition 2.22. a) An y subset B of an action A in which all r elations between events in B are induced by relations from R are preserved is called an R - subaction o f A . b) An R -subaction of A is called a complete subaction of A if R consis ts of all relations in A . When R is not specified, we call B a suba ction of A . These definitions impl y that the cardinalit y of any proper subaction of an action A is less than the cardinalit y of A . Proposition 2.3. An y subaction of a finite action A is a fini te action. Proposition 2.4. An y subaction of an actualized a ction A is an actualized acti on. For potential and emerging actio ns, this result is not true in a general case. Proposition 2.5. An y R -subaction of a signal (com munication action, pure communication action) is a signal (correspondi ngly, communication action, pu re communication action). Theorem 2.1. A complete subaction of a coordinated action (actio n without repetition) A is a coordinated action ( action without repetition). Proposition 2.6. A (complete) subaction C of a (compl ete) subaction B of an action A is a (complete) subacti on of A . To bu ild parallel comp ositions of actions and processes, it necessar y to have a relevant and sufficiently formalized definitio n of parallel ac tions and processes. However, the relation "to be parallel " is not so si mple as the relation "to be sequential ". As a rule, the relation "t o be p arallel" is a fuz zy or valued relation (prop erty). That is why, we start with measures of paralleli sm. Let us consider two actions A = ( e 11 , e 12 , … , e 1 n ) and B = ( e 21 , e 22 , … , e 2 n ). Definition 2.23. The measure m par ( A , B ) of parallelism between A and B is equal to the number of pairs e 1 i || e 2 j . Definition 2.24. The measure m par ( A ) of parallelism in an action A is equal to the number of parallel pairs e 1 i || e 1 j in the action A . Definition 2.25. The measure m par ( A ) of p arallelism in the action A is equal to the difference b etween t he cardinality of A and th e cardin ality (len gth) o f a maxi mal sequential subaction of A . Note that, in a general case, a maxim al sequential subaction of an action is not unique. So, to show that our definition is consist ent, we need to demo nstrate that an y two maximal s equential subactions of an action A have the sam e cardinalit y. Indeed, let us consider t wo maxi mal sequential subactions B and C of an action A and assume that the length of B is larger than the length of C . Then B has a n event e that is not parallel to an y event in C because B as s equential sequen ce does not contain parallel events. Then if we add the event e to the a ctions B , we will still have a sequential subaction of A and this sub action properly contains C . This contradicts our assumption that C is a m aximal sequential subaction of A and thus, proves that subactions B and C have the same ca rdinality (length). Lemma 2.1. a) m par ( A ) ≤ m par ( A ) for any action A . b) m par ( A ) = m par ( A ) = 0 if and onl y if A is a sequential action. c) m par ( A ) = m par ( A ) if and onl y if either there are no parallel ev ents in A or any group of parallel e vents in A contains onl y two elements. Definition 2.26. The measure m par ( A , B ) of parallelism between A and B is equal to the number of parallel pairs of events in two maxim al sequential subactions of A and B . In other words, if D is a maximal sequenti al subaction of A and C is a max imal sequential subaction of B , th en m par ( A , B ) = m par ( D , C ). Lemma 2.2. a) m par ( A , B ) ≤ m par ( A , B ) for any action A . b) m par ( A , B ) = m par ( A , B ) if and onl y if both A and B are sequential actions. Proposition 2.7. If D an d C are subactions of acti ons A and B , correspondi ngly, then m par ( D , C ) ≤ m par ( A , B ) and m par ( D , C ) ≤ m par ( A , B ). Let 0 ≤ k ≤ 1. Definition 2 .27. An action A is called k-parallel if k ≤ m par ( A )/| A |. Definition 2 .28. Actions A and B are called k-parall el if k ≤ m par ( A , B )/min {| A |, | B |}. Any action A is 1-paralle l to itself. It is possible that each of t wo actions A and B is k- parallel to some a ction C , but actions A and B are not k- parallel to one another. 2.3. Processes In our model, processes are built from actions as actions are built from ev ents. Definition 2 .29. A process P is a system of action s, i.e., P = ( A 1 , A 2 , … , A m ). Systems are determin ed b y t heir elements and relations between these elements (Mesarovic and Takahar a, 1975). Thus, a proces s can define some additional relations between actions that constitut e this process. Relations between actions in a process determine how actions a re organiz ed in this process. Fo r instanc e, actions can form a sequence (a thread), a set wi thout any relations, an arbit rary graph, and so on. There are tempo ral r elations between actions (cf., for ex ample, (Bur gin and S mith, 2006)) and i nheritance relations when one action starts in a situation (state) that (ma y be, partially) resulted from the realization of another action. It is possible to define Temporal relation s bet ween actions can be i nduced b y tempor al rela tions between events that consti tute these actions. However, temporal relations between e vents do n ot always completely determine temporal relations between a ctions. In this case, w e need additional relations. These relations can be correspondences between ti me scales when events with tags that have values in ti me scales are used in actions. Additional temporal relations can also be precedence relations indicating when one of actions precedes another in the given pro cess or how some ev ents precedes oth er events i n the actions that constitute the given process. Similar to commun ication actions, we define communication p rocesses. Definition 2.30. A process P is called a commu nication process if it consists of communication actions. Definition 2.31. A process P is called a pure communicati on process if i t consists only of pure communication actions. Definition 2.32. A process P i s called finite if it c onsists of a finite number of finite actions. Otherwise, P is c alled infinite . For a lon g tim e, comp uter scientists stu died and accepted onl y finite pro cesses. The finiteness condition was even included in definit ions of the m ain mathemati cal models of al gorithms, s uch as Turing m achines. However, i nfinite processes become more an d more im portant in theoretical studies and pr actical applications (cf., for ex ample (Burgin, 2005; Park, 1980; Rabin, 1969; Vardi, 1994)). Definition 2 .33. Any subset of a process P in which all relations between events are induced b y r elations in P is called a subprocess of P . Proposition 2.8. An y subprocess of a subprocess of P is itself a subprocess of P . Proposition 2.9. Any subprocess of a pure comm unication or/and finite process P is itself a pure communicati on or/and finite proces s. For communication proc esses, this result in general is not true. Definition 2.34. Any s ubset Q o f a pro cess P in which relations between ev ents include all relations indu ced by relations in P is called an enhanced subprocess of P . Thus, any subprocess of a process is an enhanced subprocess of the same p rocess. Proposition 2.10. An y enhanced subprocess of an enhanced subp rocess of P is itself an enhanced subprocess of P . Proposition 2.11. An y enhanced subprocess of a pure comm unication or/and finite process P is itself a pure communication or/and fin ite process. Similar to actions, it is ne cessar y to discern processes that were realized, i.e., processes that consis t of actions that alre ad y hap pened, and pot ential pro cesses, which represent alternate versions o f what may happen. Thi s gives us three types of process es: - An actualized process is a process that consists o f actualized actions. - A potential process is a process, fo r which includes all actions and events f or all possible realizations of thi s process. - An emerging process is a process that consists of two parts (subprocesses) : one is an actualiz ed process, whi le another is a potent ial process. When w e t ake with the conventional linear scale, such as ph ysical time in Newtonian mechanics, then all events from the first (actualized) part of an eme rging process must precede all events from the se cond (potential) part of thi s process. For instance, the choice operation +, whi ch i s u sed i n m any m odels of con currenc y (cf., for ex ample, ((Ber gstra and Klop, 1984)), transforms any two pr ocesses into a potential process. Potential processes are s chemas (Bur gin, 2006), plans or programs for realization. Any r ealization of a potential process i s an actu alized process. Note that it is possible that a potential process c onsists o nly of actualiz ed actions. Examples of s uch processes give the choice operation appli ed to two actualized actions. Temporal relations between events allo w us to separate special class es of events. Definition 2.35 (Burgin and Smith, 2006; 2006a). A coexisti ng pair of events consists of two events w here one starts before the nex t ends. Definition 2 .36 (Burgin and Smith, 2006; 2 006a). A separable pair of events consists of two events that are not coexisting. To formalize the condi tion o f action separabi lity, we defi ne the be ginning and the end of an a ction from so me action A . Namel y, the beginning t bA of an a ction A is equal to t bA = min { p T ( t ) ; e ∈ A , and t is the tag of e } The end t eA of an action A is defined as follows: t eA = max { p T ( t ) ; e ∈ A , and t is the tag of e } Definition 2 .37. a) Two actions are c alled separable when the end of one of t hem is less than or equal to the beginnin g of the other. b) Two actions are called strictly separable when t he end of one of them is less t han the beginning of the other. Definition 2.38. A process P is called action sequenti al i f all actions from A are separable from one anoth er in the sense of Definition 2 .39. A process P is called strictly sequential if all actions from P are sequential and separable from one anothe r. Proposition 2 .12. Any subprocess of an action sequential (st rictly sequential) process of P is an action sequential (strictl y sequential) process. Definition 2 .40. A process P is called interleaving i f all events from P have different time, i.e., if e i = ( d i , t i ) and e j = ( d j , t j ) are events from A , then p T ( t i ) = p T ( t j ) implies e i = e j . Proposition 2.13. An y s ubprocess of an interleavi ng process of P is an int erleaving process. Proposition 2.14. An y i nterleaving p rocess o f P that has onl y point-like events is strictly sequential. For processes with exten ded and/or pointed events, t his result in general is not true. 3. Algebras of Events, Actions, and Proc esses 3.1. Algebraic Found ations for Modeli ng Concurrency As in our model, we have three levels of d escription of concurrent processes, formalization of this m odel brings us to three-level algebras. Definition 3.1. A three-level algebra M = ( A , B , C , H , K ) consists of t hree horizontal algebras A , B , and C called levels and two vertical algebras H and K called lifts : 1. The first level is A = ( G A , Op A , A ) where G A is a set of generators of t he al gebra A , Op A is the set of all operations of the algebra A , and A is the s upport (set of all elements) of the algebra A . Operations from Op A are called inner o r intern al operations of the algebra A , or horizontal o perations of the algebra M . 2. The first lifting algebra is H = ( A , O p , B ) where A is the support of the algebra A , O p is the s et of all op erations of the algebra H , a nd B is the support of the algebra B . Operations from O p are called inner o r internal operations of the al gebra H , or vertical operations of the algebra M . Operation s from O p are applied to el ements from A t o build elements from B and we assum e that all elements from B ar e built in such a wa y. Vertical operations are graded operations similar to operations in graded algebras (Higgins, 1963). 3. The second level i s B = ( G B , Op B , B ) whe re G B is a set of generat ors of the algebra B , Op B is the s et of all operations of the algebra B , and B is the support of t he algebra B . Operations from Op A are called inner or internal operations of the al gebra B , or horizontal operations of the al gebra M . 4. The second li fting al gebra is K = ( B , O pp , C ) where B is the support of the algebra B , O pp is the set of all operations of the algebra K , and C i s the support of the algebra C . Operations from O p are called inner o r internal operations of the al gebra H , or vertical operations of th e algebr a M . Operations from O pp are applied to elements from B to build elements from C an d we assume that all ele ments from C are built in s uch a way. 5. The t hird level is C = ( G C , Op C , C ) where G C is a set of generators of the algebra C , Op C is the set of all op erations of the algebra C , and C is the supp ort of the algebra C . Operations from Op A are called inn er or int ernal operations of the algebra C , or horizontal operations of the al gebra M . We assume that all operations and consequently, so me of these algebras can be partial. Howev er, bu ilding al gebras of events, actions, and processes, we do not specif y when operations and cor responding algebras are total or partial. For instance, a monoid or a group is a t otal algebra, while a categor y is a partial al gebra. Often we conside r total operations (total algebras) as pa rticular cases of partial operations (partial algebras). Note that three-level alge bras, like ordinary (universal) algebras, can have a dditional structures, such as topolog y or order (Bourbaki, 1960 ; Kurosh, 1963). Three levels and two lifts give us the fol lowing partiall y commutative diagram: Op A G A A O p O p Op B G B B (1) O pp O pp Op C G C C Taking sets Op B ind and Op C ind of operations induced b y operations from Op A and Op B in algebr as B and C instead of sets Op B and Op C , cor respondingl y, in the di agram (1), we obtain two commutative squares (2) and (3). Op A G A A O p O p Op B ind G B B (2) G B B O pp O pp Op C ind G C C (3) In a natural wa y, homomorphisms of three-level al gebras are defined. Three-level algebras are generalizati ons of graded algebras in the sens e of (Higgins, 1963). 3.2. General principl es for compositions of p rocesses and actions Usually onl y two compositions of processes, also called operations with processes, are consi dered: parallel and sequential compo sition. In practic e, for exampl e, in concurrent programmin g languages more co mpositi ons have been developed. In (Burgin and Smi th, 2006, 2006a), it is demon strated that t here are even several kin ds o f sequential composition. As our goal is to build algebras of p rocesses, we need to determine enough compositions of processes to be able to model real situ ations that exist in concurrent computations, communi cations and networking. We start with developing a t ypology of process com positions. This typology will give us a plan for designing flexib le and efficient constructions of process compos itions. Here we consider onl y binary compositions. Ternary and hi gher arity compositi ons are considered elsewhere. Temporal t ypes of processes and actions compositions: 1. S equential compositions. 2. C oncurrent compositions. 3. Mul tiscale compositions. Sequential composition s of processes have three sub types: 1. C onsequential compositions . 2. Action i nterleaving composit ions. 3. Event i nterleaving compositi ons. Concurrent compositions of process es and actions have three subt ypes: 1. Free compositions. 2. Parallel compositions. 3. Partially parallel composit ions. Information types of processes and action s composit ions: 1. Composit ions without interactions. 2. Interactive compositions . 3. Transformative composit ions. Interactive compo sitions are bui lt to r eflect i nteractions b etween processes and actions without taking i nto account substanti al and informational content of int eractions. Transformative compositi ons are built to organize interactions betwe en processes and actions and rep resent no t onl y how this in teraction goes but also what i s exchan ged between processes and actions. In particular, informatio n transmi ssion and transformation is expli citly described. According to the form, there are two t ypes of composi tion: 1. Compositions with explicit interactions. 2. Compositions with implicit interactions. 3. Compositions with both types of interaction. It is necessar y to r emark that algebras of proc esses have una ry operatio ns and operations with arit y more than 2, i.e ., applied to more than two elem ents (events, actions or processes), i n addit ion to various ty pes of binar y compos itions . Some operations are total, while o thers are partial, i.e., u ndefined for some elements of these algebras. Some operations that have arit y m ore t han 2 are generated b y binar y compositions, whil e others cannot be reduced to binar y compositions. 3.3. Compositions of Events As systems V and ST have t opological and algebraic structures, these structures induce corresponding str uctures in sets EV NV , ST , EV NV , E ST , and EV NV , kST of events. For inst ance, the semanti c s ystem V is us uall y an algebraic s ystem. This m eans t hat there are (in general, partial) operations in V . T hese operati ons indu ce correspondin g operations in the system of names N . This allo ws us to define such a parti al binar y operation in the space E V NV , ST of point-like events as the di rect parallel composition of poi nt-like events. Let m be a binar y operation in N , and e 1 = ( d 1 , t ) and e 2 = ( d 2 , t ) be parallel point- like events. When the semantic function sem is one- to-one, operations in N are usuall y induced b y operations in V . Definition 3.2. The ( direct parall el ) m -compositi on m ( e 1 , e 2 ) of events e 1 and e 2 is defined by the formula m ( e 1 , e 2 ) = ( m ( d 1 , d 2 ), t ) Example 3.1. Parallel c omposition of information processing events is used fo r constructing an operation of a Turin g machine from such events as changing the state of the machine, writi ng a symbol in a cell, e rasing a s ymbol from a cell, and movi ng the head of the machine. Example 3.2. In M IMD computi ng a rchitecture, several functional units perform different operations on different d ata. Ex amples are a multiprocessor or transputer computer, or a n etwork of workstations. In this case, an event is a combined operation of several functional units. This event is a composition of operations in each separate unit. Similar operations o n events are organized in SIMD computing architecture. When both systems N and ST are metric spac es with distances d N and d ST , correspondingl y, it is p ossible to introduce a metric in EV NV , ST , making EV NV , ST a metric space. One wa y to define a metri c in EV NV , ST , is to use the Eucli dean extension of metrics. Namely, if w e take two events e 1 = ( d 1 , t 1 ) and e 2 = ( d 2 , t 2 ) from EV NV , ST , then the distance between them is equal to d ( e 1 , e 2 ) = √ d N 2 ( d 1 , d 2 ) + d ST 2 ( t 1 , t 2 ) . Another w ay to do this, is to use the Shannon extension of metrics. Namel y, if we take two events e 1 = ( d 1 , t 1 ) and e 2 = ( d 2 , t 2 ) from EV NV , ST , then d ( e 1 , e 2 ) = d N ( d 1 , d 2 ) + d ST ( t 1 , t 2 ) . To develop compositions of events, we assume t hat the semantic s ystem V is an algebraic system. This means that t here are (in general, parti al) operations in V . Proposition 3.1. a) m ( e 1 , e 2 ) || e 1 || e 2 . b) If e 1 || e 2 || e 3 || e 4 , then m ( e 1 , e 2 ) || m ( e 3 , e 4 ) and m ( e 1 , e 2 ) || e 3 || e 4 . A useful operation with events is a shift. Let sft : ST → ST be an arbi trary mapping and e = ( v , t ) be an event from EV V , ST . Definition 3 .3. The sft -shift F sft ( e ) of the events is equal to ( v , sft ( t )). Proposition 3.2. If two e vents are parallel, then th e results of the sft -shift o f these events are parallel. Let sft : ST → ST be a mapping such that sft ( t 1 ) = t 2 and e 1 = ( v 1 , t 1 ) and e 2 = ( v 2 , t 2 ) be events from EV V , ST . Definition 3.4. The shifted m -compositi on m sft ( e 1 , e 2 ) of events e 1 and e 2 i s defined by the formula m sft ( e 1 , e 2 ) = ( m ( d 1 , d 2 ), t 2 ) Informally, shifted m -com position means that at first we shift the first event to t he same position in ti me and space that has the second event and then apply the direct parallel composition. Definition 3.3 impli es that m sft ( e 1 , e 2 ) is always parallel to e 2 . Proposition 3.3. If e 2 || e 4 , then m sft ( e 1 , e 2 ) || m sft ( e 3 , e 4 ). Indeed, validit y o f the rel ation of parallelism || depends onl y on the time projection of the event tags, whi le the s hifted m -composi tion changes onl y names of events and takes the t ag of th e second event from this composition. It means that time projections of both compositions coincide wit h projections of t he corresponding secon d arguments in t hese composi tions and b y t he initial condi tion this time is the same for both second arguments as the y are parallel. A semantic shift of events is called renaming as it is possible to consider values of events as names of these events. Let rn : V → V be an arbitrar y mapping and e = ( v , t ) be an event from EV V , ST . Definition 3 .5. The rn -renaming R rn ( e ) of the events is equal to ( rn ( v ), t ). Proposition 3.4. If e 1 || e 2 , then R rn ( e 1 ) || R rn ( e 2 ). Indeed, validit y o f the rel ation of parallelism || depends onl y on the time projection of the event tags, while r enaming changes onl y names of events. 3.4. Compositions of Actions There is a diversit y of compositions of a ctions and even l arger div ersity of compositions of process es. Man y of these compositio ns are used in prac tice. Our goal here is to develop a theoretical found ation for communi cation and computation in technical and other s y stems, as well as to study thes e compo sitions with the aim to provide new efficient me ans for communication a nd computing practice. Definition 3.6. The free composition of actions A 1 and A 2 is the action A that consists of all events from A 1 and A 2 taken with out changes and without introduction of new relations. The free composition of actions A 1 and A 2 is denoted by A 1 ∪ A 2 . Note that the free composi tion of actions A 1 and A 2 is not simpl y the union of two sets A 1 and A 2 because the free composition takes into account exis ting relations between events in A 1 and A 2 . Definition 3.7. The meet of actions A 1 and A 2 is defined as the action that consists of all events that a re ele ments of both A 1 and A 2 and all relations between these events that belong both to A 1 and A 2 . The meet of actions A 1 and A 2 is denoted by A 1 ∩ A 2 . Note that t he meet of actions A 1 and A 2 is not simply the interse ction of two sets A 1 and A 2 because the m eet takes into account exis ting r elations between events in A 1 and A 2 . Let E b e some set of events and A( E ) be the set o f all actions generated b y the events from E , i.e., elements of action from A( E ) are events from E and only such events. Theorem 3.1. a) Th e free compositi on of actions is an idempotent, co mmutative and associative operation, i.e., the set A( E ) is an Abelian (commut ative) monoid with the empty action as its identit y element, as well as a semilatti ce. b) The set A( E ) is a Boolean al gebra with respect to op erations ∪ and ∩ . To build other compositi ons of actions, we use shifts of actions. An y shift of an action is constitut ed of the shifts of events comprised in this action. Proposition 3.5. The result of any shi ft of an action A without r epetition is an action without repetition. For coordinated and sequ ential actions, this is n ot true in general. However, in som e cases, we have the same result. Definition 3 .8. A shift of an action A is uniform if the shifts of all events fro m A are defined by the same map ping sft : ST → ST . Proposition 3.6. The result of a uniform shift of a coordinated (sequential) action A is a coordinated (corresp ondingly, sequential) actio n. Proposition 3.7. The result of an y ren aming of a sequenti al a ction A is a s equential action. For coordinated actions a nd actions without repetition , this is not t rue in general. However, in some cases, we have th e same result. Proposition 3.8. If rn : V → V is an injection, the n the result of the correspondi ng renaming of a coordinated action (action without repetition) is a coordinated action (correspondingly, action without repetition). Definition 3.9. A free sequential composit ion of actions A 1 and A 2 is obtained by the following operations: - at first, we shift, if nece ssar y, all events i n A 2 with a shift sft , so that for an y events e i from A 1 and e j from A 2 , tim e in the s hifted event F sft ( e j ) is lar ger than t ime in the shifted event e i ; - then we take the free composit ion of these actions A 1 and F sft ( A 2 ) . The free sequential comp osition of actions A 1 and A 2 is denoted by A 1 ⋅ A 2 . If the first process is finite, then it s free sequential composi tion with an y other process is defined. Note t hat the case i = j is also includ ed in the definition. Proposition 3.9. The fr ee sequential composi tion of two sequential actions is a sequential action. Definition 3.10. A free interleaving composi tion of two actions A 1 and A 2 i s obtained by the followin g operations: - at first, we shift, if necessary, all events in A 2 with a shift sft , so that for any events e 1 from A 1 and e 2 from A 2 , time in the s hifted event F sft ( e 2 ) is not equal to time in the shifted eve nt e 1 ; - then we take the free compos ition of these actions A 1 and F sft ( A 2 ) . The free interleaving com position of actions A 1 and A 2 is denoted by A 1 Θ A 2 . Proposition 3.10. The free interleavin g composition of two sequential action s is a sequential action. Let W ⊆ V . Definition 3.11. The W -projection P r W ( A ) of an action A is obtained b y excluding from A all events with values no t in W . Let K ⊆ ST . Definition 3.12. The K -projection Pr K ( A ) of an actio n A is by excluding from A all events with tags not in K . Lemma 3.1. An y projection of an action A is a sub action of A . Theorem 3.2. Any projection of a coordinated ac tion (action without repetitio n or sequential action) A is a coordinated action (respectively, action without repetiti on or sequential action). Definition 3.13. A free parallel composi tion o f two actions A 1 and A 2 is obtained by the following operatio ns: - at first, we shift some events i n A 2 with a shift sft , so that all parallel events in A 2 preserve their parallelism and som e events in F sft ( A 2 ) become parallel to some events in A 1 ; - then we take the free compos ition of these actions A 1 and F sft ( A 2 ) . The free parallel composi tion of actions A 1 and A 2 is denoted by π ( A 1 , A 2 ). We remind the reader that as we conside r only point-like events, t heir parallelism means that the y happen simultaneously. Usuall y parallel composition has definite restrictions. These restricti ons can come from: - realization of actions and events, e. g., if we have ten processors, we cannot simultaneousl y perform eleven operations when each oper ation demands on e processor; - the algorithm, e.g., we can not simultaneousl y perform t wo operations if one of them uses the resu lt of the other one. Proposition 3.11. If π is a free parallel composition of actions A and B , then m par ( π ( A , B )) > max { m par ( A ), m par ( B ) } and m par ( π ( A , B )) ≥ m par ( A ) + m par ( B ). 3.5. Compositions of Processes The most basic composition of processes is their free com position. Definition 3.14. The free composition of proc esses P 1 and P 2 is the process P that consists of all actions fr om P 1 and P 2 taken without changes and i ntroduction of new relations. The free composition of actions processes P 1 and P 2 is denoted by P 1 ∪ P 2 . Note that the free composi tion of processes P 1 and P 2 is not simpl y the union of two sets P 1 and P 2 because the free composition takes into account exis ting relations between actions in P 1 and P 2 . Definition 3.15. The meet of p rocesses P 1 and P 2 is defined as the proce ss Q that consists of all actions that are elements of both P 1 and P 2 and all relations between these actions that belong both to P 1 and P 2 . The meet of processes P 1 and P 2 is denoted by P 1 ∩ P 2 . Note t hat t he meet of P 1 and P 2 i s not simpl y the intersection of two sets P 1 and P 2 because the meet takes into account ex isting relations between events in P 1 and P 2 . Let A be some set of acti ons and P( A ) be the set of all actions generated b y the actions from A , i.e., ele ments of action from P( A ) are events f rom A a nd only such events. Theorem 3.3 . a ) The free com position of processes is an idempotent, comm utative and associative op eration, i.e., the set P ( A ) is an Abelian ( commutative) mo noid with the empty process as its i dentity element, as well as a semi lattice. b) The set P( A ) is a Boolean al gebra with respect to o perations ∪ and ∩ . To build other compositi ons of processes, we use shi fts of processes. Any shift o f a process is constituted of the shi fts of events comprised in th is process. Proposition 3.12. The result of any s hift of a process P without repetition is a process without repetitio n. For coordinated and sequ ential processes, a similar statement i s not true in general. However, in some cases, we have th e same result. Definition 3.16. A shift of a process P is uniform if the shi fts o f all events from P are defined by the same mapping sft : ST → ST . Proposition 3 .13. The result of a uniform shi ft of a coo rdinated (s equential) process P is a coordinated (correspond ingly, sequenti al) process. Proposition 3.14. The result of any renaming of a sequential process P is a sequential process. For coordinated processes and process es without repetition, th is is not true in general. However, in so me cases, we have the sam e result. Proposition 3.15. I f rn : V → V is an injection, th en the r esult of the correspo nding renaming of a coo rdinated process (process without repetition) is a coordinated process (correspondingly, process wi thout repetition). Definition 3.17. A free s equential composition of processes P 1 and P 2 is obtained the following operations: - at first, we shift, if necessary, all events in P 2 with a shift sft , so that for any ev ents e i from P 1 and e j from P 2 , tim e in the shifted event F sft ( e j ) is larger than time in the shifted event e i ; - then we take the free compos ition of these processes P 1 and F sft ( P 2 ) . The free sequential comp osition of processes P 1 and P 2 is denoted by P 1 ⋅ P 2 . If t he first process is finite, then its fr ee sequential composi tion with any other process is defined. Note t hat the case i = j is also includ ed in the definition. Proposition 3.16. The free sequential compositio n of two sequential processes is a sequential process. Definition 3.18 . A free interleaving composition of two processes P 1 and P 2 is obtained by the followin g operations: - at first, we uni formly shift, if necessar y, all actions in P 2 with a shift sft , so that for an y events e 1 from an action A 1 from P 1 and e 2 from an action A 2 from P 2 , time in the shifted event F sft ( e 2 ) is not equal to time in the shifted event e 1 ; - then we take the free compos ition of these processes P 1 and F sft ( P 2 ) . The free interleaving com position of processes P 1 and P 2 is denoted by P 1 Θ P 2 . Proposition 3.17. The free interleavin g composition of two sequential pro cesses is a sequential process. Let W ⊆ V . Definition 3.19. The W -projection of a process P is obtained by excluding from A all events with values not in W . Let K ⊆ ST . Definition 3.20. The K -projection of a process P i s by excluding from P al l events with tags not in K . Lemma 3.2. An y projection of a process P is a su bprocess of P . Theorem 3.4. An y p rojection of a coordinated process (process wi thout repetition or sequential process) P i s a coordinated process (r espectively, pro cess without repetition or sequential process). Definition 3.21. A free par allel composit ion of two processes P 1 and P 2 is obtained by: - at first, shifting so me events in P 2 with a shift sft , so that all parallel events in P 2 preserve their parallelism and som e events in F sft ( P 2 ) become parallel to some events in P 1 ; - then taking the free compos ition of these processes P 1 and F sft ( P 2 ) . We remind the reader that as we conside r only point-like events, t heir parallelism means that the y happen simultaneously. Usuall y parallel composition has definite restrictions. These restricti ons can come from: - realization of processes and events, e.g., if we have ten proc essors, we cannot simultaneousl y perform eleven operations when each operation dem ands on e processor; - from the algorithm, e.g., we cannot sim ultaneously perform two o perations if one of them uses the result of th e other one. Proposition 3.18. If π is a parallel composition o f processs P and B , then m par ( π ( P , Q )) > max { m par ( P ), m par ( Q ) } and m par ( π ( P , Q )) ≥ m par ( P ) + m par ( Q ). 3.6. Algebras of Process es For processes, we build the following three-level process al gebra P r = ( Ev , Ac , Pr , EA , AP ) in EAP. 1. The first level E v = ( EE , Op E , Ev ) is an al gebra of events. In it, EE is a set of elementary events in so me s ystem R , whi ch are generators of the algebra Ev , Op E is the set of all operations of the algebra Ev , and Ev is a set of events i n th e s ystem R , whic h form the sup port (set of all elements) of t he algebra E v . Operations from Op E are called inner or in ternal operations of the algebra of ev ents Ev , or horizontal operations of the process algebra Pr . The s y stem of operations in the algebra Ev contains oprations on events d escribed i n the previous section: the direct parallel m -composition m ( e 1 , e 2 ), strong sequential composition e 1 ° e 2 , and shifted m -composition m sft ( e 1 , e 2 ) of events, sft -shift F sft ( e ) and rn -renaming R rn ( e ) of an event. 2. The first l ifting algebr a i s EA = ( Ev , O p , Ac ) where A is t he su pport of the algebra A , O p is the set of all operations of the algebra H , and B is t he support of the algebr a B . Operations from O p are called inner o r internal operations of the al gebra H , or vertical operations of the proc ess algebra Pr . Operations from O p are applied to elements from Ev to build elements fro m Ac and we assum e that all elements f rom B are built in such a way. 3. The second level A c = ( Ac , Op Ac , Ac ) is an al gebra of action s. In it, Op A is the set of all operations in actions and A c is a set of acti ons i n the s ystem R , which form th e support of the algebr a of actions Ac . Operations from Op Ac are called inner or int ernal operations of the algebra of actions Ac , or horizontal operations of the process algebra Pr . The system o f operati ons in the algebra Ac contains oprations on action s described i n the previous s ection: t he fr ee composit ion A 1 ∪ A 2 , meet A 1 ∩ A 2 , free s equential composition A 1 ⋅ A 2 , free interleaving compo sition A 1 Θ A 2 , st rong sequential composition A 1 ○ A 2 , free parallel composition π ( A 1 , A 2 ) of actions, and W -projection Pr W ( A ), K -projection Pr K ( A ), sft -shift F sft ( A ) and rn -renaming R rn ( A ) of an action. 4. The second lifting algebra is K = ( B , O pp , Pr ) where B is the support o f the algebra B , O pp is the set of all operations of t he algebra K , and C is the support of the algebra C . Operations from O p are called inner or internal operations of t he algebra H , or vertical operations of t he process algebra Pr . Op erations f rom O pp are appl ied t o elements from B t o bui ld elements from C and we assum e that all elements from C are built in such a way. 5. The t hird level Pr = ( Pr , Op Pr , Pr ) is an algebra of processes. In it , Op Pr is the set of all operations in processes and Pr is a set o f processes in the s ystem R , which form the support (set of all elements) of the algebra of processes Pr . Operatio ns from Op Pr are called inn er or internal operations of the algebra of processes Pr , or horizont al operations of the process algebra Pr . The s ystem of ope rations in the algebra Pr contains oprations on processes described in the previou s section: the fr ee compositi on P 1 ∪ P 2 , meet P 1 ∩ P 2 , free sequential compos ition P 1 ⋅ P 2 , free interleaving composition A 1 Θ A 2 , free parallel composition π ( A 1 , A 2 ) of processes, and W -proje ction Pr W ( P ), K -projectio n Pr K ( P ), sft - shift F sft ( P ) and rn -renaming R rn ( P ) of a process. Some operations in event s, actions, and processes are total, while others are partial. 4. EAP and other Concurrency Models 4.1. Comparing EAP with ESP Lee and San giovanni-Vincentelli (1996) describ e a con currenc y met amodel, ESP , the basic elements of which are events, signals, and processes. ESP is intended to provide a framework for comparing other exi sting computational models in terms of how c oncurrenc y, communication, and time are represent ed. In this subsection, we demonstrate that the ESP metamodel is a special case of ou r more general EAP metamodel. Specificall y, we d escribe how i t is p ossible within EAP to reason about all the models of concurrency one can use ESP to reason about. In the process, it will become evident that EAP may be also used t o reason about concurrent s ystems that the ESP metamodel does not readily s upport. This shows greater descriptive and cognitive power of EAP in compar ison with ESP . To rep resent b asic constructs from ESP in EAP, we start wi th ev ents. Namely, th e set of all events in ES P is corresponded to a sub set EV ESP of t he set E V NV , ST of po int- like events, which we d efined in S ection 2. ESP events are t ag-value p airs where t he value belon gs to a set V and represents an observable event, while the tag belongs to a set T. In other words, T × V, is the s et of all event s from ESP. The value of an event describes what happens i n this event, whil e the t ag indicates the instant in time when the corresponding event occurred. Thus, we need to take a s ubset EV ESP such that N = V = V and ST = T, whi le t he semantic function sem and the natural projection p T are identit y mappings. These conditions make the set T × V of all events in ESP and t he set EV ESP isomorphic and provide a representation of all events from ESP in the set EV ESP from EAP. It is necessar y to remark that, as Lee and San giovanni-Vincentelli write (1 996), tags of events from ES P, in a general case, are able to indicate not onl y time. Howeve r, this is als o true for tags in EAP, which contain the space coordinate in addition to the tim e coordinate and can belong to a broade r structure than the space-time manif old. Events in ESP are used to build si gnals, the basic construct from the nex t level of ESP. These signals are subsets of the direct product T × V and may be represented as sets or tuples of events. The set S of all signals from ESP naturall y coinc ides with the powerset of T × V. If n is a natural number, then the set containing all collections (or tuples) of signals of size n is denoted S n . At the sa me time, the a ggregations of events in EAP are actions, and th e signals of ES P are on e t ype o f actions where all events are from the set E V ESP and there a re no additional relations between these ev ents in the corresponding action. As a result, these condit ions and the restriction of ESP ’s point- like events considered above reduces EAP ’s actions to s ignals within ESP. Signals in ESP are used t o build processes, the ba sic construct from the to p level o f ESP. A process, in ESP, is an n -tu ple of si gnals, t hat is, an element f rom S n for some n . Signals in these proces ses are used for interacti ons between processes as Le e and Sangiovanni-Vincentelli remark (1996). Thus, an y process from ES P can be represented by such a proc ess in EAP in whi ch all actions are signals and include onl y poi nt-like events. This shows that the EAP m etamodel compl etely encompasses the E SP metamodel. However, EAP provides much more possibi lities for modeling real concurrent processes in various s ystems: in computers and computer networks, in embedded systems and biolo gical organism, and s o on. For example, the inclusion of events with duration permits actions that cannot be represe nted by ESP’s signals. For example , ESP’s signals m ay inclu de only events that occur either sequentially or simul taneously, but EAP’s actions may also include partially overlapping events. One more important feature of bi g d yna mical systems ( either ph ysical systems or global netwo rks) is tim e relativity. In the ESP metamodel, relativist ic eff ects are neglected and i t is assumed that time i s the same ever ywhere. In contrast t o this, the EAP metamodel base i ts constructions on the space-time m anifold ST , whi ch allows one to take into account relativistic and other effects that are inhe rent for big d yna mical s ystems. Beyond the differences in temporal relationships between events that distinguish actions from si gnals, the re is anothe r signi ficant difference in m eaning b etween th ese two middle-tier compon ents of ES P and EAP. Sig nals from ESP rep resent possible behaviors of a process . That is, a si gnal represents a possib le trace of a process, and b y extension, a process under ES P is defined b y i ts set of possible behaviors, or simpl y, a set of si gnals. In cont rast, the actions of E AP do not alwa ys represent b ehaviors of one process, pe r se, but rather permit re asoning about crosscutting m ulti-process and sub- process b ehavior, e.g., threads and fibers. Thus, EAP actions permit reasoning about process int eractions directl y, and are m ore than an intermediate level of co mposition for processes. This crosscu tting middle tier is an important contribution of EAP. In addition, three types of actions, actualized, potent ial and emerging, allow one not onl y to represent possible be haviors of a s y stem, b ut also to di scern what really happened from what can tentatively be. Demonstrating that EAP models all poss ibilities of ESP to reason about concurrent processes and taking in to account transitivit y of modeling relation, we have as a consequence that EAP can represent and encompass the cluster of concurrenc y models that are comprised b y ES P. As it is establisht ed in (Lee and San giovanni-Vincentelli, 1996), t his cluster contains such models as Kahn process n etworks (Kahn, 1974), the CSP model of Hoare (19 85), the CCS model of Mil ner (1989), the dataflo w m odel (Lee and Parks, 1995), Petri nets (Petri, 1962; P eterson, 1991; Reisig, 1985) and other discrete-event simulators . ESP’s definition of process is consistent with the CSP Traces m odel, and the b asis for the CSP’s process calculus (Hoare, 1985). That is, one can reason about properties of a process b y reasoning about all poss ible beh aviors of a process. Moreover, ESP’s definition of events su pport directl y reasoning about par allel events in the spi rit of View-Centric Reasoni ng (VCR) by Smit h (2000), which itself was an ex tension of CSP . However, VC R goes further to provi de the po ssibil ity of multiple, possib ly im perfect observers, and b y extension, mu ltiple corresponding views of the s ame computation. These views permit reas oning about amb iguities such as occur in the Linda model when Linda p redicate operations rdp() and inp() indicate a failure to match a tuple in Tuple Space. This scenario is discussed in greater detail in Smit h (2000). Without multiple perspectives (views) of a computation’s history, i t is difficult to appreciate the subtlet y and subsequent disambiguation of t hese operations in the case of failure. 4.2. Comparing EAP with VCR In this section we compare EAP with View-Cen tric Reasonin g (VCR). VCR arose from the operational sem antics for concurrency developed b y Smith (2000). Th is operational semantics, in addition to provi ding a description of how computati on proceeds for generic concurrent s ystems, also aff orded me ans for const ructing p arallel event tra ces si milar to Hoare’s construction of ev ent t races i n C SP (Hoare 1985). Thus, VCR t races are derived from an operational se mantics f or concurrenc y, while CSP traces are derived from a process al gebra. We now relate the p rocess algebra of CSP and operational semantics of VCR, and along th e wa y, provide me ans for comparison between VCR and EAP. In Smith (2000), a parameterized, parallel and dist ributed operational semantics (paraDOS) is developed as a meta model for reaso ning about concurrency. Moreove r, paraDOS form the basis for View-Centric Reasoning (VCR). The firs t models of concurrency paraDOS ha s been in stantiated for ar e Actors and Linda. The Actors model and the Linda model were chos en to be instantiated because the y represent ve ry different models of concurrenc y, and mo deling both was able to dem onstrate the genericity of paraDOS a nd VCR. Before describing the c omponents of paraDOS in more det ail, it is helpful to describe the two m odels that were instantiated: Actors and Linda. This will permit a better u nderstanding of paraDOS, which provide the means of this instantiation. The Actors mod el is due t o Agha (1986), with later developm ent b y Agha, et al (1997) and Mason and Talcott (199 7). The Linda model is due to Gele rnter (1985), wit h later pertinent development by C arriero and Gelernter (1993). Both models are pois ed to play important roles in h arnessing t he computational power of mul ticore pro cessor architectures, which p rovides an add ed dimension of relevance to bein g able to re ason about concurrent s ystems based on these models. Let us brie fly consider the Actors model. In it, an actor i s represented by its mail queue, and an a ctor machine is an inst ance of an actor’ s behavior (i.e., of a continuation). An actor machine is bound to one (and only one) element of the actor’s mail queue. An actor machine’s behavior is a function of the messa ge it receives from its mail queue. Actors c ommunicate by sendin g m essages (as ynchronously) to another actor’s mail queue. Message deliver y is guarant eed (in the limit), though order of delivery is not. Th us, the Actors model is super-recursive (cf. (Burgin, 2005)) because message delivery i s guaranteed onl y in the lim it. As a result, the time and order of message deliver y are the major sour ces of nondeterminism in the Actors model of concurrency. The Linda m odel, in contrast, is not based on message passing, but neither it is a classic shared memor y model. Gelernter (1985) classified the Linda model as a new communication p aradigm, d escribing it as generative comm unication. Linda is noted for its comm unication orthogonalit y, with communications b eing decoup led i n three dimensions: destination (anonymous “receivers”), space (heterogeneous communication), and time (time-disjoint interprocess com munication). Linda process es share access to a distributed, associative memor y c alled tuple space, wh ere tuples may be placed, copied, and removed b y th e Linda la nguage p rimitives out(), rd(), and in(), respectively. Linda is a coordinati on and coordination language that augments an existing computational l anguage. S ources of nondetermin ism in L inda arise when a single L inda process c ould match mul tiple tuples, or when multiple sim ultaneous processes vie for the same tuple. In designing paraDOS as a metamodel for concu rrency, Smith (2000) observed that all concurrent s ystems could be cha racterized as consisting of p rocesses and interprocess communications . The operational semanti cs of paraDOS required identifying the com ponents of a s ystem’s state, and definin g a trans ition relation between states. What res ulted was a st ate that consists of a 4-tuple containi ng a set of process b ehaviors, a s et of communication closures, a parallel event set, and, recursively, the next state to which compu tation proceeds. The set of p rocess behaviors is represented b y continuations. The communication closures are bound expressions, which serve as a unif ying abstraction for a variety of comm unication paradi gms, such as shared memor y and mess age passing. Th e parallel event set cont ains th e multiset o f observable events that o ccurred in transition ing from the previous state to the curr ent state. The parallel event set permits constructing t races of a system’s computation, and it is this trace th at connects paraDOS and VCR t o both CSP and EAP. The final element of the 4-tuple is th e recursive next st ate, which is laz y in that i t d oes not exist unti l the transition relation elaborates it (i.e., the transit ion relation chooses which state t o elaborate from among the set of all p ossible next s tates). Thus, to instantiate paraDOS for Actors and Lind a, one must define the co mponents that collectively make up th e state, and the transition relation betwe en states. An important part of this inst antiation process is identif ying which events are observable as a system transitions from st ate to state. For the Actors ins tantiation of paraDOS, observable events are the s ending and deliver y of messages to an actor’s mail queue. For the Linda instantiation of paraDOS, observable events include the creation, copying, and consuming of tuples in tu ple space. More details on t he instantiation of paraDOS for Actors and Linda are presented in (S mith, 2000). In both instances of paraDOS, the observable events represent s tages of communication progress. In two theo rems proved in (Smith, 2000 ) equivalence between Actors, Linda and corresponding restricted versions of paraDOS is established. Namel y, th e first theorem demonstrates equivalence of a restricted version of paraDOS for Actors to the Actor Theory operational semantics i ntroduced by Mason and Talcott (Mason & Ta lcott, 1997). The second theorem demonstrates equi valence of a restricted version of paraDOS for Linda to th e TSspec operational s emantics dev eloped by Jens en (1994) and Ciancarini, et al. (1994). The restriction on paraDOS for both instantiations concerns one of its par ameters, transit ion density, which was set to 1 to facilitate comparison with the Actor Theory and TSspec operational semantics, which were each limi ted to transitions involvi ng only a sin gle obs ervable event. W ithout this restriction, as a mo del of t rue con currenc y, paraDOS is capable o f t ransitions inv olving m ultiple processes and multiple observable events. Exact statements of these theorems and respective proofs are given in (Smith, 2000). The remainder of Section 4.2 describes how EAP can be used to model and reason about concurrent s ystems based on paraDOS, VCR, t he Actors and Linda models. Events from VCR can be ex actly represented b y point-like events in EAP. VCR events are instantaneous, and do not include tags, bu t this does not present a problem for modeling in EAP. One mo re feature of the EAP events t hat model VCR events is t hat tags of the EAP events re present onl y time and do not have space coordinates, i.e., the y are pure temporal events (cf. D efinition 2.6). In other words, equi valent EAP events occur in some sequence in ti me, but location information i s not preserved. If this bothers the reader, one could cons ider events as all occurring in the same lo cation. VCR events constitute t he observable evidence of st ate transitions in a p articular instantiation of paraDOS. State transitions form comput ation. I n this context , it is possible to consider VCR events as computatio nal events. Likewis e, in EAP , events describe transitions (A xiom E2a). Thus, each computational VCR e vent can be represented b y an event i n EAP by giving its description or value and its ti me coordinate. If necessar y, it is also possible to us e the space coordinate. Processes in VCR/paraDOS are rep resented b y their continuations . In general, it is possible to semantically represent a VCR /paraDOS process b y an ordered set of computational events (not necessarily all observable). Taking actions that consist onl y of point-like events without s pace coordinate, we can represent all VC R processes b y EAP processes that use o nl y such actions. Such a representation of process es in EAP is equivalent to the use of c ontinuations in p araDOS. As a result, proc esses in VCR can be represent ed by processes in EAP, though we must restrict i n EAP t he type of ev ents used to be po int-like and wit hout space coordinates. VCR ’s parall el event traces are naturall y represented b y EAP ’s actions, where parallel events fro m VCR are EAP point-like events with tags indic ating that the y occurred simultaneousl y. The set of process contin uations and the parallel event mult iset from paraDOS induce in EAP a relation on events of being observable. Thus, bein g observable is a property o f EAP events. We can map tr aces in V CR to actions in EAP b y including i n actions o nly those events that are obs ervable. Since the act of observation of a computation affects the computation its elf, it is appropriate to consider observation as an operation on events in the EAP proce ss algebra. Such EAP actions, built from observable events, are traceable actions . In t his wa y, VCR traces correspond precisely to EAP’s traceable actions. In such a wa y, we have demonstrated how the elem ents of EAP can be used to represent the elements of paraDOS and VCR. Since VCR has be en shown to model such diverse concurrent models of concurrenc y as Actors and Linda, and EAP contains elements that model the el ement of VCR, we conclude that EAP is also capable of modeling the Actors and Linda models of concurrenc y. 4.3. Comparing operation s in EAP with op erations in other concurrency models. All concurrenc y models have operators to com bine processes and to form ne w processes from existing ones. S uch operators provide repr esentation of b asi c features of concurrent proc esses in process algebra: compositi onality, concurrenc y, and communication. Let us consider the most important o f these operators. The most fundamental of algebraic ope rators are choice and s equential co mposition . The al ternative operator + provides a choi ce b etween events/actions from th e compos ed processes, and the se quencing operator ⋅ s pecifies the sequential ordering of events/actions in th e two processes that are com posed. For instance, the process ( P + Q ) ⋅ R first chooses t o per form all events/actions either from the process P or from the process Q , and then perf orms from the process R . To allow the representat ion of concurrency, the merge , right-merge , and left-merge operators are used. The mer ge operator || represents the p arallel com positi on of two processes, the indiv idual events/actions of which are interleaved. T he left-merge operator (also d enoted by ╙ ) is an auxiliar y operator with sim ilar semanti cs to the merge, but a comm itment to always choose its initi al step from the left-hand process. The right-merge oper ator (also denoted b y ╜ ) is an auxili ary o perator wi th simil ar semantics to the m erge, but a comm itment to alway s choose its initial step from the right-hand process. For instance, if we take two processes U = ( P ⋅ Q ) and W = ( R ⋅ V ) where P , Q , R and V are actions, then the process U || W = ( P ⋅ Q ) || ( R ⋅ V ) may perform the actions P , Q , R , V in any of t he sequences PQRV , RPQV , RPVQ , R VPQ , PRQV , PRVQ . At the same t ime, the process ( P ⋅ Q ) ( R ⋅ V ) ma y onl y perform t he sequences PQRV , PRQV , PRVQ as the left-merge ope rator e nsures that the actions P is performed first. Interactions and, in particul ar, communications between pro cesses are repres ented using the binary communicati on operator . For ex ample, let us consider the actions r ( d ) of reading a data ite m d ∈ D and w ( d ) of wri ting a data item d ∈ D . Then the communication compositi on ( Σ d ∈ D r ( d ) ⋅ y )|( w (1) ⋅ z ) of processes Σ d ∈ D r ( d ) ⋅ y and Σ d ∈ D w ( d ) ⋅ y communicates the value 1 from the right component process to the left component process (i.e., the identifi er d is assi gned the value 1, and free instances of d in the p rocess y take on that valu e), and then behave as the merge of y and z. The abstr action operator τ I provi des a way to "hi de" cert ain events, actions, and processes by treating them as unobservable event s, actions, and processes going inside the system being modeled and thus, unrepresenta ble in the p rocess algebra. Abstracted actions are converted t o the silent step acti on τ . In some cases, these silent s teps can also be removed from the process expression. For instance, the abst raction τ {c} ((a + b) ⋅ c) = (a + b) ⋅ τ allows one to reduce the result of abstraction to a + b sinc e the event c is no longer observable and has no obs ervable effects. Compositio ns of processes in EAP determined b y the compatibilit y re lations all ow us to represent all operato rs from different models of concurrenc y. Let u s build such representations for the considered abov e bas ic operators of proc ess algebras: sequencing, merge, right-m erge, left-merge, communication and altern ative operators. The alternative op erator P + Q of processes P and Q is obtained if we take the free composition o f processes P and Q and add the compatibility relations that make possible either all actions from P or all actions fro m Q . Sequencing of events, actions, and processes are represented b y the f ree sequenti al composition of processes because sequ encing of events or actions in models of concurrency gives a process as the result. The merge P || Q of processes P and Q is obtained if w e tak e the free compositi on of processes P and Q an d add the compatibility relati ons that make pos sible any interleaving of actions fr om P and Q , preserving all relations that exist in P and in Q . Remember that when processes from other concurrenc y m odels are repr esented in the EAP model, any action cons ists of a single point-li ke event. It is also possible to build the m erge P || Q of processes P and Q by taking the free composition of all poss ible free interleavings of processes P and Q . The right-merge P Q of processes P and Q i s obtained from the free composi tion of processes P and Q in a similar way, o nly th e compatibilit y relations make possible only interleavin gs of a ctions from P and Q that start wit h the first act ion from the process Q . The left-merge P Q of processes P and Q is obtained from th e free com position of processes P and Q in a si milar wa y, only th e compatibi lity r elations m ake poss ible onl y interleavings of actions from P and Q that s tart with the first action from t he process P . The communication op erator is modeled (reali zed) in th e EAP process algebra b y means of special data tr ansition action s. These actions take s ome results of actions in one process and give these results as input s (initial conditions) to events and actions of another process. To formalize communicati on in EAP, we need n ew constructions of input and output semantics, as well as a new operation of the strong sequential composition of events, actions and processes. Let a st ructure D be t he c ommon domain and a str ucture C be the common codom ain for a set events E . If we interpret ev ents as changes in some s ystem R , then it is natural t o interpret the common domain D as the collection of possibl e states of t he s ystem R before som e event from E happens, and to interpret the common codom ain C as th e collection of possible states of the system R after some event from E oc curs. For instance, we can take D equal t o C and equal to the set St( R ) of all states of R . When R is a distributed system th at consi sts of subsystems R i ( i ∈ I ), then the set D = C can be equal t o the union ∪ i ∈ I St( R i ) or to the direct (Cartesian) product ∏ i ∈ I St( R i ) where St( R i ) is the set of all states of the s ystem R i . Definition 4.1. The input semanti cs InSem is a partial m apping InSem : E → D and the output semantics OutSem is a partial mappi ng OutSem : E → C . Input and output semantics form the base for fun ctional programming l anguages, as well as f or the log ical a pproach to program verification ( Floyd, 1959; Naur, 1966; Hoare, 1969). Definition 4.2. Th e value InSem ( e ) is interpreted as input (the initial s tate) fo r an event e and the value OutSem ( e ) is interpreted as inp ut (the initial state) for an event e . The case when D = C = ∪ i ∈ I St( R i ) gives a local input/ output semantics for event s where each event changes onl y one subsystem R i . The case when D = C = ∏ i ∈ I St( R i ) gives a global input/ output semantics for events where ea ch ev ent can chan ge man y subs ystems R i and change in one of thes e subsystems is considered as change in the whole s ystem R . Input and output sem antics are used in different dis ciplines and sometimes completely represent events. For instance, in probabilit y theor y, an event is a collection of possible outcomes of an experiment. Individual outcomes compris ing an event are said to be favorable to that event. A terminolog y m ore con sistent wi th reality assu mes that an ev ent is a p ossible trial or experiment, while all possible outcomes of thi s trial or experiment form the output semantics of this event. A possibl e trial o r experiment is a potent ial event. An event is said t o o ccur as a resul t of an experiment if i t contains the actual outcome of t hat experiment. An experiment that occurred is an actualiz ed event. Transitions in finite automata, abstract state m achines, higher dimensional automata (Goubault, 19 93) and labeled transition s ystems (Sassone, et al, 19 96) are events that are rep resented by their i nput semantics (the ini tial state of the transition) and output semantics (the final state of the transiti on). Definition 4.3. An event e i s the s trong sequential composition of events e 1 and e 2 if InSem ( e ) = InSem ( e 1 ), OutSem ( e ) = OutSem ( e 2 ), InSem ( e 2 ) = OutSem ( e 1 ) and p T ( e 1 ) < p T ( e 2 ). It is denoted by e 1 ° e 2 . Informally, t he strong sequential composition of events e 1 and e 2 m eans that the result of the event e 1 is taken as the input to t he event e 2 . In some cases, e.g., when e 1 and e 2 are comput ational operations p erformed by di fferent devices, the st rong sequential composition demand communication (data transmi ssion) bet ween these devices. Definition 4.4 . An action A is the strong s equential composit ion of actions A 1 and A 2 if all events in A are stro ng sequential composition s of events from A 1 and A 2 . It is denoted by A 1 ○ A 2 . The strong sequ ential co mposition of actions is, in some s ense, the oppo site to the free sequ ential composition of actions. Ho wever, there are man y compos itions between these extreme cases. Definition 4.5. An action A is the mixed sequentia l compositio n of actions A 1 and A 2 if it consists of two types o f events: some ev ents from A b elong to the fr ee sequ ential composition of A 1 and A 2 , while all other events in A are strong sequential compositions of events from A 1 and A 2 . It is denoted by A 1 ◊ A 2 . It is possible to introduce si milar compositions for processes. Definition 4.6. An process P is the strong s equential composi tion of pr ocesses P 1 and P 2 if all actions in P are strong sequenti al compositi ons of actions from P 1 and P 2 . It is denoted by P 1 ○ P 2 . The strong sequential co mpositi on of actions is , in some sense, the opposite to the free sequ ential composition of actions. Ho wever, there are man y compos itions between these extreme cases. Definition 4.7. A process P is the mi xed s equential composit ion of pro cesses P 1 and P 2 if it consists of two t ypes of actions: some actions from P belon g to the free sequential composition of P 1 and P 2 , while all ot her actions in P are strong sequential compositions of actions from P 1 and P 2 . It is denoted by P 1 ◊ P 2 . This definition shows that the t raditional sequ ential composit ion of operators, automata or alg orithms needs communication between the first and the second composed operators (autom ata or algorithms). Now we c an see that the communication operator from different process al gebras is of the kind of mix ed sequential composition P 1 ◊ P 2 of processes in the EAP process algebra. It is poss ible t o r epresent the abst raction operator in the EAP p rocess algebra as an operator of compr ession (shrinking) of t he observ ability relation in processes. In some cases, compression of th e observabilit y relation is equivalent to deletio n of some events in a process. There is another wa y to model abstraction. Namely, it i s possible to introduce silent step (unobserv able) events and change some eve nts in actions and p rocesses for silent step (unobservable) even ts. Note that constructive realiz ation of the alternative operator demands an additio nal action that makes choice b etween P and Q , ma y be under some condition. As time and space are represented in EAP wit h much more detail that in other concurrency models, rep resentation of operators from other m odels, such as me rge or communication, is not u nique in the EAP model. The alternative operator and sequential composition define the basic pro cess alg ebra ACP, which satisfies the follo wing axioms (cf., for exampl e, ((Bergstra and Klop, 1984)). Commutativity of the al ternative operator : x + y = y + x Associativity of the alternat ive operator : ( x + y ) + z = x + ( y + z ) Idempotency of the altern ative operator : x + x = x Distributivity of t he sequential composition w ith respect to the alternative operato r : ( x + y ) ⋅ z = ( x ⋅ z ) + ( y ⋅ z ) Associativity of the seque ntial composition : ( x ⋅ y ) ⋅ z = x ⋅ ( y ⋅ z ) It is possible to show that the described above reali zations in t he EAP process algebra of the alternative o perator and sequential compos ition preserves all these identities. Thus, we obtain a mono morphism (faithful representation) of the process algebra ACP in the EAP process algebra. 5. Conclusions and Future Work The constructed algebra of c oncurrent processes we presented has a multila yer structure. Th ese l ayers a re divided into three l evels. The algebr a of events forms the first, lower level of the algebra of processes, while the algebra of actio ns forms the second, i ntermediate l evel of the algebra of processes. The third, hi ghest le vel is formed by operations ov er whol e processes. E ach level can consist of several la yers dependin g on the exactness of approx imation and model precision. When construction of the EAP process algebra is fi nished, the next st ep will be to develop a logical calculus for reasoning about processes and op erations with them. The introduced constructions and obt ained results imply several direction s for future research. First, it would be interesting to further develop c oncurrent pro gramming based on the EAP model, to stud y concurrent programs, an d to use such pro grams for developin g software and firmw are for computer networks and embedded n etworks (Manna and Pnueli, 1986). It is important to note that concurrent pro gramming is closely relat ed to, and m ust utilize, superre cursive algorithms (Burgin, 2005). As i t is emphasi zed in ( Emerson, 1990), continuousl y operatin g concurrent program s exhibit ongoing behavior t hat is ideally non-terminating. Next, an im portant problem is to build concurrent schemas b ased the EA P m odel, to stud y th eir properties, and t o use su ch schem as for d eveloping hard ware, softwar e and firmware fo r computer networks and embedded networks, as well as for findi ng ways t o improve utilization of such networks. Mathematical tools for representation and study o f such schemas are given in the mathematical schema theor y (Bur gin, 200 5a; 2006; 2006a). Some types of which were int roduced and s tudied in (Mazurkiewicz, 1977). Finally, it is important to develop ex act mathematical tools for comparison of different process algebras. Theor y of categories p rovides some of such tools. However, to compare individual algebras, w e need special structures from univ ersal algebra. References Agha, G. A. (1986) ACTORS: A Model of Concurrent C omputation in Di stributed Systems , The MIT Press Series in Artificial Intelligence, The M IT Press, Cambridge, Massachusetts Agha, G. A., Mason, I. A., Smith, S . F. and Talcott, C. L. (1997) A Foundation for Actor Computation, Journal of Functional Programming , v. 7, No. 1, pp. 1-72. Athas, W . and Cantor, N.B. (1988) An Actor Pro gramming S ystem for Scienti fic Computing, in Pr oceedings of t he NSF Workshop on Object-Based Concurrent Programming , Special Issue of SIGPLAN Notices, pp. Baeten, J.C.M., Ed . (1990) Applications of Pro cess Algebra , Cambridge Univ ersity Press. Baeten, J . C. M. (2005) A brief hi story of pro cess algebra, T heoretical Computer Science , v. 335, No. 2-3, pp. 131-14 6. Baeten, J .C.M. and Ber gstra, J . A. (1991) R eal time process al gebra, For mal Aspects of Computing , v. 3, No. 2, pp. 142-188 Baeten, J .C.M. and Bergstra, J . A. (1996) Discrete time process algebra, Formal Aspects of Computing , v. 8, No. 2, pp. 188-208 Baeten, J.C.M. and van Glabbeek, R.J . (1987) Ano ther look at abstraction in process algebra, in Proceedings 14 th I nternational Col loquium Automat a, Languages and Programming , ICALP 87, Karlsruhe, Germany, Jul y 1987 (Th. Ottman, ed.), LN CS 267 , Springer-Verlag, pp. 84-94. Bergstra, J. A. and Klo p, J. W. (1984). Process algebra for synchronous communication. Information and Control, Vol. 60, Issue 1-3, pp. 1 09—137. Baeten, J.C.M. and W eijland, W.P. (1990): Process Algebra , Cambridge Universit y Press Bleecker, D. (1981) Gau ge T heory a nd Variational Principles , Addis on-Wesley publi shing, Reading, Mass. Boukerche, A., Das, S. K., Datta, A., and LeMaster, T. E. (2001 ). Imp lementation of a Virtual Time S ynchr oniz er for Distributed Databases on a Cluster of W orkstations, Parallel and Distributed C omputing Practices, V. 4 No. 1. Bourbaki, N. Theorie des Ensembles , Hermann, 19 60 Briot, J.-P. Acttalk: A fra mework for object-oriented concurrent pro gramming-design and experience, 2nd France-Japan workshop, 1999 Brooks, S.D., Hoa re, C.A.R ., and Ros coe, A.W. (1984) A t heory of comm unicating sequential processes, Journ al of the ACM , v. 43, No. 3, p p. 560-599 Burgin, M . S . (1997). Information Algebras, Contro l Systems and Machines , No.6, pp. 5-16. (in Russian) Burgin, M. (2002). Elements of the System Th eory of Ti me , LANL, P reprint in Ph ysics 0207055, 2002, 21 p. (el ectronic edition: ht Burgin, M. (2005). Super -recursive Algorithms , S pringer, New York Burgin, M. (2005 a). Mathematical Models in S chema T heory , Pr eprint in Comp uter Science cs.AI/0512099, 2005, 57 p. (electronic edition htt Burgin, M. (2006) Mathe matical Schema Theory for Modeling in Business and Indus try , Proceedings of the 2006 S pring Simulation MultiConference (Sprin gSim ’06), Huntsville, Alabama, pp. 229-234 Burgin, M. (2006a) Operati onal and Program Schemas , in P roceedings of the 15 th International Conference o n Software Engineering and Data En gineering (SEDE-2006), ISCA, Los Angeles, California, pp. 74-78 Burgin, M., Liu, D., an d Karplus, W. (2001). The Problem of Time Scales i n Co mputer Visualization , i n “Computational Science”, Lecture Notes in Comput er S cience, v. 2074, part II, 2001, pp.728-737 Burgin, M. and Sm ith, M. L. (2006). From Sequenti al Processes to Gri d Comput ation, in Proceedings of the 2006 Internati onal Conference on Foundati ons of Computer Science , Edited by Hamid R. A rabnia and Mark Burgin, CS REA Press, Las Vegas, Nevada, USA, 26-29 June 2006. pp. 10-16 Burgin, M. and Sm ith, M. L . (2006a). "Compositions of Concurrent P rocesses," in Concurrent S ystems Engineering Series (Frederic k R. M. Barnes, Jon M . Kerridge, Peter H. W elch, Eds.) IOS Press, Am sterdam, 2006. Communicating Process Archite ctures, Napier University (Edinb urgh, Scotland). Septemb er 17-20, 2006. pp. 281-2 96 Burgin, M. and Smith, M. L. (2007) A Unifying Model of C oncurrent Processes, In Proceedings of the 2007 Int ernational Conference o n Foundations of C omputer Science (FCS'07), (H.R. Arabnia and M. Burgin, Eds.) CS REA Press, Las Vegas, Nevada, US A, 2007, pp. 321-327 Carriero, N. and Gelernter, D. (1989) Linda in Contex t. Communicati ons of the ACM , v. 32, No. 4, pp. Chandy, K. M. and T aylor, S . (1989 ) Th e composition of concurrent programs, in Proceedings of the 1989 ACM/IEEE conferenc e on Supercomputing , Reno, Nevada, pp. 557 - 561 Chen, C .C. and Keisler, H.J . (1966) Continuous Model Theory , P rinceton Univ ersity Press, Princeton. Ciancarini, P ., J ensen, K. K., & Yankelevich, D. (1994) On the Operational Sem antics of a Coordination Language. In Paolo Cianca rini, Os car Nierstr asz, and Akinori Yonezawa, editors, Obj ect-Based M odels and La ngua ges for Concurrent Systems, vol ume 92 4 of LNCS, Springer Verlag, pp. 77-106 Codd, E. F. (1968) Cellul ar Automata . Academic, New York. Cohn, P.M. (1965) Unive rsal Algebra , Harper&R ow, Publ., New York/ Ev anston/ London. Date, C.J., Darwen, H. a nd Lorentzos, N. (2002) Temporal Data & the Relational Model, (The Morgan Kaufmann Series in Data Mana gement Systems), Morgan Kaufm ann de Bakker, J. W., de R oever, W. P. and Rozenberg, G., editors. (1989 ) Linear Time, Branching Time, and Parti al Order in Logics and Models for Concurrency. LNCS 35, Springer-Verlag. Denning, P. J. (1985) Th e arbitration problem, A merican Scientist, 73, pp. 516-518 Denning, P. J. (2007) The choice un certainty pri nciple. (Col umn: The profession of IT), Communications of t he ACM , v. 50, No. 11, pp. 9- 14 Dijkstra, E. (1965) Solutio n of a Problem in Concurrent Pro gramming Control, CACM, v.8, No. 9, pp. 569 Emerson, E. A. (1990) T he Role of Buchi's Automata in Computing Science, in: MacLane and Siefkes, eds., The Coll ected Works of JRBüchi, Sp ringer Verlag, Berlin, pp. 18-22. Emerson, E. A. and Halp ern, J. Y. (1986) Someti mes'' and ``not never'' rev isited: on branching vs. linear time, Journal of the ACM , v. 33, No. 1, pp. 1 51-178 Fishman, G. S. (1978) Pri nciples of Discrete Even t Simulation , Wil ey, New York. Floyd, R.W. (1967) Assignin g Meanings to Programs, i n Proc. Symp. Applied Mathemati cs , Am. Mathematical Soc., v . 19, pp. 19-32 Fokkink, W.J . (2000): Introduction to Process Algebra , Tex ts in Theoretical Com puter Science, An EATCS S eries, Springer. Foster, I. (2002) The Gri d: A New Infrastructure for 21st Century Science, Physics Tod ay (http://www. Ph y sics To day.org) Foster, I. and Kesselman, C. (1998) The grid: blue print for a new computing infrast ructure, Morgan-Kaufmann Publ., S an Francisco. Fujimoto, R. M. (1997). Computi ng global virtual tim e in shared-memor y multiprocessors, ACM Transactions on Modeling and Co mputer Simul ation (TOMACS), v. 7, No. 4. pp. 425-446. Gauld, D. B. (1974) T opological Properties of Manifolds, The American Mathematical Monthly , v. 81, No. 6, pp . 633–636 Gelernter, D. (1985) Generative Com munication in Linda, ACM Transactions on Programming Languages and S ystems, v. 7, No. 1, pp. 80-112 Goubault, E. (1993) Domain s of higher-dimensional autom ata, in Proceedin gs CONCUR '93, 4th Internati onal Conference on Concurrency T heory , LNCS , v. 715, pp. 293–307 Greene, B.R. (2000) The Elegant Universe: Super strings, Hidden Dimensio ns, and the Quest for the Ultimate Th eory , Knopf Publishing Group. Gunawardena, J. (1994) Homotopy and Concurrenc y, Bulletin of the EATCS , v. 54, pp. 184- 193 Gunter, C. (1992) Seman tics of Programming L anguages , MIT Press, Cambridg e, Massachusetts. Gurevich, Y. and Spielmann, M. (1997) Recursive Abstract State Ma chines, J. of Universal Computer Science , v. 3, No. 4, pp. 2 33-246 Hennessy, M. (1988) Algebraic T heory of Processes , M IT Press, Cambridge, Massachus etts Higgins, P .J. (1963) Algebras with a Sch eme of Operators, M ath. Nachr., v. 27, No. 1-2, pp. 115-122 Hoare, C.A.R. (1969) A n Ax iomatic Basis for Com puter Programming , Communications of ACM , v. 12, 576-580, 583 Hoare, C. A. R. (1985) Communicating Sequential Processes , Prentice Hall International Series in Computer Science, Prentic e-Hall International, UK, Ltd. Hopcroft, J. E., Motwan i, R., and Ullman, J. D. (2001). Introduction to Automat a Theory , Languages, and Comput ation , Addison W esley, Boston/San Francisco/New York Husemoller, D. (1994) Fibre Bundl es , Springer Verlag, B erlin/New York. Jensen, K. K. (1994 ) Towards a Multiple Tuple Space Model , PhD thesis, Aalbor g University, Nov. 1994 Kahn, G. (1974) Th e Semantics of a Simple Language for Parallel Programming, Proceedings of the IFIP Congress 74 , North-Holland P ublishing Co. Knuth, D. (1997) The Art of Computer Programming , v.2: Seminumerical Algorithms , Addison-Wesle y. Kurosh, A.G. (1963) Lec tures on general algebra , Chelsea P. C., New York. Lamport, L. (1984) Buridan's Principle, Technical Report ((http://research.microsoft.com /users/lamport/pubs/ Buridan.pdf ) Lee, J. M. (200 0) Introduction to Topological Mani folds , Graduate Texts in Mathematics 202, Springer, New York Lee, E. A. and Parks, T. M. (1995) Dataflow Process Networks, Proc eedings of the IEEE , May 1995 (http://pt olemy .eecs.b erkeley.edu/papers/processNets) Lee, E. A. and S angiovanni-Vincent elli, A. (1996) C omparing models of com putation, in Proceedings of t he 1996 IEEE/ACM int ernational C onference on Computer-Aided Design , IEEE Computer S ociety, Washington, DC, pp. 2 34-241 Malcev, A.I. (1970) Algebrai c systems , Moscow, Nauka (in Russi an). Manna, Z. and Pnueli, A. (1986 ) Specification and Veri fication of Concurr ent Programs by ∀ -Automata , Computer Science D epartment, Stanford Universit y, Computer Science Department, Weizmann Institute of Science. Mason, I. A., & Talcott, C. L . (1997) A Semantics P reserving A ctor Translation. Lecture Notes in Computer Science, 1256:369-378. Mazurkiewicz, A. (1977) Concurrent Program Sc hema and Their Interpret ations , Report DAIMI-PB-78, Aarhus University Mesarovic, M.D. and Takahara, Y. (1975) General Systems T heory : Mathematical Foundations , Academic P ress, New York/London/S anFrancisco. Milner, R. (1989) Comm unication and Concurr ency , Prentice-Hall, Englewood Cl iffs, NJ Milner, R. (1990): Opera tional and algebrai c semantics of concurrent processes , in J . van Leeuwen, editor: Handbook o f Theoretical Computer Science, Ch apter 19, Elsevier Science Publishers B.V. (North-Holland), pp. 1201-1242. Moller, F., and Tofts , C., (1990) A temporal calculu s of communicating s ystems, C ONCUR- 90 – Theories of Con currency : Unification and Ext ension , LNS, v. 458, pp. 40 1-415 Naur, P. (1966) Proofs of algorithms b y general snapshots, BIT , v. 6, 310-316 Neumann, P. G. (2006). Risks relating to S y stem Compositions, Communi cations of the ACM , v. 49, No. 1, p. 128 Nielsen, M. and Valencia, F. D. (2004) Notes on Timed C CP, Lectures on Concurrency and Petri Nets 2003 , Sp ringer-Verlag, pp. 702-741. Palamidessi, C. and Valencia, F. D. (2005). Recursion vs replication in process calculi: expressiveness, Bulletin of the EATCS , v. 87, pp. 105-125. Park, D. M. R . (1980). Concurrency and Automata on Infinite Sequences, L ecture Notes in Computer Science, Vol. 104 , Springer-Verlag. Peterson, J.L. (1981) Petri N et Theory and the Modeling of Syst ems, Prentice-Hall, Inc., Englewood Cliffs, N.J . Petri, C. (1962) Kommunikati on mit Automaten , Ph.D. Dissertation, Univ ersit y of Bonn, Bonn, German y Plotkin, G. D. (1981) A St ructural Approach to Operati onal Semantics , Tech. Rep. DA IMI FN-19, Computer Scienc e Department, Aarhus U niversity, Aarhus, Denmark. Pratt, V.R. (1991) Model ing Concurrenc y with Geometry, Proc. 18 th Ann. ACM Symposium on Principles of Programmi ng Languages , pp. 311-322 Pratt, V.R. (1992) The Duali ty of Time and Information, P roc. Conf. on Concurrenc y (CONCUR'92), LNCS, v. 630, Springer-Verlag, NY, pp. 237-253 Pratt, V.R. (2003) Transit ion and Cancellation in Concurrenc y and Branching Time, Math. Structures in Comp. S ci., 13:4, 485-529. Rabin, M. O. (1969). Decidabilit y of Second-order Theories and Automata on Infinite Trees, Transactions of the AMS , v. 141, pp. 1-35. Reed, G.M. and Rosco e, A.W. (1988) A t imed model for comm unicating sequential processes, Theoretical Compu ter Science , v. 58, pp. 249-261 Reisig, W. (1985) Petri Nets: An Introduction , S pringer-Verlag Rice, H.G. (1951) Recursi ve Real Numbers, Proceedings of the AMS , v. 5, pp. 784-791 Robinson, A. (1963) Introducti on to Model Theory and the Metamathe matics of Algebra , North-Holland, Amsterdam. Rogers, H. (1987). T heory of Recursive Fu nction s and Effective C omputabi lity, MIT P ress, Cambridge, Massachusetts. Roscoe, W. (1998) The theory and pra ctice of concurrency , Pr entice Hall, Englewood Cliffs, NJ Saraswat, V., Rinard, M., and Panangaden, P. (1991). The Semantic Foundations of Concurrent Constraint Pr ogramming, in POPL'91 , pp . 333-352. Sassone, V., Nielsen, M., and W inskel, G. (1996). Models for Concurrenc y: Towards a Classification, Theoretical C omputer Science , v. 170, No. 1-2, pp. 29 7—348 Smith, M. L . (2000). View-Centric Reasonin g abou t Parallel and Distributed Computat ion . PhD thesis, Universit y of Central Florida, Orlando, F L 32816-2362, December 2000. Snodgrass, R.T. and Jens en, C.S. (1999). Developing Time-Oriented Databas e Applications in SQL , (Morgan Kaufmann S eries in Data Management S ystems), Morgan Kaufmann Steenrod, N. (1951) The T opology of Fibre Bundles , P rinceton Universit y Press Valencia, F. D. (2005) Decidability of Infinite-State Timed C CP Process and First-Order LTL, Theoretical Computer Scienc e , v. 330, No. 3, pp. 577-607 Vardi, M. Y. and Wolper, P. (1994) Reasoning about Infinite Computations , Information and Computation , v. 115, No.1, pp. 1-37 Winskel, G. (1985) S ynchronization Trees, Theoretical Comput er Science , v. 34 pp. 3 3-82 Winskel, G. (1993) The Formal Semantics of Programming L anguages : An Introductio n , MIT Press. Yonezawa, A. and Tokoro, M., Eds. (1987) Object-oriented concurr ent programming , The MIT Press. Zwiebach, B. (2004) A F irst Course in St ring Theory , Cambridge Universit y Press.
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment