Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2000, Formal methods for open …
…
25 pages
1 file
CORBA is a standard proposed by the Object Management Group (OMG) that promotes interoperability between distributed object systems. Following the standardization of this object-oriented middleware, the OMG has specified a set of Common Object Services (COS) that are meant to serve as the building blocks of distributed CORBA applications. The COSes are specified using CORBA Interface Definition Language (IDL), that describes the syntactic aspects of services supported by remote objects. However, CORBA-IDL does not support specification of the behaviour of objects in an abstract and formal way, and behavioural specification is mostly provided in plain English. To overcome this problem, we have proposed a formal description technique (Cooperative Objects) based on high-level Petri nets, and developed a software support environment. The goal of this paper is to demonstrate that our approach is suited to the formal specification of typical CORBA COS, and presents a Cooperative Object model of the CORBA event service, a COS that provides asynchronous, one-to-many communication between objects. The advantages of dealing with a tool-supported, executable formal notation are detailed, as weil as the results that can be obtained through Petri net analysis techniques.
Application and Theory of …, 1999
CORBA is a standard proposed by the Object Management Group (OMG) in order to promote interoperability between distributed object systems. CORBA provides a programming-language neutral Interface Definition Language (IDL) that describes the syntactic aspects of services supported by remote objects. However, CORBA IDL does not provide any means to specify the behaviour of objects in an abstract and formal way. Behaviour specification is provided either in plain English, or directly in the programming language chosen for the implementation. We propose the use of Cooperative Objects, a dialect of object-structured high-level Petri nets, as formalism for behavioural specification of CORBA systems. We detail at the syntactic and semantic level how this formalism supports the features of the CORBA object model. We present a realistic case study to demonstrate our approach.
Concurrency: Practice and …, 2000
+33 5 61 63 35 88
Proceedings of the 15th …, 2000
CORBA is now established as one of the main contenders in object-oriented middleware. Beyond the definition of this standard for distributed object systems, the Object Management Group (OMG) has specified several object services (Common Object Services, COS) that should foster the interoperability of distributed applications. Based on experiment, the goal of this paper is to show that the OMG's style of specification of the CORBA services is not suited to guarantee that implementers will produce interoperable and substitutable implementations. To illustrate our point, we give an account of an experiment based upon the formal specification of one COS, namely the CORBA Event Service. This formal specification highlights several ambiguities and under-specifications in the OMG document. We then test several commercial and public domain implementations of the CORBA Event Service, in order to assess how the implementers have dealt with these underspecifications. We show that the choices made by the implementers lead to incompatible implementations. We finally suggest a solution to overcome the problem of specification of object services, which satisfies the views of both implementers and users. Specifically, we suggest that the specification of such services be made using a formal description technique, and that implementers be provided with test cases derived from the formal specification.
Proceedings of the International Symposium on Distributed Objects and Applications, 1999
We present a CASE tool based on an object-oriented Petri nets dialect called Cooperative Objects, dedicated to the design of CORBA systems. The notation is used for the formal behavioural specification of objects, and its associated tool puts an emphasis on supporting the design life cycle of CORBA systems. The tool offers enhanced interactivity to present the results derived from the capabilities of verification, validation and distributed interpretation provided by Cooperative Objects.
ACM SIGPLAN Notices, 2000
CORBA is now established as one of the main contenders in object-oriented middleware. Beyond the definition of this standard for distributed object systems, the Object Management Group (OMG) has specified several object services (Common Object Services, COS) that should foster the interoperability of distributed applications. Based on experiment, the goal of this paper is to show that the OMG's style of specification of the CORBA services is not suited to guarantee that implementers will produce interoperable and substitutable implementations. To illustrate our point, we give an account of an experiment based upon the formal specification of one COS, namely the CORBA Event Service. This formal specification highlights several ambiguities and under-specifications in the OMG document. We then test several commercial and public domain implementations of the CORBA Event Service, in order to assess how the implementers have dealt with these under-specifications. We show that the choi...
ECOOP'99Object-Oriented Programming, 1999
We propose to extend the CORBA interface definition of distributed objects by a behavioral specification based on high level Petri nets. This technique allows specifying in an abstract, concise and precise way the behavior of CORBA servers, including internal concurrency and synchronization. As the behavioral specification is fully executable, this approach also enables to early prototyping and testing of a distributed object system as soon as the behaviors of individual objects have been defined. The paper discusses several implementation issues of the multithreaded, distributed interpreter built for that purpose. The high level of formality of the chosen formalism allows for mathematical analysis of behavioral specifications.
1997
In this article we present an Object-Based High-Level Petri Net framework useful to the formal description and speci cation of distributed information systems. The G-CPN tool is based on the same principles of G-Nets Systems and Coloured Petri Nets. In order to allow the automatic analysis of G-CPN Systems, we present informally a mechanism of transformation into standard CP-Nets.
Common Object Request Broker Architecture (CORBA) is a standard for hybrid applications that is designed and supported by Object Management Group (OMG). This standard defines protocols and Relational Data Model Objects / Services which can be connected into heterogeneous software (written in different languages). So we can use CORBA to share the distributed object platform, without worrying about where they are located or who has designed them. CORBA can package the codes (in some programming languages) and add the packaging information, such as the ability to execute the codes and how to implement them. So this package or object code can execute some other programs or CORBA objects that they are in the network. CORBA uses a relational language called Interface Definition Language (IDL) to specify the interface of the classes and objects. The IDL definitions can be connected to the written codes in some popular languages such as Java, C++, Ada, and Smalltalk. To know the functionality and behaviors of objects and their interfaces, we need to abstractly model their definitions and specifications. Models are in different types (e.g., physical, mathematical, numerical, software, etc.) and have a variety of critical applications in all areas of science and technology. In other words, a summary of the facts is known as the models. Therefore, it could be mentioned that there are two objectives for the model including exploration and specification, the modeling process considers either or both of them. One of the main approaches to the modeling process is based on state-transition systems such as Kripke structures, Petri nets, and Büchi automata. The paper's ultimate goal is to provide a method to model the formal behavioral specifications of CORBA objects. In this paper, we use the formalism of Büchi automata as the operational semantics for the behavior of CORBA based objects. For this purpose, two different approaches that include using Petri nets as basic operational models and translating them to Büchi automata and direct using of Büchi automata are considered. Also, we show the applicability of our suggested modeling approaches by considering them in some case studies. As result, a Büchi automaton is a better model to verify a system.
Petri Nets 2000, 2000
Systems, Man, and …, 1998
Groupware systems are inherently concurrent and complex. To formally specify such systems, designers need powerful description tools capable of dealing with concurrency and mechanisms to manage the complexity. In this paper, we present an object-oriented speci cation language based on Petri Nets, and its application to the modeling of a cooperative editor.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
ACM Transactions on Software Engineering and Methodology, 2003