| J.L. Fiadeiro and T. Maibaum, "Categorical Semantics of Parallel Program Design," Science of Computer Programming, vol. 28, nos. 23, pp. 111-138, Apr. 1997. |
.... et al. 1998) refinement is elevated to a first class specification constructor along with disjoint sum and colimit, inclusion, and parametric instantiation (to mention just the more obvious ones, see also e.g. Ehrig and Mahr (1985) Ehrig and Mahr (1990) Ehrig and Grosse Rhode (1994) Fiadeiro and Maibaum (1997)] The confusion arises when one is not being sufficiently open about what is going on. The crucial point is thus to be clear about which model in a refinement hierarchy is the one that is supposed to capture all the requirements, and that thus can serve as a contract between specifier and ....
Fiadeiro and Maibaum (1997); Categorical Semantics of Parallel Program Design. Sci. Comp. Prog. 28, 111-138.
...., a 1 V 1 , q 2 (B 2 s(g) s(F 1 (g 1 ,a 1 ) F 2 (s(g 1 ) s(a 1 ) 3. q 2 (I 2 s(I 1 ) 4. q 2 (B 2 s (g) s(B 1 g ) for every gG 1 . z In this definition stands for the consequence relation of the logic associated with the language introduced in definition 3. See [Fiadeiro and Maibaum 95] for details. This notion of program morphism captures what is called in [Francez and Forman 90] regulative superposition . Requirement 1 corresponds to the locality condition: local attributes remain unchanged by actions that do not belong to the base program. Requirement 2 corresponds to the ....
....determines (mechanically) the signature and the morphisms of the colimit of the program diagram. The functionality of the resulting colimit program is fully determined by the signature colimit and the component programs. The proof and method for calculating program colimits is explained in [Fiadeiro and Maibaum 95] The following example illustrates the method using the signature diagram studied above. Consider programs P= q ,D) P 1 = q 1 ,D 1 ) P 2 = q 2 ,D 2 ) interconnected as follows: P #### a : int ## f : ####] a oe a 1 f oe f 1 a oe a 2 f oe f 2 P 1 P 2 #### a 1 : int; ### a 2 , b 2 : ....
J.Fiadeiro and T.Maibaum, Categorical Semantics of Parallel Program Design , Technical Report, FCUL and Imperial College, 1995.
No context found.
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design ", Science of Computer Programming 28, 1997, 111-138.
No context found.
. J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science o f ComputerProgramming,28:111-138,1997.
....available at physical level. Then, section 4 shows how some of the new forms of coordination raised by mobility can be expressed as coordination connectors and used in systems architectures. Section 5 closes the paper with some conclusions. 2 The CommUnity framework CommUnity, introduced in [6], is a parallel program design language that is similar to Unity [3] in its computational model but adopts a different coordination model. CommUnity relies on the sharing (synchronisation) of actions and exchange of data through input and output channels and, moreover, it requires interactions ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design ", Science of Computer Programming 28, 111-138, 1997.
....introduces a rendez vous style of synchronisation between processes. This view is not inconsistent with the previous one: it is just more operational in the sense that it provides a means of achieving the extension required in a refinement step by interconnecting components. In the past [10], we have actually shown how the two notions can be brought together in a mathematical framework in which the relational, transformation based view is captured through a notion of homomorphism between units of design for which the composition operation is achieved through a colimit construction. ....
....precise. Finally, we show how the two processes can be related, leading to a notion of compositionality that is at the heart of what is known today as the architectural approach to system development. Our discussion will be conducted over a generalisation of the language that we introduced in [10]: CommUnity. 2 Component Design in CommUnity CommUnity is a parallel program design language in the style of Unity that was initially proposed in [10] to show how programs fit into Goguens categorical approach to General Systems Theory [11] Since its original definition, the language and the ....
[Article contains additional citation context not shown here]
Fiadeiro, J.L., and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming, 28:111-138,1997.
....to an approach oriented to context dependent services resources. If an action a accesses a variable named v, it is necessary to make sure that v is available, i.e. there is at least a variable named v located at a position in the cell of a. 3. ARCHITECTURES IN COMMUNITY CommUnity, introduced in [9], is a prototype parallel program design language that is similar to Unity [6] in its computational model but adopts a different coordination model. More concretely, whereas, in Unity, the interaction between a program and its environment relies on the sharing of memory, CommUnity relies on the ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....can be added and deleted in a non intrusive way (plug and play) reflecting the evolution of the business domain. 3. Component design in CommUnity The semantic model over which we shall formalise the proposed coordination mechanisms is based on a program design language and model CommUnity [9] that is similar to Unity [7] and Interacting Processes [12] A basic difference between CommUnity and these other languages is that it replaces the sharedvariables model of interaction by an object based coordination model centred around private state and shared actions. This paper makes a ....
....not interfere with the behaviour of the underlying one, is determined by the fact that the guard of the action that is being superposed is true. In fact, superposition morphisms can be classified according to the degree of interference that they impose on the behaviour of the underlying component [9]. As a last example, we would like to show how a basic calling mechanism, as available in all objectbased languages for establishing client supplier relationships, can be achieved in this framework by a coordination contract. The coordinating behaviour that the contract needs to ensure is the ....
[Article contains additional citation context not shown here]
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....of business domains including banking [5] stock trading [22] and telecommunications [21] the example we chose is closer to what can be typically found in Software Architectures and Coordination Languages. For simplicity, the example will be developed in a toy language CommUnity [13] that encapsulates the coordination mechanisms that we are making available in the CDT tool [19] CommUnity is similar to Unity [12] and Interacting Processes [16] except that it replaces the shared variables model of interaction by an object based coordination model centred around private ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
.... to motivate the general categorical semantics of higher order connectors to be given in Section 4 as an 6 extension to our previous work on formalising architectural connectors [FL97, LF99, WF98a, WF98b, WLF00, FLW00] CommUnity is a Unity like design language that was initially presented in [FM95, FM97] to show how programs fit into Goguen s categorical approach to General Systems Theory [G73] Since then, the language and the design framework have been extended in order to provide a formal platform for the architectural design of open, reactive and reconfigurable systems [L99, LF99, WF99] 3.1 ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28:111-138, 1997.
....outlined above has been given both a mathematical and an implementational counterpart. The mathematical semantics draws on previous work on the categorical semantics of architectural and coordination principles. The presentation of this semantics is outside the scope of this paper. Please consult [13] for the formalisation of different kinds of superposition that lead to the identification of different kinds of contracts (regulators, monitors, etc) 14] for a formalisation of architectural connectors based on the previous formalisation of superposition, which includes the semantics of ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....outlined above has been given both a mathematical and an implementational counterpart. The mathematical semantics draws on previous work on the categorical semantics of architectural and coordination principles. The presentation of this semantics is outside the scope of this paper. Please consult [12] for the formalisation of different kinds of superposition that lead to the identification of different kinds of contracts (regulators, monitors, etc) 13] for a formalisation of architectural connectors based on the previous formalisation of superposition, which includes the semantics of ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....of systems to cope with the levels of reconfigurability required by e commerce and Internet based services in general. 2 Semantics of Coordination The semantic model over which we shall formalise the proposed coordination mechanisms is based on a program design language and model CommUnity [9] that is similar to Unity [7] and Interacting Processes [12] A basic difference between CommUnity and these other languages is that it replaces the shared variables model of interaction by an object based coordination model centred around private state and shared actions. This paper makes a ....
....not interfere with the behaviour of the underlying one, is determined by the fact that the guard of the action that is being superposed is true. In fact, superposition morphisms can be classified according to the degree of interference that they impose on the behaviour of the underlying component [9]. As a last example, we would like to show how a basic calling mechanism, as available in all objectbased languages for establishing client supplier relationships, can be achieved in this framework by a contract. The coordinating behaviour that the contract needs to ensure is the directionality ....
[Article contains additional citation context not shown here]
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....of equational specifications. In [10,12] we showed that the mathematical technology of parameterisation can also be used for the formalisation of architectural connectors in the interaction sense. More concretely, we used preliminary work on an algebraic approach to parallel program design [11], in the tradition of the categorical approach to General Systems Theory also developed by Goguen [16] in order to bring together architectural principles and the categorical approach to system specification and design. In this paper, we provide a more thorough account of the application of ....
....Systems Theory [16] Since then, the language and the design framework have been extended to provide a formal platform for architectural design of open, reactive, reconfigurable systems. 2. 1 Component design One of the extensions that we have made to CommUnity since its original definition in [11] concerns the support for higher levels of design. At such levels of design, the architecture of the system is given in terms of components that are not necessarily programs but abstractions of programs called designs that can be refined into programs in later stages of the development ....
[Article contains additional citation context not shown here]
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....a mathematical semantics that brings all these aspects together: coordination, superposition, and architectures. The presentation of this semantics can be found in a companion paper [15] also submitted to this handbook, that brings together research results reported in several publications [12,13,27,28] around the language CommUnity. CommUnity is a language for parallel program design similar to Unity [10] and Interacting Processes [16] conceived in order to support a complete separation between computation and coordination and, thus, epitomise the architectural mechanisms that we are proposing ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....In fact, our contribution has gone a step further in that, over several years, we have developed a mathematical semantics that brings all these aspects together: coordination, superposition, and architectures. The presentation of this semantics is outside the scope of this paper. Please consult [11] for the formalisation of different kinds of superposition that lead to the identification of different kinds of architectural connectors (regulators, monitors, etc) 12] for a formalisation of architectural connectors based on the previous formalisation of superposition, which includes the ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....architectures in different levels of abstraction, one of them being programs in COMMUNITY, the other temporal logic specifications similar to those used in [20] The style of the paper is not mathematical , making appeal more to the intuition than formality. All the results can be found in [9]. We should again stress that much of the work that we shall present is inspired by the work of J. Goguen and can derived from the general principles enunciated in the Categorical Manifesto [13] The only disadvantage of previous papers on the subject is that they are based on mathematical models ....
.... we use a paral lel program design language, COMMUNITY, that we introduced in [8] This is a language for parallel program design in the style of IP (Interacting Processes) 10] UNITY [4] and Action Systems [3] A complete account of the categorical formalisation of this language is given in [9]. A COMMUNITY program P has the following structure: P #### S #### R ### V #### I ## [ gG g: B(g) aD(g) a: F(g,a) where . S represents the data types that the program uses; if we intend to use COMMUNITY to actually develop programs in a given environment, then S represents ....
[Article contains additional citation context not shown here]
J.Fiadeiro and T.Maibaum, Categorical Semantics of Parallel Program Design, Technical Report, FCUL and Imperial College, 1995.
....contracts PRAXIS XXI 2 2. 1 MAT 46 94 (ESCOLA) and PCSH OGE 1038 95 (MAGO) parameterisation is also very relevant for the formalisation of architectural connectors in the interaction sense, namely when used in conjunction with recently proposed algebraic approaches to parallel program design [10], in the tradition of the categorical approach to General Systems Theory also developed by Goguen [12] We extend the preliminary work that we presented in [9, 16] bringing together architectural principles and the categorical approach to reactive system specification and design, and focus ....
....itself to useful generalisations of the notion of connector, namely through the use of multiple formalisms in the definition of the glue and the roles. More concretely, in section 2, we propose a formalisation of the notion of architectural connector in a category of (extended) COMMUNITY programs [10]. In section 3, we abstract the structural properties of the formalisms that are necessary to support the notion of architectural connector and compare the proposed formalisation with the notion of parameterised specification. In section 4, we generalise the proposed notion of architectural ....
[Article contains additional citation context not shown here]
J.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming, in print.
....over platforms for component based development like CORBA, JavaBeans and COM. 3. SEMANTICS OF COORDINATION 3. 1 Components in CommUnity The semantic model over which we shall formalise the proposed coordination mechanisms is based on a program design language and model CommUnity [12] that is similar to Unity [10] and Interacting Processes [15] A basic difference between CommUnity and these other languages is that it replaces the shared variables model of interaction by an objectbased coordination model centred around private state and shared actions. This paper makes a ....
....in which the state is represented by the output parameters. In such circumstances, we tend to abbreviate the definition of the component and omit the distinction between interface and body. 3.2 Superposition Consider now the specification of interactions between objects. In previous papers [e.g. 12] we have argued in favour of the use of Category Theory as a mathematical framework for expressing system configurations following Goguen s work on General Systems Theory [18] In such a framework, intercon 5 nections are expressed via morphisms. The notion of morphism in CommUnity captures ....
[Article contains additional citation context not shown here]
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....in common. This localisation further enhances the reusability of coordinated programs. 3 An example from parallel program design In order to consolidate the definitions put forward in the previous section we shall now discuss an example drawn from parallel program design. The language COMMUNITY [9] is similar to IP [10] and UNITY [3] Its definition has evolved over the years through experience gained in using it in different contexts. It is precisely the changes that were required to make it coordinated that we shall illustrate in this section. On the one hand, we feel that these changes ....
....might be interested in a model of coordination that would postpone the resolution of interfering assignments to execution time, allowing the configuration to be established. This means that we need to change our notion of program to allow for discrete lifts This is exactly what happened between [9] and [7] The solution we found was to introduce non deterministic assignments. The assignment lifted from a signature is the universal one, i.e. it assigns the whole range of possible values, thus ensuring neutrality . In the case of the example above, we would use the program (channel) 13 ....
. J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28(2-3), 1997, 111-138.
....or rely guarantee [1, 5] control the interplay between component and environment. Finally, and although the paper focused almost exclusively on logical specifications, compositionality results have been proved for an extension of the parallel program design language COMMUNITY [10] that supports the specification of required nondeterminism (readiness) Acknowledgments We would like to thank Michel Wermelinger and Tom Maibaum for many fruitful interactions. ....
J.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming, in print.
....that we have developed with OBLOG are in banking (see, for instance, 2,3] the example we chose is closer to what can be typically found in Software Architectures and Coordination Languages. For simplicity, the example will not be developed in OBLOG but in a toy language CommUnity [9] that encapsulates the coordination mechanisms that we made available in OBLOG. CommUnity is similar to Unity [8] and Interacting Processes [12] except that it replaces the shared variables model of interaction by an object based coordination model centred around private state and shared ....
J.L.Fiadeiro and T.Maibaum, "Categorical Semantics of Parallel Program Design", Science of Computer Programming 28, 1997, 111-138.
....is the ability, given programs that realise component specifications, to synthesise the interconnections between them in such a way that the system specification is realised. Taking our cue from earlier work on General Systems Theory (Goguen, 1973) and more recent work on parallel program design (Fiadeiro and Maibaum, 1996), we discuss, characterise and provide solutions for the synthesis of interconnections using a categorical framework in which components are modelled as objects (either specifications or programs) and morphisms are used to express interconnections between components. This work was partially ....
....of interconnected components. Instead, we shall adopt the categorical approach proposed by J. Goguen for General Systems Theory (e.g. Goguen, 1973, Goguen and Ginali, 1978) Capitalising on our recent work on reactive system specification (Fiadeiro and Maibaum, 1992) and parallel program design (Fiadeiro and Maibaum, 1996), we shall view both #### and #### as categories in which systems of interconnected components are modelled through diagrams (in the categorical sense) In this setting, we shall formally characterise synthesis of interconnections and formulate general conditions that guarantee the ability to ....
[Article contains additional citation context not shown here]
Fiadeiro, J. and Maibaum, T. (1996) Categorical Semantics of Parallel Program Design. Science of Computer Programming, in print.
....at that state. We shall see some examples later on. We shall now describe how complex programs can be put together from components in much the same way as we proposed for specifications: Proposition 3.14: The category #### is finitely cocomplete. z The proof of this result can be found in [Fiadeiro and Maibaum 96] Basically, pushouts work as follows: actions are synchronised according to the rendez vous points established by the actions of the middle program (channel) and morphisms; the resulting joint actions have the following properties: their domain is the union of the domains of the joined ....
J.Fiadeiro and T.Maibaum, Categorical Semantics of Parallel Program Design, Technical Report, available at http://www.di.fc.ul.pt/~llf
No context found.
J.L. Fiadeiro and T. Maibaum, "Categorical Semantics of Parallel Program Design," Science of Computer Programming, vol. 28, nos. 23, pp. 111-138, Apr. 1997.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC