DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Tool support for Distributed Object Technology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
CORBA - Common Object Request Broker Architecture.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Distributed Systems Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 11: CORBA.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
II. Middleware for Distributed Systems
Simulation Waiting Line. 2 Introduction Definition (informal) A model is a simplified description of an entity (an object, a system of objects) such that.
CORBA Chapter 17 Coulouris text. Today’s Topics CORBA History and goals CORBA RMI CORBA services The Distributed Whiteboard Revisited.
CORBA Programming Using ACE/TAO
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
A. Mednonogov / Helsinki University of Technology / Conformance Testing of CORBA Services Using TTCN / / Page 1 Conformance Testing of CORBA Services.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Location Based Information Service using CORBA CS597 Direct Reading Madhu Narayanan & Rahul Vaghela Advisor: Dr. Yugi Lee.
DEVS Namespace for Interoperable DEVS/SOA
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Discrete Event Modeling and Simulation of Distributed Architectures using the DSSV Methodology E. de Gentili, F. Bernardi, J.F. Santucci University Pascal.
Comparison of Web Services, RMI, CORBA, DCOM Usha, Lecturer MCA Department of Computer Science and Engineering.
Information Management NTU Interprocess Communication and Middleware.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Abhishek Bachchan Vishal Patangia
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Vakgroep Informatietechnologie - IBCN CORBA & RMI Design of Distributed Software.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Electronic Payment Systems (1)
Presented By:- Sudipta Dhara Roll Table of Content Table of Content 1.Introduction 2.How it evolved 3.Need of Middleware 4.Middleware Basic 5.Categories.
CORBA – Eclipse CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Model Design using Hierarchical Web-Based Libraries F. Bernardi Pr. J.F. Santucci {bernardi, University of Corsica SPE Laboratory.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
1 Domain Management in a Hierarchical Generic Models Library University Pascal Paoli of Corsica SPE Laboratory Fabrice BERNARDI, Jean-François SANTUCCI.
The Pasta Flingers Group 3. CORBA Object Management Group – OMG Object Management Group – OMG Common Object Request Broker Architecture Common Object.
CS223: Software Engineering
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
PDEVS Protocol Performance Prediction using Activity Patterns with Finite Probabilistic DEVS DEMO L. Capocchi, J.F. Santucci, B.P. Zeigler University of.
Topic 5: CORBA RMI Dr. Ayman Srour
Extension du formalisme SES pour l’intégration de la hiérarchie d’abstraction et la granularité temporelle au sein de la modélisation et la simulation.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
CORBA Barış COŞKUN Çağatay DİKİCİ. INTRODUCTION Computer networks are heterogenous In 1989 OMG(Object Management Group) was formed to address the problems.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Java Distributed Computing
Neuro-DEVS An hybrid methodology to describe complex systems
Common object request broker
CORBA Alegria Baquero.
Service-centric Software Engineering
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
CORBA and COM TIP Two practical techniques for object composition
Presentation transcript:

DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University of Corsica UMR CNRS 6134

2 Studied Problem Main Objectives of our Research –Modeling and simulation of the behavior of a computer object –Showing up a generic methodology for the modeling of this kind of objects Selected Approach: DEVS Based Modeling and Simulation Selected Application: CORBA Architecture (and especially the Portable Object Adapter)

3 Outline of the Presentation DEVS Modeling Theory Methodology for Algorithmic functions Modeling The CORBA Portable Object Adapter (POA) Example: the find_poa() Function Results and Validation Conclusion and Perspectives

4 DEVS Modeling Theory The DEVS (Discrete EVent System Specification) Modeling and Simulation Approach: –Describes a system by components interconnection –Allows interactions between components using communication ports –Uses two types of components Two Main Concepts: –Event: Information arrival on a port –Modeling and Simulation: Taking into account behavioral changings according to time or events

5 DEVS Modeling Theory Components used for Modeling considering a Given System: –Atomic Models: Basic components that provide a local description of the dynamic behavior of the system –Coupled Models: Corresponds to a set of behavioral components that describes the manner a new component is created by interconnecting some others

6 DEVS Modeling Theory An atomic model is defined by: –A set of input ports –A set of output ports –A set of state variables: define completely the states of the model –Two transition functions: allows to change the state variables –An exit function –A time advance function

7 DEVS Modeling Theory Why DEVS ? –Long experience in our laboratory with many works based upon this approach –Already defined and satisfying tools –Great adaptation to discrete event systems such as computer programs –Original approach: Showing up a methodology for algorithmic functions modeling

8 Methodology for Algorithmic Functions Modeling Basic Approach (starting from the source code): –Algorithmic functions are seen as coupled models –An atomic model represents the modeling of the behavior of the function between two calls to other external functions –Internal variables of the function are binded to state variables –Variables are carried through specialized ports as long as the function need them

9 Methodology for Algorithmic Functions Modeling For a better understanding, we introduce three kinds of ports: –Sequencement Ports: used to carry the value of the state variables between two atomic models –Call Ports: used to carry the name of the function to be called –Parameter Ports: used to carry the parameters needed by a function

10 Example of function: Methodology for Algorithmic Functions Modeling AM1 AM2 AM3 int f(a,b) { e = g(d); return e; }

11 Methodology for Algorithmic Functions Modeling AM1 AM4 AM3AM2 CM2: g(d)  e CM1: f(a,b)  c a b c f(a,b) g(d) Exception de Sequencement Ports Parameter Ports Call Ports Sequencement Ports Parameter Ports Call Ports

12 Methodology for Algorithmic Functions Modeling Basic Control Structures Modeling The « if » statement The « do » statementThe « for » statement The « while » statement AM1 AM2 AM3 AM1 AM2AM1 AM2AM1

13 Methodology for Algorithmic Functions Modeling Algorithmic function: Coupled model composed by the interconnection of atomic models Application: Modeling of the CORBA Portable Object Adapter

14 The CORBA Portable Object Adapter (POA) CORBA: Common Object Request Broker Architecture Reference architecture for distributed systems Many implementations available Object-Oriented architecture (OMG) Based upon many concepts such as: ORB, POA, servant, client,...

15 The CORBA Portable Object Adapter (POA) The Portable Object Adapter (POA): –Interface between the server objects and the ORB –Connected to many servants (object implementing interfaces defined using the IDL language) –Identity an object using an OID (Object IDentificator) –Mapping with currently active objects performed using an Active Object Map (AOM) –Independent from the ORB implementation –Allows servants to assume complete responsibility for an object’s behavior

16 The CORBA Portable Object Adapter (POA) Position of the POA in the CORBA Architecture ORB (Object Request Broker) Proxy Client Servant POA Requests

17 The CORBA Portable Object Adapter (POA) The POA is defined as an object presenting 25 methods For example: create_POA(), find_POA(), destroy() PortableServer::POA the_name : string … create_POA() find_POA() destroy() get_servant() …

18 Example: the find_poa() function Returns a pointer to a POA adapter name Can raise an exception (AdapterNonExistent) Accepts two parameters (adapter, activate)

19 Example: the find_poa() function C++ simplified source code POA_ptr find_poa(adapter, activate) { if (getDestroyed()) throw Exception; bool check=true; if (containsKey(adapter) && activate) { adapterActivator = getAdapterActivator(); if (adapterActivator != NULL) check = unknownAdapter(adapter); } POA poa; if (check) get(adapter, poa); if (poa == NULL) throw AdapterNonExistent; return poa; } POA_ptr find_poa(adapter, activate) { if (getDestroyed()) throw Exception; bool check=true; if (containsKey(adapter) && activate) { adapterActivator = getAdapterActivator(); if (adapterActivator != NULL) check = unknownAdapter(adapter); } POA poa; if (check) get(adapter, poa); if (poa == NULL) throw AdapterNonExistent; return poa; }

20 Example: the find_poa() function Definition of the Coupled Model POA: –Input ports: adapter, activate children, poa_control (ORB) find_poa (Methodology) –Output ports: Exception, POA_ptr Coupled Model find_POA() POA_ptr activate adapter children poa_control find_poa() Exception

21 Example: the find_poa() function Components: 10 atomic models Links to 5 other coupled models Minimal path (without exception): 6 atomic models Maximum path (without exception): 10 atomic models

22 Results and Validation Simulation using a software written in Java Validation by testing all possible paths Good results for every function simulated

23 Results and Validation

24 Conclusion and Perspectives Originality of our approach: Use of DEVS modeling for algorithmic functions Modeling and simulation starting from the source code Application: CORBA Architecture Already done: Portable Object Adapter Main objective: Being able to simulate the whole CORBA architecture for testing new services

25 Conclusion and Perspectives Perspectives: –To complete the whole architecture (ORB) –To add a physical network simulation tool –To simulate a complete distributed application over a network –To develop new techniques of validation