DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci...
-
Upload
ruth-bryan -
Category
Documents
-
view
218 -
download
0
Transcript of DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci...
![Page 1: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/1.jpg)
DEVS Based Modeling and Simulation of the CORBA POA
F. Bernardi, E. de Gentili, Pr. J.F. Santucci{bernardi, gentili, santucci}@univ-corse.fr
University of CorsicaUMR CNRS 6134
![Page 2: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/2.jpg)
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)
![Page 3: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/3.jpg)
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
![Page 4: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/4.jpg)
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
![Page 5: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/5.jpg)
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
![Page 6: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/6.jpg)
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
![Page 7: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/7.jpg)
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
![Page 8: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/8.jpg)
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
![Page 9: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/9.jpg)
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
![Page 10: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/10.jpg)
10
Example of function:
Methodology for Algorithmic Functions Modeling
AM1
AM2
AM3
int f(a,b) {
e = g(d);
return e;}
![Page 11: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/11.jpg)
11
Methodology for Algorithmic Functions Modeling
AM1
AM4
AM3AM2
CM2: g(d) e
CM1: f(a,b) c
ab c
f(a,b)
g(d)
Exception
d e
Sequencement PortsParameter PortsCall Ports
Sequencement PortsParameter PortsCall Ports
![Page 12: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/12.jpg)
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
AM2 AM1
AM2AM1
![Page 13: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/13.jpg)
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
![Page 14: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/14.jpg)
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,...
![Page 15: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/15.jpg)
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
![Page 16: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/16.jpg)
16
The CORBA Portable Object Adapter (POA) Position of the POA in the CORBA
Architecture
ORB (Object Request Broker)ORB (Object Request Broker)
ProxyProxy
ClientClient ServantServant
POAPOA
Requests
![Page 17: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/17.jpg)
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()…
![Page 18: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/18.jpg)
18
Example: the find_poa() function
Returns a pointer to a POA adapter name
Can raise an exception (AdapterNonExistent)
Accepts two parameters (adapter, activate)
![Page 19: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/19.jpg)
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; }
![Page 20: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/20.jpg)
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
activateadapter
childrenpoa_controlfind_poa()
Exception
![Page 21: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/21.jpg)
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
![Page 22: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/22.jpg)
22
Results and Validation
Simulation using a software written in Java
Validation by testing all possible paths Good results for every function
simulated
![Page 23: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/23.jpg)
23
Results and Validation
![Page 24: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/24.jpg)
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
![Page 25: DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, santucci}@univ-corse.fr University.](https://reader036.fdocuments.net/reader036/viewer/2022081514/56649f355503460f94c5402d/html5/thumbnails/25.jpg)
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