| F. Puntigam. Coordination requirements expressed in types for active objects. In M. Aksit and S. Matsuoka, editors, Proceedings of the European Conference on ObjectOriented Programming (ECOOP'97), volume 1241 of Lecture Notes in Computer Science. Springer-Verlag, 1997. |
....and Najm [NN97] de ne COB, a Calculus of Object Bindings that also features objects with dynamically changing service o ers, and that embodies a type system to detect orphan messages. The calculus is compliant with the Reference Model for Open Distributed Processing, ODP [NS97] 3. Puntigam [Pun97, Pun99] de nes Process Types, a calculus of objects and types to specify (non regular) sequences of messages. A static type system guarantees that a server understands all messages sent by concurrent clients, albeit the set of acceptable messages changes dynamically. The calculus is a well ....
....notions of typing and subtyping. We give here a brief account of their work, as a more thorough comparison to our work is in the conclusion of the thesis. 1. Bowman et al. de ne behavioural subtyping in LOTOS using its pre orders and reinterpreting reduction [BBSDS97] 2. Puntigam [Pun96, Pun97, Pun99] de nes a process algebra of types (with the expressiveness of a non regular language) which enforces sequencing of messages. Subtyping is a central issue. 3. Najm and Nimour [NN97] develop types as sets of deterministic guarded parametric equations, equipped with a transition relation, ....
[Article contains additional citation context not shown here]
Franz Puntigam. Coordination requirements expressed in types for active objects. In Memet Aksit and Satoshi Matsuoka, editors, Proceedings of ECOOP'97, volume 1241 of Lecture Notes in Computer Science, pages 367{ 388. Springer-Verlag, 1997.
....O a .0 I a # .#,and th; obtain # = rec #. O a .0 I a # .#) as a representative solution. ThO is not always possible with ut recursive usage and greatest lower bound constructors. 5 Related Work Several type systems guaranteeing certain deadlock freedom propertiesh ve recently been proposed [1,2,5,13,15,16,18]. As far as we know, h wever, no type reconstruction algorith h s been developed forthO so far. One of th main di#culties of type reconstruction for th se type systems is th t thO use di#erent rules for input output on di#erent types of ch nnels. We solved th t problem by generalizing our previous ....
F. Puntigam. Coordination requirements expressed in types for active objects. In Proceedings of ECOOP'97, LNCS 1241, pages 367--388, 1997. 502
....states that services may be refined as long as the original promises are still upheld . Despite having developed a calculus of objects, Nierstrasz did not apply these ideas in a type system for it, neither did he show how to model non uniform objects. This task has be taken by several authors [Bou98, Col97, CPS97, CPDS99, NN97, NNS99b, Pun96, Pun97, Pun99, RL99, RV00]. Some of these works propose a specific calculus and develop a particular language of types for that calculus to guarantee some envisaged property. The aim of this work is to study the semantic foundations of types for concurrent objects, using the tools and the body of knowledge of the theory ....
....using the process algebra LOTOS to describe the types [BBSDS97] Since none of the standard preorders fits the requirements, the authors re define the reduction relation to use it as an instantiation of behavioural subtyping. 3. Puntigam defines a calculus of active objects and process types [Pun97, Pun99]. A static type system ensures that all sequences of messages sent to an object are received and answered, even if the set of acceptable messages changes dynamically. Objects are syntactically constrained to a unique identity and messages are received in the order they were sent, as every object ....
Franz Puntigam. Coordination requirements expressed in types for active objects. In Memet Aksit and Satoshi Matsuoka, editors, Proceedings of ECOOP'97, volume 1241 of Lecture Notes in Computer Science, pages 367-- 388. Springer-Verlag, 1997.
....to blocks of code presented in our proposal. The authors are also unaware of any concurrent O O language that incorporates a type system that incorporates behavioural obligations and promises in a similar fashion to negotiable interfaces. Type systems for active objects such as in [9] 20] 11] [12], and [13] annotate the methods of interfaces or classes using some process formalism to describe the changing availability of services during execution. As the focus of such type systems is to type behaviour patterns in languages with active objects, describing re entrance and intermediate state ....
....which a component s behavioural specification has been violated, whereas such information may be difficult to extract from a composition level type system using a process formalism to check the joint behaviour of several components. The type system presented and developed primarily by Puntigam in [11, 12] and Puntigam and Peter in [13] has a similar scheme for decorating interfaces with (extended) bags of tokens and assigning behaviours to methods. Our proposal was directly influenced by this work as bags are factorable and may be split over references. The object model and objectives of the type ....
F. Puntigam. Coordination requirements expressed in types for active objects. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP'97). Springer--Verlag, Jyvaaskyla, Finland, 1997.
....composition. It determines all message formats of a protocol by defining a standard encoding, but it does not describe which processing order is needed. Only interfaces with stateless protocol in situations without re entrance and cyclic structures are covered. Suggested trace based extensions [29, 30, 25] can exclude the occurrence of message not understood errors, but fail to consider synchronization effects. Following Szyperski [37] a contract should contain a functional specification usually given by pre and post conditions and non functional requirements often named servicelevel or quality ....
....of the coarser description. Hence, a pipeline build by several CombinedStages can be refined to a CombinedStage2 or Stage. 6. Related Work The presented approach extends the concept of regular types of Nierstrasz [26] In contrast to this reduction based approach, do trace based notions [30, 25] not consider synchronization effects and exclude only message not understood errors. To reduce cycles in the usage graph, the unilateral contract notion is extended to include bilateral interaction. This way most of the error prone callback handling can be handled in a more suitable fashion. The ....
F. Puntigam. Coordination Requirements Expressed in Types for Active Objects. In M. Aksit and S. Matsuoka, editors, ECOOP'97- Object-Oriented Programming, 11th European Conference, Jyvaskyla, Finland, LNCS 1241, pages 367--388. Springer Verlag, June 1997.
....the reliability of the channels used (with respect to non determinism) Therefore it detects more than our local deadlocks. The starting point on dealing with objects non uniform service availability via type systems is the work of Nierstrasz on regular types for active objects [22] Puntigam [23] starts from Nierstrasz work, de nes a calculus of concurrent objects, and, as we do, de nes also a process algebra of types, but his objectives are di erent: the system guarantees that all messages that are sent to an object 12 are accepted, and enforces sequencing of messages to achieve the ....
Franz Puntigam. Coordination Requirements Expressed in Types for Active Objects. In 11th European Conference on Object-Oriented Programming, volume LNCS 1241, pages 367-388. SpringerVerlag, 1997.
....The limitations of the standard service definition in many programming languages are that they do not take into account availability and responsiveness of services. As stated in [8] the sequences of requests that an object is capable of servicing constitute the object s protocol. A typical way [2, 3, 7, 8, 9, 11, 28, 32, 33] to express the object s protocol is to model it as a finite state machine. There are three basic approaches to specify such a machine: 1) directly as state transition system, e.g. 8, 29] 2) via a parser accepting the valid request sequences of the protocol, e.g. 7] 3) as a regular like ....
Puntigam, F.: Coordination Requirements Expressed in Types for Active Objects. Technical report, Institut fr Computersprachen, Technische Universitt Wien, Vienna, Austria, 1997.
....is discussed. Transformation and verification are exemplified by means of a small application scenario. Finally, we sketch our present work which is constructing a domain specific specification framework for distributed control of chemical plants. 2 Compositional specification style cTLA cTLA [10, 18] is based on Leslie Lamports Temporal Logic of Actions (TLA) 17] and supports the definition of parametrized process and system types. A specification of a simple process or a (sub)system is formed by instantiating a cTLA process type resp. system type. As in the formal description language Lotos ....
....Addison Wesley, 1994. 9] G. Graw, P. Herrmann, and H. Krumm. Constraint Oriented Formal Modelling of OOSystems. To appear in: Second IFIP WG 6.1 International Working Conference on Distributed Applications and Interoperable Systems (DAIS 99) Helsinki, June 1999. Kluwer Academic Publisher. [10] P. Herrmann and H. Krumm. Compositional Specification and Verification of High Speed Transfer Protocols. In S. T. Vuong and S. T. Chanson, editors, Protocol Specification, Testing, and Verification XIV, pages 339 346, Vancouver, B.C. Canada, 1994. IFIP, Chapman Hall. 11] P. Herrmann and H. ....
[Article contains additional citation context not shown here]
Franz Puntigam. Coordination requirements expressed in types for active objects. In ECOOP '97, Lecture Notes in Computer Science, Jyvaskyla, Finland, June 1997. Springer-Verlag.
....his work Regular types for active objects [23] discusses on non uniform service availability of concurrent objects, and proposes notions of behavioural typing and subtyping for concurrent object oriented programming, notions which take into account dynamic aspects of objects behaviour. Puntigam [25] starts from Nierstrasz work, de nes a calculus of concurrent objects, a process algebra of types (with the expressiveness of a non regular language) and a type system which guarantees that all messages that are sent to an object are accepted, this purpose being achieved by enforcing sequencing ....
Franz Puntigam. Coordination Requirements Expressed in Types for Active Objects. In Proceedings of the 11th European Conference on Object-Oriented Programming, volume LNCS 1241, pages 367{ 388. Springer-Verlag, 1997.
.... or disabled according to their internal state are very common in object oriented programming (e.g. a stack, a finite bu#er, an ftp server, a bank account, an automatic cash machine) Non uniform concurrent objects, and types able to cope with them, constitute the object of study of several authors [3, 10, 16, 17, 19, 21]. These types reflect a dependency of the interface of an object on its internal state, conveying information about dynamic properties of objects. The aim is to build type systems capable of ensuring not only the usual safety properties like subject reduction, but also more complex properties, ....
Franz Puntigam. Coordination requirements expressed in types for active objects In 11th European Conference on Object-Oriented Programming, volume LNCS 1241, pages 367--388. Springer-Verlag, 1997.
....its protocol to have a session type which is a supertype of its original session type, then existing client implementations are still type correct with respect to the new server. 15 Session types have some similarities to the types for active objects studied by Nierstrasz [14] and Puntigam [18, 19]. Both incorporate the idea of a type which specifies a sequence of interactions. The main difference seems to be that in the case of active objects, types can specify interdependencies between interactions on different channels. However, the underlying framework (concurrent objects with method ....
F. Puntigam. Coordination requirements expressed in types for active objects. In M. Aksit and S. Matsuoka, editors, Proceedings of the European Conference on Object-Oriented Programming (ECOOP'97), volume 1241 of Lecture Notes in Computer Science. Springer-Verlag, 1997.
....adopt the notion of contracts realized by offered and required services. Offered Services Services are an alternative to the limitations of pre and post conditions widely known in object orientation. Pre and post conditions are not sensitive to the history of a component (see [Matsuoka 93] and [Puntigam 97] They only determine a given state the component must be in to handle a message. If the component is not in the state, the incoming message can not yet or no longer be handled. They are not appropriate for open distributed systems for that reason. In such systems, trading facilities are now ....
Puntigam F., "Coordination Requirements Expressed in Types for Active Objects", In Proceedings of ECOOP'97, Jyvaskyla, Finland, June 1997, Ak¸sit M. & Matsuoka S. Eds., Springer Verlag, LNCS vol. 1241, pages 367-388.
....type equivalence and subtyping relations are defined in Section 3. A characterization of these relations concerning acceptable message sequences is given in Section 4. A discussion of related work follows in Section 5. 2 Specification of Non Regular Process Types A process type (as presented in [14, 15]) consists of two parts a set of message descriptors and a state. A message descriptor specifies the signature of a message, conditions for accepting such messages depending on the state, and updates of the state on message acceptance. States are represented by multi sets of tokens, and ....
....the properties expressed in supertypes. The work of Liskov and Wing on behavioral subtyping [6] shows the importance of constraints in subtyping: Assertions on methods are not sufficient to specify an object s behavior at the presence of subtyping and aliases. Process types as presented in [14, 15] improve previous work on process types represented as expressions in a process calculus [13] The present work increases the expressiveness of process types by allowing the acceptability of messages to depend on exact numbers of available tokens. Other than in previous work, the type equivalence ....
[Article contains additional citation context not shown here]
F. Puntigam. Coordination requirements expressed in types for active objects. In M. Aksit and S. Matsuoka, editors, Proceedings ECOOP '97, number 1241 in Lecture Notes in Computer Science, Jyvaskyla, Finland, June 1997. Springer-Verlag.
....a limited resource and clients shall be synchronized before using the service. For example, data can be put into a buffer only until the buffer is full, and got from this buffer only until the buffer is empty. No client shall send put to a full buffer or get to an empty buffer. Process types [14, 15, 16] provide means to specify constraints on acceptable message sequences. For example, it is possible to specify that a buffer has a certain number of slots, a client is allowed to send put (or get ) to the buffer only if there is at least one empty (or filled) slot, and an empty slot becomes full ....
....Theorem 1 oe = and oe are decidable. The type equivalence rules can be represented by a confluent and terminating rewrite system so that each type can be transformed into a unique normal form. There is a simple algorithm to decide if an ignorable type ae with oe = kae exists [15]. The decidability of subtyping depends on the decidability of type equivalence. And the decidability of type equivalence depends on the decidability of subtyping for parameter types. Both relations are decidable since there is only a limited number of parameter type levels; all considered types ....
[Article contains additional citation context not shown here]
F. Puntigam. Coordination requirements expressed in types for active objects. In M. Aksit and S. Matsuoka, editors, Proceedings ECOOP '97, number 1241 in Lecture Notes in Computer Science, Jyvaskyla, Finland, June 1997. Springer-Verlag.
....Active Objects (P12703INF) by extending an imperative object calculus with primitives for parallel composition and for synchronization via mutexes. This concurrent calculus even supports subtyping, but acceptable message sequences cannot be expressed in types. On the other side, process types [10] support sequencing of messages for a calculus developed just for that purpose. What is the reason why sequencing of messages works for this calculus, but not for the others This is the question we want to answer in this paper. We argue that the major difference is a certain kind of ....
....ordering they were sent. A property of this communication mechanism is that when the receipt of a message changes the receiver s behavior (as specified in the receiver s type) the sender knows about the change already when sending the message. This property 1 is a precondition for process types [10]. Two infinite sets of names are considered given: X contains names (denoted by a; b; c; and also v; x; y : used as object identifiers and parameters to be substituted by object identifiers. A set C contains labels (l; with X C = Names are underlined if they occur at ....
[Article contains additional citation context not shown here]
Franz Puntigam. Coordination requirements expressed in types for active objects. In ECOOP '97, Lecture Notes in Computer Science, Jyvaskyla, Finland, June 1997. Springer-Verlag.
....of the messages that remain constant over the whole lifetime of an object. The most desirable solution would be to find all message not understood errors at compile time. This goal can be achieved with sophisticated language mechanisms in models based on active objects like process types [Pun97a, Pun97b, Pet96] and [NN97] But middleware platforms should not change the languages its objects use. It is also desirable to determine messages that may not be understood before the client object sends them to the server. This goal can be reached by adding a checker at the CORBA ORB which checks at run time if ....
Franz Puntigam. Coordination requirements expressed in types for active objects. In ECOOP '97, Lecture Notes in Computer Science, Jyvaskyla, Finland, June 1997. Springer-Verlag.
....this paper a refinement of the model is proposed. It solves these problems so that it is easy to handle, for example, heterogeneous collections. 1 Introduction The process type model was proposed as a statically checkable type model for concurrent and distributed systems based on active objects [Pun96,Pun97]. A process type specifies not only a set of acceptable messages, but also constraints on the sequence of these messages. Type safety can be checked statically by ensuring that each object reference is associated with an appropriate type mark which specifies all message sequences accepted by the ....
....about its own state than about the other objects states. The additional knowledge can be used in changing the selfreferences type marks in a very flexible and still type safe way. The rest of the paper is structured as follows: An improved version of the typed process calculus presented in [Pun97] is introduced in Sect. 2. Support of using dynamic type information is added in Sect. 3, a more flexible typing of self references in Sect. 4. Static type checking is dealt with in Sect. 5. 2 A Typed Calculus of Active Objects The proposed calculus describes systems composed of active objects ....
[Article contains additional citation context not shown here]
Franz Puntigam. Coordination requirements expressed in types for active objects. In Mehmet Aksit and Satoshi Matsuoka, editors, Proceedings ECOOP '97, number 1241 in Lecture Notes in Computer Science, Jyvaskyla, Finland, June 1997. Springer-Verlag.
....coordination requirements and discuss some of their properties. In Sect. 4 we outline a type checking algorithm. An example in Sect. 5 shows how the type model can be used. A comparison with related work follows in Sect. 6. An extended version of this paper is available as a technical report [24]. 2 Active Objects and Type Consistency We consider systems composed of active objects that communicate through asynchronous message passing. An active object has its own (single) thread of execution, a behavior, a unique identifier (used as mail address) and an unlimited buffer of received ....
.... (specifying the behavior) which conforms to the type oe. We differentiate between object types (denoted by oe; and arbitrary types (i.e. types of closed processes or objects, denoted by ; Type parameters always stand for object types. An extended version of this work [24] differentiates between object type parameters, closed process type parameters and general type parameters. Closed processes (that resemble generic procedures in imperative languages) can be called by providing types as substitutions for type parameters, and arguments of appropriate types as ....
[Article contains additional citation context not shown here]
Franz Puntigam. Coordination requirements expressed in types for active objects. Technical report, Institut fur Computersprachen, Technische Universitat Wien, Vienna, Austria, 1997. Electronically available under http://www.complang.tuwien.ac.at/franz/papers/ecoop97tr.ps.gz.
....servers always belong to a higher level in the hierarchy than clients. 4 Related Work A large amount of work on types for concurrent languages and models is based on the calculus [3] and similar calculi [4, 5] But these type models differ in an important aspect from the process type model [6, 7]: They are not able to represent constraints on the order of messages or do not support static type checking. The present paper refines previous results by adding a further level of type models which can prevent all undesired kinds of deadlocks. The process type model supports subtyping and ....
F. Puntigam. Coordination requirements expressed in types for active objects. In Proceedings ECOOP '97, 1997.
No context found.
F. Puntigam. Coordination requirements expressed in types for active objects. In M. Aksit and S. Matsuoka, editors, Proceedings of the European Conference on ObjectOriented Programming (ECOOP'97), volume 1241 of Lecture Notes in Computer Science. Springer-Verlag, 1997.
No context found.
Franz Puntigam. Coordination requirements expressed in types for active objects. In Proceedings of ECOOP'97, volume 1241 of Lecture Notes in Computer Science, pages 367--388, 1997.
No context found.
Franz Puntigam. Coordination requirements expressed in types for active objects. In Proceedings of ECOOP'97, volume 1241 of Lecture Notes in Computer Science, pages 367--388, 1997.
No context found.
F. Puntigam. Coordination requirements expressed in types for active objects. In Proceedings of ECOOP'97, LNCS 1241, pages 367--388, 1997.
No context found.
F. Puntigam. Coordination requirements expressed in types for active objects. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP'97). Springer--Verlag, Jyvaaskyla, Finland, 1997.
No context found.
Franz Puntigam. Coordination Requirements Expressed in Types for Active Objects. In Proc. of ECOOP'97, LNCS 1241, pages 367--388. Springer-Verlag, 1997.
No context found.
F. Puntigam (1999) Coordination requirements expressed in types for active objects. In: ECOOP'97---Object-Oriented Programming, 11th European Conference, (M. Aksit & S. Matsuoka, eds), JyvaK skylaK , Finland, June Lecture Notes in Computer Science, Vol. 1241 Springer Verlag, Berlin, pp. 367--388. VISUAL MODELING 201
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