Vous êtes sur la page 1sur 19

DESIGN OF FORMAL AIR TRAFFIC

CONTROL SYSTEM THROUGH UML

Shafeeq Ahmad
Azad Institute of Engineering & Technology, INDIA
ahmad_shafeeq@rediffmail.com

Vipin Saxena
Dr. B. R. Ambedkar University, INDIA
vsax1@rediffmail.com

ABSTRACT
In recent years, UML has become most popular among modeling languages and is
commonly used to drive the design and implementation of system and software
architectures. UML models help to achieve functional and non-functional requirements
of system. Furthermore, UML tools have enabled the creation of source code from
UML diagrams in order to initiate the programming phase of building software.
However, due to lack of clearly defined semantics, it has been challenging to create
source code from UML models. The main objective of the paper is to model Air Traffic
Control system by the use of UML. An activity of Air Traffic Control i.e. departure
process which only covers part of the Air Traffic Control functionality has been
considered in this paper. The UML models created using formal naming semantics help
them to convert into source code and also help to achieve functional and non-functional
requirements. The complexity of Air Traffic Control System is also measured which
makes the design simple and visibly understandable.

Keywords: UML model, formal semantics, source code, Air Traffic Control.

1 INTRODUCTION The first air traffic control (ATC) system was


originally built in the 1960s; since then, air traffic
Nowadays Object Oriented software has increased immensely, and has become
development process is widely used in the Software increasingly more difficult to maintain safety in the
Industry. The emergence of Object-Oriented sky. As air travel has become an essential part of
programming has heavily contributed toward a modern life, the ATC system has become strained
standardized method of modeling known as the and overworked. The ATC system has been in a
Unified Modeling Language (UML). In recent years, process of continuous improvement / change. In the
UML has become synonym for software modeling earliest days of aviation, few aircraft were in the
and is commonly used to model the software skies that there was little need for automated control
architecture problems. Source code can be easily be of aircraft. As the volume of air traffic increased and
generated with the help of different UML diagrams the control was still fully manual; the system was
for building the software. To generate the correct considered unsafe as human error has been cited as a
source code, the main problem is lack of clearly major factor in the majority of aviation accidents and
defined semantics and code generation can only be incidents.
done if the UML specification is standard, complete, In today’s Air Traffic Control system, air traffic
precise, and unambiguous. The present work is based controllers are primarily responsible for maintaining
upon the ATC system which is explained below: aircraft separation. Every aircraft follows several
1.1 ATC System activities during a flight. These activities are shown
below in Fig.1:
ATC system is a service that gives guidance to (i) Preflight -This portion of the flight starts on the
aircraft, prevents collisions and manages safe & ground and includes flight checks, push-back
orderly traffic flow. It is a vast network of people & from the gate and taxi to the runway.
equipment that ensures safe operation of aircrafts.

UbiCC Journal - Volume 3 Page 1


(ii) Takeoff - The pilot powers up the aircraft and (iii) Outdated design/technology – Obsolete software
speeds down the runway. design and programming language [11] are
(iii) Departure - The plane lifts off the ground and major barriers to upgrades and efficient software
climbs to a cruising altitude. maintenance of the currently used ATC systems
(iv) En route - The aircraft travels through one or because of which improved capacity and
more center airspaces and nears the destination efficiency can’t be achieved with the current
airport. system. The current computer software limits the
(v) Descent - The pilot descends and maneuvers the number of aircraft that can be tracked at any
aircraft to the destination airport. given time, and the dated architecture makes
(vi) Approach - The pilot aligns the aircraft with the enhancements, troubleshooting and maintenance
designated landing runway. more difficult. Computer outages, planned or
(vii) Landing - The aircraft lands on the designated unplanned, are covered by a backup system that
runway, taxis to the destination gate and parks at cannot handle the same level of air traffic as the
the terminal. main system. The result is significantly limited
capacity during backup mode.
En Route (iv) Mixed communication – The communication
Departure Descent
between the controllers & pilot currently is a
Takeoff Approach combination of voice & datalink. The results of
Preflight Landing test conducted [18] show that the mixed
communication leads to slow speed which can
be overcome only when the whole
communication takes place in a well defined
manner .

2 RELATED WORK

The ATC system consists of controllers &


Figure 1: Activities of Aircraft [6] technology. The various controllers involved have
different tasks assigned to them which have been
1.2 Drawbacks of Current ATC System very well described in [15], [16], [19], [20]. The
ATC systems are highly complex pieces of ATC real-time system [19] is characterized as
machinery, they employ standard verification and complex, time-driven and potentially distributed. It is
modeling technique to coordinate, distribute and composed from multiple sub-systems, which must
track aircraft as well as weather information. The cooperate in order to complete its real time targets.
currently used systems need to employ procedures ATC employs the approach of Parallel Applications
for improved safety and efficiency which include in which the simultaneous execution of some
flexibility, potential cost savings & reduction in combination of multiple instances of programmed
staffing. This means that there is a lack of advanced instructions and data on multiple processors are
technology and desire to support the controller. Thus performed in order to obtain results faster. Meilander
there is a need to build ATC system based on a [4] has proposed a solution for problems arising due
method which can handle increased air traffic to parallel processing used in ATC but its
capacity/congestion to provide a safety critical implementation needs reliable software. The reason
interactive system. The following are the major for system failure discussed in [8] was found to be
drawbacks of current ATC system: lack of maintenance. For the efficient software
(i) Lack of well-defined human/software interface – maintenance, [11] emphasizes changes particularly
The idea of full automation or minimum human on the technology front which means modernizing
intervention of the ATC system still remains the current air traffic control system by replacing the
unfulfilled. The existing systems do require software used in the current ATC systems. The study
human interaction as the system only guides but done by Verma[18] by implementing changes in the
actual decision is taken by the controllers in- procedures, roles and responsibilities of the
charge (ground, local). controllers for redistribution of workload and
(ii) Need for high maintenance – Maintenance of the communications among them, has also stressed on
system is also an issue which can cause problem the introduction of new automated technologies for
as discussed by Matthew L. Wald [23] about an the controllers.
incidence in which voice communication For a critical system like ATC an extremely low
between the pilot & controllers broke down & probability of failure is needed as if the system fails
the reason behind this was found to be a lack of any related type of hazard can occur. The reports on
maintenance. incidences at non-controlled airports [5] show that

UbiCC Journal - Volume 3 Page 2


pilots can’t entirely rely on vision to avoid collision necessary detail is included in a model, such model
& also it is necessary to get all the air-traffic related can be used to automatically generate complete
information correctly. So it is crucial that in such implementations.
large and extremely complex systems the software is The role of software architecture is similar in
designed with a sound architecture A good nature to the role architecture plays in building
architecture not only simplifies construction of the construction. Building architects look at the building
initial system, but even more importantly, readily from various viewpoints useful for civil engineers,
accommodates changes forced by a steady stream of electricians, plumbers, carpenters and so on. This
new requirements. This architectural construct can be allows the architects to see a complete picture before
derived from modeling concepts by using the construction begins. Similarly, architecture of a
powerful extensibility mechanisms of UML [1]. The software system is described as different viewpoints
UML model-based approach helps to manage critical of the system being built. These viewpoints are
systems, since the model support the necessary captured in different model views. UML provides a
analysis activities in several ways: number of diagram types for creating models. UML
• The formalized structural and behavioral system does not specify what diagrams should be created or
description gives the necessary basis for what they should contain, only what they can contain
criticality analysis. and the rules for connecting the elements. Some
• Providing behavior is expressed in simple state UML diagrams can have different uses and
charts or “English-like” pseudo code, the interpretations. The result of this has been that
behavior should at least be explainable to end- behavioral and/or run-time semantics are not well
users. defined for standard UML modeling elements. The
• The model gives an excellent basis for fault- semantics problems have made it difficult to achieve
tolerance analysis, since the model includes the model-based programming using standard UML.
dependency structure. Hence semantically correct UML models [12], [17]
The size and complexity of the ATC system are needed to achieve code. Also the UML models
demand a considerable initial development effort, enhance communication as they provide a better way
typically involving large development teams, that is to understand and communicate among analysts,
followed by an extended period of evolutionary designers, developers, testers and with domain
growth. During this time new requirements are experts for designing a system. Creating and
identified and the system is modified incrementally debugging software code has been and continues to
to meet them. Under such circumstances an be a very labor-intensive and expensive process but
overriding concern is the architecture of the software. having an accurate UML model can ease the work as
This refers to the essential structural and behavioral if any problem comes and modification is required
framework [1] on which all other aspects of the then instead of modifying the code the models can be
system depend. Any change to this foundation modified, even the extensibility can be done by
necessitates complex and costly changes to adding new constructs to address new development
substantial parts of the system. Therefore, a well- issue.
designed architecture is not only one that simplifies To meet the non-functional requirements [13] such
construction of the initial system, but more as modifiability, testability and reliability, the design
importantly, one that easily accommodates changes and analysis of a system at the architecture design
forced by new system requirements. level must be done. Non-functional requirements
To facilitate the design of good architecture the have a critical role in the development of a software
domain-specific usage can be implemented using the system as they can be used as selection criteria to
UML. Object-oriented requirements analysis using help designers with rational decision-making among
modular and decomposable use cases provide to be competing designs, which in turn affects a system’s
very powerful method for the analysis of large-scale implementation .Thus the ATC system needs to
ATC systems [6]. It is extremely useful to define provide a sufficient amount of dependability and
both the static semantics (i.e., the rules for well- should support a survivability architecture [10].
formedness) and the dynamic (run-time) semantics In this paper we examine the most important
of the ATC system. These semantic rules fully modeling constructs used for representing the ATC
defined and consistent, and in conjunction with an system handling departure and also describe how
action specification language that is also complete they are captured and rendered using UML. The
and consistent can be used to specify the details of models are based on the work presented by Saxena &
state-transition (Activity diagram of UML) actions, Ansari [21].The operations, phases and controllers
Interaction (Sequence diagram of UML) and object involved during departure of an aircraft have been
methods (class diagram of UML) and the resulting described in [2], [3], [7], [9], [10], [14], [15], [19] &
models will be executable. Furthermore, if all the

UbiCC Journal - Volume 3 Page 3


[20] which have been used as base for designing The informal activity diagram for departure of an
various UML models. aircraft is given below in Fig. 2. It simply describes
the main activities performed during departure by the
3 PROPOSED APPROACHED controller and the aircraft object. In this diagram
some semantic problems are present like if any
The existing systems are quite complex and clearance has not been granted then what will be
inefficient. To adapt to the changing demands of done is not clear i.e. use of decision box hasn’t been
speed and efficiency a reliable software system for done. Further all the activities have been shown in a
ATC is required to be developed. Software single step and no refinements have been done to
architecture based on UML models will help in simplify the activities. These loose semantics of the
handling complexities and drawbacks of existing diagram make this model unable to be executable,
ATC systems and also help to better understand the
therefore the formal activity diagram for departure of
domain. UML is the de-facto standard visual
an aircraft is defined and shown in Fig. 3
modeling language which is a general purpose,
broadly-applicable tool supported, industry-
standardized modeling language which offers an Aircraft Controller
extensive set of diagrams for modeling. The
complexity of the problem domain requires extensive
Request pushback
efforts for the clarification of the initial problem clearance
statement. Moreover, due to the extremely long Grant pushback
clearance
lifespan of ATC systems, stable and robust analysis
models enabling the integration of new operational Pushback
from gate
scenarios are needed which can be efficiently
obtained using UML models. In the design of a
departure activity of ATC system UML will help to Leave ramp
meet safety, reliability, availability, and robustness area

demands in an environment of steadily increasing air


traffic density. The code obtained using the UML Request taxi
clearance
models is highly optimized which is one of the main Grant taxi
clearance
requirements for the design of a cooperative ATC Taxiing
system.

4 DESIGN OF ARCHITECTURE Request departure


clearance
Grant departure
System architecture is a set of design decisions. clearance
Depart
These decisions are technical and commercial in
nature. To meet the functional and nonfunctional
requirements of the above said ATC system it is
necessary to model the complete ATC system by the
use of UML. Different types of diagrams are
designed and described below in brief: Figure 2: Informal UML activity diagram of
departure activity of a flight
4.1 UML Activity Diagram
Activity diagram describes the workflow behavior
of a system. It illustrates the dynamic nature of a Formal activity diagram [fig.3] contains five
system by modeling the flow of control from activity objects aircraft, Gate_controller, Local_ controller,
to activity. An activity represents an operation of a Ramp_controller & Ground_controller. It describes
class, resulting in system state change. various activities which are performed by all the
objects. While these activities/operations are being
done, it also shows in which state the system is like
ready for departure, taxiing etc. There is a request by
the pilot of the aircraft to the gate controller to assign

UbiCC Journal - Volume 3 Page 4


Figure 3: Formal UML activity diagram of departure activity of a flight

UbiCC Journal - Volume 3 Page 5


it a gate which is the initial state & the final state is it lacks concrete, well defined semantics which make
named as depart. When the next activity is performed it impossible to help it in bringing to a computational
the system is taken to the next state that means a consistency, therefore formal use case diagram is
transition causes the change of state. Against the drawn for departure activity of a flight and shown
transitions various conditions are listed which below in Fig. 5.
actually cause the transition. Also the use of decision
box is applied which is required to check whether the
various clearances like pushback, taxiing & final
departure clearance has been granted or not. If Ramp_controller Govern ramp area

clearance has been granted then only the aircraft Gate_controller


starts pushing back or departing else if because of clearance to leave ramp
gate freeing

some reason clearance could not be granted then it assign gate


<<extend>> Taxiing
will again go to the request clearance state where it grant pushback from gate
sequencing at ramp
will be seen & tracked until it is safe for pushback or <<include>> Ground_controller

departure. During the whole departure activity the <<extend>>


enter and leave ramp
<<include>>
clearance for taxiing

possibilities of any emergency condition is also taken <<include>>


pushback
into consideration and shown in the diagram. Hence <<extend>>
Tracking
Handle surface movement

the solid and well organized semantics like Taxi-plan


<<include>>
Detect actual runway exit
<<include>>
conditions for transitions, use of swimlanes, fork,
Departure queue sequencing
join, method calls from objects i.e. able to call Aircraft
methods from other objects, decision condition <<extend>>

select for departure


specification etc. have been used in this diagram <<include>> Local_controller
clearance for takeoff
which make this model executable. <<extend>> Maintaining safe distance Sectorization
between planes Information of weather, speed
<<include>> and direction
<<include>>

4.2 UML Use Case Diagram Sequencing at holding points

The use case diagram captures system departure


Departure
Departure
Monitor runway incursions
functionality as seen by users. It shows an outside-in <<include>>

view of the procedures available in the use of the


system i.e. all the available functionality of the
system is represented at a high level. The UML
models can package the most relevant activities in Figure 5: Formal UML use case diagram of
use cases and identify important actors. The UML departure activity of a flight
use case diagram for departure activity of ATC
system is shown in Fig.4. In the above model there are all five actors namely
Aircraft, Ground_controller, Ramp_controller,
Monitoring Gate_controller & Local_ controller which interact
Taxiing
with various use cases. The use cases clearly
Grant Clearances
describe various main functions during departure and
whether they are dependent on each other directly or
Controller
Pushback indirectly denoted by extended or included keywords.
Tracking & Maintaining
Aircraft
safe distance It explains actually which functions are governed by
Departure
which actors. This diagram provides the functional
Handle aircraft
movement
basis for creating the remainder of the diagrams
needed to arrive at an executable diagram as it has
Provide information well defined semantics like identifying every actor
involved during departure of a flight, specifying all
Aircraft sequencing
the functions performed by each actor and use of
extend or include keyword to identify how one
function of an actor is related to another. This formal
use case diagram also drives the design of the class
Figure 4: Informal UML use case diagram of
departure activity of a flight diagram, and sequence diagram.

This diagram consists of two actors namely 4.3 UML Class Diagram
controller and aircraft. The use-cases consists Class diagram identifies & describes the static
represent the functionality of both actors. But this structure of the system i.e. the system architecture.
use case diagram provides an informal viewpoint as

UbiCC Journal - Volume 3 Page 6


The following Fig.6 shows the informal class some distinct attributes (properties) and some
diagram of the departure activity of a flight. operations which are listed in the 2nd and 3rd section
respectively of the class diagram. The type of
Controller
Aircraft attributes and return type of operations have been
controllername
location
aircraftname clearly specified in the diagram. This class diagram
airlinename
area
departuretime has covered almost all the explicitly defined
monitor()
pushback()
semantics like class relationships, multiplicities,
grantclearance()
tracking()
taxi() associations, properly labeled relationships, strict
depart()
movementhandling() naming of classes, attributes, and methods, explicit
parameters/return values which are necessary in
Figure 6: Informal UML class diagram of order to allow the model to be computationally
departure activity of a flight executable.

This diagram gives a general view of the classes 4.4 Sequence Diagram
involved during departure namely the controller and A sequence diagram is an interaction diagram that
the aircraft class. In this diagram only the name of details how operations are carried out, what
the attributes and the operations of the classes have messages are sent and when. Sequence diagrams
been specified. Even the attribute type or the return have a temporal focus so they are organized
type of the methods hasn't been described. These according to time which means what happens when.
loose semantics make this model impossible to The informal sequence diagram of departure
compile and execute. Now let us examine a formal activity of a flight is shown below in Fig 8. It simply
class diagram of departure activity of a flight shown gives a sequence of messages between the controller
below in Fig.7

Gate_controller
gatename : Variant

gateassignment()
makegateavailable()
pushbackclearance() : Boolean
+gate clearance granting 1
controls
+assigned aircraft 0..*
Aircraft
airlinename : String
aircraftnumber : Variant
airplanetype : String
Ground_controller position : Variant
location : Variant altitude : Integer
area : Integer departuretime : Date Local_controller
inactiverunwayname : String departureairport : String sector : String
monitoringdevice : String speed : Integer location : Variant
distance : Integer activerunwayname : String
holdingareas() route : Variant radarcoverage : Long
+taxi clearance granting
controlgroundtraffic() callsign : String +assigned aircraft
1 controls trajeventlist : Variant 0..*
protectcriticalareas() controls givinginformation() : Variant
departurequeuesequencing() 0..* latitude : Integer 1 clearance()
+assigned aircraft longitude : Integer +departure clearance granting
handleemergencies() selectfromqueue()
taxiclearance() : Boolean handleemergencies()
depart() sectorization()
taxiing(taxi-out-plan, assigned-runway) runwayassignment()
+assigned aircraft pushback()
0..* monitorrunwayincursions()
getdeparturetime() holdingpointsequencing()
assignflightcreww()
maneuvering()
delayflight(number of minutes) consists of
controls setcallsign(string callsign value)
1
getcallsign(string callsignvalue) Clearance_delivery_controller
addtrajevent()
1 aircraft : String
+ramp clearance granting clearancelimit : Long
Ramp_controller departurefrequency : Integer
ramparea : Long routeassigned : Variant
altitudeassigned : Double
controlrampoperations()
sequencingatramp() routechecking()
aircraftservicing() finaldepartureclearance() : Boolean
aircraftloading()
rampclearance() : Boolean

Figure 7: Formal UML class diagram of


departure activity of a flight Figure 8: Informal UML sequence
diagram of departure activity of a flight
This class diagram of the departure activity of a
flight described in Fig. 7 focuses on the main objects
and associations (relation) between them. During and the aircraft objects. But this model doesn’t
departure main objects are Gate_controller, include the semantics necessary for making it
Ramp_controller, Ground_controller, executable as no parameter values are specified, no
Local_controller and Aircraft itself. The guards have been used for any decision point, even
Local_controller in turn consists of the the class definition is not necessarily present in the
Clearance_delivery_controller which gives the final called class. Hence this model can not be compiled
departure clearance. Also a controller called and executed, therefore a formal sequence diagram is
Ramp_controller is present which is just a type of defined & shown in Fig.9.
ground controller which is responsible for operations
at ramp (parking) area. All the objects in turn have

UbiCC Journal - Volume 3 Page 7


Figure 9: Formal UML sequence diagram of departure activity of a flight

UbiCC Journal - Volume 3 Page 8


In Fig.9 complete departure activity of a flight can [5] G. Brown, “Remote Intelligent Air Traffic
be seen at a glance. The messages are communicated Control Systems for Non-controlled Airports”,
between the five main objects; aircraft, Jan. 2003. Available: ww4.gu.edu.au:8080/adt-
Gate_controller, Ramp_controller, Local_controller root/uploads/approved/adt-
and Ground_controller. It clearly describes the QGU20040225.084516/ public/02Whole.pdf,
interaction between the objects and gives the order or [6] J. Whittle, J. Saboo, and R. Kwan, “From
sequence in which the actions take place i.e. in what Scenarios to Code: An Air Traffic Control Case
order messages have been send. The solid lines Study”, 25th International Conference on
represent the call messages while the dotted lines Software Engineering (ICSE'03), pp. 490, 2003
[7] Safety Regulation Group, “Air Traffic Services
represent the messages returned between the objects.
Information Notice”, ATS Standards
The tags are added to clearly specify about the
Department, Civil Aviation Authority, no. 50,
operation. This model consists of all the clear
Aug. 2004.
semantics like use of tags, explicit parameter values, [8] M. L. Wald, “Maintenance Lapse Blamed for
explicit return values, combined Air Traffic Control Problem” The New York
fragments(alternatives and parallel), guards needed Times, Sep 2004. Available:
for decision points and all the class definitions exist http://www.nytimes.com/2004/09/16/politics/16
in the called class. Thus this formal sequence airports.html
diagram with well defined and solid semantics makes [9] M. Axholt, and S. Peterson, “Modelling Traffic
it able to be compiled and computationally scenarios for Realistic Air Traffic Control
executable. Environment Testing”, Linkoping University
Press, Department of Science & Technology,
5 CONCLUDING REMARKS Linkoping University Sweden, Nov. 2004.
[10] R. D. Lemos, C. Gacek, and A. Romanovsky,
From the above work it is concluded that the “Architecting Dependable Systems II”,
described software architecture design process fully Springer-Verlag Berlin Heidelberg, 2004.
covers the departure activity of an aircraft. UML [11] ATCA Air traffic Control Association, “Air
modeling has been used for making the various Traffic Control Computer Modernization is En
models (class, use-case, activity & sequence) using Route”, Feb 2005. Available:
informal and formal semantics. These designed http://www.atca.org/news.asp
models are essential part of architecture of ATC [12] Object management Group, "Unified Modeling
software system and that can help to achieve Language: Superstructure", Version 2.0,
Formal/05-07-04, Aug 2005, Available:
executable code and other functional and non-
http://www.omg.org/docs/formal/05-07-04.pdf
functional requirements of software system.
[13] L. Dai, and K. Cooper, “Modeling and Analysis
of Non-functional Requirements as Aspects in a
6 REFERENCES UML Based Architecture Design”, Proceedings
[1] B. Selic, and J. Rumbaugh, “Using UML for of the Sixth International Conference on
Modeling Complex Real-Time Systems”, March Software Engineering, Artificial Intelligence,
1998. Available: http://www.ibm.com/ Networking and Parallel/Distributed Computing
developerworks/rational/library/content/03July/ and First ACIS International Workshop on Self-
1000/1155/1155_umlmodeling.pdf Assembling Wireless Networks
[2] I. Anagnostakis, H. R. Idris, J. P. Clarke, E. (SNPD/SAWN’05) , IEEE 2005.
Feron, R. J. Hansman, A. R. Odoni, and W. D. [14] European Organisation For The Safety Of Air
Hall, "A Conceptual Design of A Departure Navigation (Eurocontrol), “WP 5.2 – Add NFR
Planner Decision Aid", 3rd USA/Europe Air To Use Cases And Interaction diagrams NFR
Traffic Management R & D Seminar, June 13- Mapping Report”, June 2006.
16, 2000. Available: http://dspace.mit.edu/ [15] P. A. Bonnefoy, "Airport Operations ", MIT, Air
bitstream/1721.1/37321/1/paper68.pdf, Traffic Control, MIT International Center for
[3] H. Idris, J. P. Clarke, R. Bhuva, and L. Kang, Air Transportation, Sep 2006
“Queuing Model for Taxi-Out Time Estimation”, [16] R.J. Hansman, “Air Traffic Control Overview”,
Sep 2001. Available: http://dspace.mit.edu/ MIT Department of Aeronautics and
bitstream/1721.1/37322/1/TaxiOutModel.pdf Astronautics, MIT ICAT, Available:
[4] W. C. Meilander, M. Jin, and J. W. Baker, http://ocw.mit.edu/NR/rdonlyres/Aeronautics-
“Tractable Real-time Air Traffic Control and-Astronautics/16-72Fall-2006/11CD67DE-
Automation”, International Conference on 29C1-4AB9-A7DD-004BB1897CB9/0/ lec1.pdf
Parallel and Distributed Computing Systems, pp. [17] R. Campos," Model Based Programming:
477-483, November 4-6, 2002. Executable UML With Sequence Diagrams ", A
Thesis Presented to The Faculty of the Computer

UbiCC Journal - Volume 3 Page 9


Science Department, California State University, [20] L. Brim, “ Fundamentals of Air Traffic Control”,
Los Angeles, June 2007 ParaDise Seminar, Feb 2008, Available:
[18] S. Verma, T. Kozon, V. Cheng, and D. Ballinger, http://www.fi.muni.cz/paradise/Seminar/2008-
“Changes In Roles/Responsibilities of Air spring/0225-prezentace.pdf
Traffic Control Under Precision Taxiing”, 26th [21] V.Saxena, and G.A.Ansari, ”UML Models of
IEEE/AIAA Digital Avionics Systems Aircraft System”, ICFAI Journal of Systems
Conference, Oct 2007 management, Vol. 6, No.2, PP. 68-74, May 2008
[19] Wikipedia, “Air traffic control”, October 2007.
Available:
http://en.wikipedia.org/wiki/Air_traffic_control

UbiCC Journal - Volume 3 Page 10


LRN/R-MAUDE BASED APPROACH
FOR MODELING AND SIMULATION
OF MOBILE CODE SYSTEMS

Laïd Kahloul1 and Allaoua Chaoui2


1
Computer Science Department, Biskra University, Algeria
kahloul2006@yahoo.fr
2
Computer Science Department, Constantine University, Algeria
a_chaoui2001@yahoo.com

ABSTRACT
Code mobility technologies attract more and more developers and consumers. Numerous
domains are concerned, many platforms are developed and interest applications are realized.
However, developing good software products requires modeling, analyzing and proving steps.
The choice of models and modeling languages is so critical on these steps. Formal tools are
powerful in analyzing and proving steps. However, poorness of classical modeling language to
model mobility requires proposition of new models. The objective of this paper is to provide a
formal approach based on LRN and R-Maude. LRN (Labeled Reconfigurable Nets) is a
specific formalism that we propose to model different kinds of code mobility. R-Maude
(Reconfigurable Maude) is a system that we devlop to encode and simulate LRN-models.

Keywords: code mobility, modeling mobility, LRN, R-Maude.


found in process algebra based model and state
transition model. For the first one, π-calculus [13]
1 INTRODUCTION is the famous one, and for the second, high-level
Petri net (with many kinds) can be considered the
Code mobility is one of the attracting fields for good representative. π-calculus is an extension for
computer science researchers. Code mobility CCS (communicating concurrent systems) [12].
technology seems an interest solution for CCS allows modeling a system composed of a set
distributed applications facing bandwidth problems, of communicating process. This communication
users' mobility, and fault tolerance requirement. uses names (gates) to insure synchronization
Numerous platforms were been developed [17]. between processes. In π-calculus information can
Such platforms allow the broadcasting of this been exchanged through gates. The key idea is that
technology in many domains (information this information can be also a gate. With this idea,
retrieving [9], e-commerce [11], network process can exchange gates. Once these gates
management [22], …). Software engineering received, they can be used by the receiver to
researches have provided some interest design communicate. In an extension of π-calculus, HOπ-
paradigms influencing the development of the field. calculus [15], processes can exchange other
The most recognized paradigms [7] are: code on processes through gates (the exchanged processes
demand, remote evaluation, and mobile agent. To called agents).
avoid ad-hoc development for code mobility To model mobility with Petri nets, high level
software, many works attempt to propose PNets were proposed. The most famous are Mobile
methodologies and approaches ([16], [21], [14], Nets (variant of coloured Petri nets) [1] and
…). Indeed, these approaches are mostly informal. Dynamic Petri nets. In mobile Petri nets, names of
They lack in analyzing and proving system places can appear as tokens inside other places.
proprieties. Enhancing development process with Dynamic Petri nets extend mobile Petri nets. In this
formal tools was an attractive field in code mobility last one, firing a transition can cause the creation of
researches. a new subnet. With high-level Petri nets, mobility
Traditional formal tools witch were massively in a system is modeled through the dynamic
used to model and analyze classical systems seem structure of the net. A process appearing in a new
to be poor to deal with inherent proprieties in code environment is modeled through a new subnet
mobility systems. Works on formal tools attempt to created in the former net by firing a transition.
extended classical tools to deal with code mobility Many extensions have been proposed to adapt
proprieties. The most important proposition can be mobile Petri net to specific mobile systems:
Elementary Object Nets [18], reconfigurable nets
[3], Nested Petri Nets [10], HyperPetriNets [2], …
With respect to [20], all these formalisms lack in

UbiCC Journal - Volume 3 Page 11


security aspect specification. To handle this aspect Formal Definition:
in code mobility, recently Mobile Synchronous Let N1, N2, … Nk be a set of nets.
Petri Net (based on labeled coloured Petri net) are for each i: 1, …, n : Ni = (Pi, Ti, Ai), such that :
proposed [19]. 1. Pi = {pi1, pi2, …, pin} a finite set of places,
The objective of this work is to treat to aspects 2. Ti = STi∪RTi
of code mobility: modeling and simulation. We try • STi={sti1, sti2, …, stim} a finite set of
to propose a formal approach in witch we define standard (ordinary) transitions,
two formalisms : Labeled Reconfigurable Nets • RTi = {rti1, rti2, …, rtir} a finite set
(LRN) and Reconfigurable Maude (R-Maude). (eventually empty) of “reconfigure
Firstly, LRN will be used to model the system then transitions”,
R-Maude will encode and simulate this model. Our 3. Ai ⊆ Pi x Ti ∪ Ti x Pi.
formalism “labeled reconfigurable nets” with a
different semantic from the one presented in [3] is Definition 1 (Unit): a unit UN is a net Ni that has a
dedicated to model code mobility systems. We specific transition stij denoted starti. So
attempt to propose to model mobility in an intuitive Ti={starti}∪STi∪RTi.
and an explicit way. Mobility of code (a process or Définition 2 (Environment): an environment E is
an agent) will be directly modeled through a quadruplet E=(GP, RP, U, A)
reconfiguration of the net. We allow adding and • GP = {gp1, gp2, …, gps} a finite set of
deleting of places, arcs, and transitions at run time. specific places : “guest places ”;
R-Maude is an extension for Maude that we
• RP = {rp1, rp2, …, rps} a finite set of specific
propose and prototype in order to encode and
places : “resource places”;
simulate LRN models.
• U = { N1, N2, … Nk} a set of nets.
The rest of this paper is organized as follows.
Section 2 starts by presenting the definition of the • A⊆ GP x StrT∪RPxT. Such that :
formalism LRN. In section 3 we show how LRN StrT={start1, start2, …, startk} and T=ST1∪RT1
can be used to model the three mobile code ∪ ST2∪RT2∪ … ∪ STk∪RTk
paradigms: “remote evaluation”, “code on Definition 3 (Labeled reconfigurable net):
demand”, and “mobile agent”. Section 4 presents
A labeled reconfigurable net LRN is a set of
the idea and foundation of R-Maude, and section 5
discusses the prototype and shows an example. In environments. LRN={E1, E2, …, Ep} such that
section 6, we present some related works. We • There exist at least one net Ni in LRN such
conclude this work and give some perspectives, in that RTi ≠ ∅;
section 7. • For each rtij ∈ RTi, rtij has a label
<N,Ee,Eg,ψ,β>, such that N is a unit, Ee
2 LABELED RECONFIGURABLE NETS and Eg are environments, ψ a set of places,
β a set of arcs.
Labeled reconfigurable nets are an extension of
Petri nets. Informally, a labeled reconfigurable net Dynamic of labeled reconfigurable nets:
is a set of environments (blocs of units). Let LRN = {E1, E2, …, Ep} be a labeled
Connections between these environments and their reconfigurable net,
contents can be modified during runtime. A unit is a Let Ei = (GPi, RPi, Ui, Ai) be an environment in
specific Petri net. A unit can contain three kinds of LRN,
transitions (a unique start transition: , a set of • GPi = {gp1i, gp2i, …, gpsi};
ordinary transitions: , and a set of reconfigure • RPi = {rp1i, rp2i, …, rppi} ;
transitions: ).
• Ui = { N1i, N2i, … Nki};
Preconditions and post-conditions to fire a start
or an ordinary transition are the same that in Petri • Ai ⊆ GPi x startsi ∪ RPi x Ti ∪ Ti x RPi,
nets. Reconfigure transitions are labeled with labels where:
that influence their firing. When a reconfigure Sartsi = {start1, start2, ..., startk} and
transition is fired, a net N will be (re)moved from T ={STi1, STi2, ..., STik}∪{RTi1, RTi2, ..., RTik}
i

an environment E towards another environment E’. Let RTji be the non empty set of reconfigure
The net N, the environment E and E’ are defined in transitions associated with the net Nji.
the label associated to the transition. After firing a RTji={rtj1, rtj2, …, rtjr}.
reconfigure transition, the structure of the labeled
reconfigurable net will be updated (i.e some places, Let rtjm < N, Ee, Eg, ψ, β> be a reconfigure transition in
arcs, and transitions will be deleted or added). Here RTji, such that :
after we give our formal definitions of the concepts: • Ee=(GPe, RPe, Ue, Ae);
unit, environment and labeled reconfigurable net. • N=(P, T, A) and N∈Ue;
After the definition, we present the dynamic aspect • Eg=(GPg, RPg, Ug, Ag);
of this model.

UbiCC Journal - Volume 3 Page 12


• ψ ⊆ RPe; ψ=ψr ∪ψc. (ψr denotes removed 3.1. Remote Evaluation
places and ψc denotes cloned places).
• β is a set of arcs. β ⊆RPe x T∪RPg x T. In remote evaluation paradigm, an execution
unit EU1 sends another execution unit EU2 from a
Let strt be the start transition of N. computational environment CE1 to another one
Conditions to fire rtjm<N, Ee, Eg, ψ, β>: CE2. The reconfigure transition rt is contained in
In addition to the known conditions, we impose that the unit modeling EU1, and EU2 will be the first
there exists a free place pg in GPg; witch means: for argument in rt’s label.
each t∈ startsg, (pg,t)∉Ag. Example 4.1: Let us consider two computational
j
After firing rt m: environments E1 and E2. Firstly, E1 contains two
In addition to the known post-condition of a execution units EU1 and EU2; E2 contains an
transition firing, we add the following post- execution unit EU3. The three execution units
condition: execute infinite loops. EU1 executes actions {a11,
LRN will be structurally changed such that: a12}, EU2 executes actions {a21, a22, a23}, and EU3
If Ee and Eg denote the same environment then executes actions {a31, a32}. a21 requires a
LRN will be not changed; transferable resource TR1 and a non-transferable
Else: resource bound by type PNR1 witch is shared with
a11. a22 and a12 share a transferable resource bound
1) Ug Å Ug∪{N}; Ue Å Ue/{N};
by value VTR1, and a23 requires a non-transferable
2) Ag Å Ag∪(pg, strt);
resource NR1. In E2, EU1 requires a non-
3) Let DA ={(a, b)∈ Ae/ (a∉ψ and b∉ψ) and transferable resource bound by type PNR2 to
((a∈N and b∉N) or (a∉N and b∈N))}, Ae=Ae- execute a31. PNR2 has the same type of PNR1.
DA. DA –deleted arcs- to be deleted after The system will be modeled as a labeled
moving N. reconfigurable net LRN. LRN contains two
4) RPg Å RPg∪ψ; RPeÅRPe/ψr environments E1, E2 that model the two
5) if ALRN is the set of arcs in LRN, computational environments (CE1 and CE2). Units
ALRNÅALRN∪β . EU1 and EU2 will model execution units EU1 and
EU2, respectively. In this case, the unit EU1 will
3 MODELING MOBILITY PARADIGMS contain a reconfigure transition rt<EU2,E1,E2,ψ,β>; such
WITH LABELED RECONFIGURABLE that:
NETS 1. E1 =(RP1, GP1, U1, A1); RP1= {TR1, PNR1,
A mobile code system is composed of VTR1, NR1}. U1 = {EU1, EU2};
execution units (EUs), resources, and 2. E2 = (RP2, GP2, U2, A2); RP2={ PNR2}. GP2
computational environments (CEs). EUs will be ={PEU1}.
modeled as units and computational environments
as environments. Modeling resources requires using 3. ψr={TR1}, ψc={VTR1};
a set of places. 4. β={(PEU1,str2), (PNR2,a21), (NR1, a23)}.
Reconfigure transitions model mobility actions.
The key in modeling mobility is to identify the Fig. 1 shows the configuration before firing rt,
label associated with the reconfigure transition. We and Fig. 2 shows the configuration after the firing.
must identify the unit to be moved, the target
computational environment and the types of
binding to resources and their locations. This label
depends on the kind of mobility.
In general, a reconfigure transition rt is always
labeled <EU, CE, CE’, ψ, β>, such that:
• EU: the execution unit to be moved.
• CE, CE’: respectively, resource and target
computational environments.
• ψ: will be used to model transferable
resources. So ψ is empty if the system has no
transferable resource.
• β: models bindings after moving.
The execution unit that contains rt and the EU
that represents the first argument in the label will be
defined according to the three design paradigms:
remote evaluation (REV), code on demand (COD),
and mobile agent (MA).

UbiCC Journal - Volume 3 Page 13


PEU1
E1 E2
PEU1 PEU1
PEU2 PEU1 E1 E2
str1 PEU2
PEU2 PEU2 str1
P11 str2 str2
str3 PNR1 str3
rt<EU2, E1, E2, ψ, β> PNR2 P21
P11 TR1
TR1 P21 P21
P12 P31
a21 rt<EU2, E2, E1, ψ, β> a21
PNR1 a31
PNR2 P22
a11 a31 P12
VTR1 VTR1 P22
P22
P13 P32
a12 a22
a22 a32
NR1 a32
a12 P23
P23
NR1 P23
a23
a23
a33

Figure 1: REV-model before firing rt


Figure 3: COD-model before firing rt
PEU1 E1 E2
PEU1 PEU1 E1 PEU1 PEU2 E2
PEU2 PEU2
PEU2
str1 str1
str2 PNR1 str3
P11 str3 P11 str2
P21 PNR2
P31
rt<EU2, E1, E2, ψ, β> rt<EU2, E2, E1, ψ, β>
P31 a11 TR1
a21 a31
P12 PNR2
TR1 P12
P22 a21 VTR1
PNR1 a31 P32
P23
a11 VTR1 P32 VTR1
a22 VTR1 a12
a32
P13
P23 a32 a22
NR1 NR1 P33
a12
P24
a23
a33
a23
Figure 2: REV-model after firing rt

3.2. Code On Demand


In code-on-demand paradigm, an execution unit Figure 4: COD-model after firing rt
EU1 fetches another execution unit EU2. The
reconfigure transition rt is contained in the unit The transition rt<EU2, E2, E1, ψ, β> means that EU1
modeling EU1, and EU2 will be the first argument in will demand EU2 to be moved from E2 to E1. In this
rt’s label. If we reconsider the above example, the case, ψ={TR1, VTR1}, β={(PEU2, str2), (PNR2,
unit EU1 will contain a reconfigure transition rt<EU2, a21), (NR1, a23)}. Fig.3 shows the configuration
E2, E1, ψ, β>. Fig. 3 and Fig. 4 shows the model before firing rt, and Fig.4 shows the configuration
proposed for this system. after the firing.

3.3. Mobile Agent


In mobile agent paradigm, execution units are
autonomous agents. The agent itself triggers
mobility. In this case, rt –the reconfigure
transition- is contained in the unit modeling the
agent and EU (the first argument) is also this agent.

UbiCC Journal - Volume 3 Page 14


Example 4.2: let E1 and E2 two computational Fig. 6 shows the configuration after the firing.
environments. E1 contains two agents, a mobile
agent MA and a static agent SA1; E2 contains a PA2 E2
unique static agent SA2. The three agents execute
str1 PA1
infinite loops. MA executes actions {a11, a12, a13 },
SA1 executes actions {a21, a22, a23}, and SA2 str3
P11
PA1 E1
executes actions {a33, a32}. To be executed, a11 PA2
P31
require a transferable resource TR1 and a non- rt<A, E1, E2, ψ, β >
transferable resource bound by type PNR1 witch is str2
shared with a21. a12 and a22 share a transferable P12 a31
P21 PNR2
PNR1 TR1
resource bound by value, and a13 and a23 share a
P32
non-transferable resource NR1. In E2, SA2 requires a a11
a21
non-transferable resource bound by type PNR2 to
execute a32. PNR2 has the same type of PNR1. P22 VTR1 P13 a32
The system will be modeled as a labeled VTR1
reconfigurable net LRN. LRN contains two a22
a12
environments E1 and E2 that model the two
P23
computational environments. In this case the unit A NR1
P4
that models the mobile agent A will contain a
a23
reconfigure transition rt < A, E1, E2, ψ, β >; such
that: a13
1. E1 =(RP1, GP1, U1, A1); RP1 contains at least
four places that model the four resources.
Let TR1, NR1, PNR1 and VTR1 be these Figure 6: MA-model after firing rt.
places. GP1 contains at least a free place PA1
modeling that A can be received, and 4 RECONFIGURABLE MAUDE
U1={A}.
2. E2=(RP2,GP2, U2, A2); RP2={PNR2}, Maude [23] is a high-level language and high-
GP2={PA2}. performance system supporting executable
3. ψr={TR1}, ψc={VTR1}; specifications and declarative programming in
4. β={(PA2, str1), (PNR2, a11), (NR1, a13)}. rewriting logic [24]. Maude also supports
equational specification, since rewriting logic
Fig. 5 shows the configuration before firing rt. contains equational logic. The underlying
equational logic chosen for Maude is membership
equational logic, that has sorts, subsorts, operator
PA1 E1 E2 overloading, and partiality definable by
PA2
PA1 membership and equality conditions. Modules of
str1 Maude are theories in rewriting logic. The most
general Maude module are called system modules.
P11
str2 A rewrite theory is a triple T=(Ω, E, R), where Ω is
PA2 P31
a signature, E a set of equations and R a set of
rt<A, E1, E2, ψ, β > rewriting rules. The equations E in the equational
PNR1 str3 PNR2 a31 theory (Ω, E) are presented as a union E=A∪E’,
P12 TR1 with A a set of equational axioms introduced as
P21 P32 attributes of operators in the signature Ω. E’ is a set
a11 of Church-Rosser equations assumed to be
terminating modulo the axioms A. Considering the
a21 a32
P13 Maude syntax, a system module has the form mod
VTR1 P22 T endmod. Maude contains a sublanguage of
functional modules and object modules. A
a12 functional module have the form fmod =(Ω, E)
a22
endfm and an object module have the same form
as system module. Maude can be used as a tool for
NR1
the specification and verification of distributed
a13 systems. The dynamic of the distributed system is
a23
specified by rewrite rules. Rewrite rules model
transitions from one state to another state, during
the execution of the distributed system.
Maude has been extended to deal with some
Figure 5: MA-model before firing rt aspects not considered in former version. Real time

UbiCC Journal - Volume 3 Page 15


Maude [25] is a system to specify and analyze real the LAN. The specification (or their parts) are
time and hybrid systems. Mobile Maude [5] is an transferred in messages between machines, using
extension of Maude for mobile systems UDP protocol.
specification. Mobile Maude is an object oriented The interpreter realized for R-Maude can be
high level language with asynchronous message used to interpret Maude specifications. The major
passing. The key feature of mobile Maude is that it different is that in this newest interpreter, we have
deals with various security aspects. Cryptographic added the interpretation of R-Rules. The label of an
authentication protects machine from malicious R-Rule precedes the rule, and it has the form [MT|
mobile code, redundant checks insure reliability L| IP@| S]. Semantics of these parameters is : MT:
and integrity of computations, and public-key mobility type (MA, COD, REV, …), L: a multi-set
infrastructure service protects communications. of operations and rules to be moved, cloned or
In this section we propose an encoding of removed from or to the local host, IP@: IP address
Labeled Reconfigurable Nets in a Maude-based of distant host, S: sources to move or to remove
language. We call the inspired language from or to the local host. When specifications (or
“Reconfigurable Maude” (R-Maude). We want to part of them) are moved, some resources (R)
profit from the powerful of Maude (as a meta- necessary to firing some rules become far (on an
language). We extend Maude to support the other host). IP address of the far host appears with
translation of LRN and their simulation. R-Maude the concerned resource in the form: R[IP@].
enrich Maude with new kind of rewriting rules. To encode LRN we adopt the same rules
Theses rules are called Reconfigurable rules (R- proposed to translate Petri Nets into Maude in [23].
Rules). The semantic of these rules is similar to that The newest is that R-transition will be translated in
of Reconfigurable transition in LRN. When a R- R-Rules. Here after, we present the encoding of
rule is executed, the R-Maude specification will be Fig.5’s example in R-Maude prototype. We
updated in different ways, this will depend on label consider that the two environments E1, E2 are
associated with this rule. specified as two specifications on two hosts (Host1
A specification in R-Maude is a set of and Host2). Host1 has the IP address : 192.168.0.1,
Reconfigurable rewrite theories (R-theories). An R- and Host2 has the IP address : 192.168.0.2.
Theory RT is a triple (Ω, E, R) as like a rewrite On Host1, we have the specification:
theory. The different resides in the set R. R will mod E1
contain two kinds of rules: standard Rules S-Rules sort Place Marking .
(well known rules of Maude) and Reconfigurable subsort Place << Marking .
rules R-Rules. A R-Rule rλ is composed of a label op _,_ : Marking Marking ->
λ=<d, RT1, RT2, S> and a rule tÆt’. In the label Marking .
λ, RT1 and RT2 are two R-Theorie, S is a segment ops PA1,P11,P12,P13,P14,PA2,P21,
P22,P23,TR1,VTR1,PNR1,NR1:->Place
of a theory, and d a specific parameter. The rl [str1] : PA1=>P11 .
segment S can be a set of sorts, rules, variables, rl [rt][MA|192.186.0.2|{{P11-
operators that can be an R-theory or not. When rλ P14},{str1-
is fired, the specification can be updated in several a13}}|{TR1,VTR1}] :
ways. Updating specification means that their R- P11=>P12 .
theories will be changed. This change depends on rl [a11] : P12, TR1, PNR1=>P13 .
rl [a12] : P13, VTR1=>P14 .
λ. In general, when rλ is fired, the segment S will rl [a13] : P14, NR1=>PA1 .
move from RT1 to RT2 or the inverse. The d rl [str2]: PA2=>P21 .
parameter can be used to express direction of this rl [a21] : P21, PNR1=>P22 .
move. rl [a22] : P22, VTR1=>P23 .
rl [a23] : P23, NR1=>PA2 .
5 PROTOTYPING R-MAUDE endmod
and on Host2, we have the specification :
We have prototyped R-Maude. The prototype
mod E2
is a system composed from a text editor and an sort Place Marking .
interpreter. The editor is used to enter the subsort Place << Marking .
specification and commands. The interpreter op _,_ : Marking Marking ->
executes commands, and through this updates Marking .
specifications. The system was experimented on a ops PA1,PA2,P31,P32,PNR2 : -> Place.
LAN (Local Area Network), composed of a few rl [str3] : PA2=>P31 .
machines. The system is installed on all hosts. So rl [a31] : P31=>P32 .
rl [a32] : P32, PNR2=>PA2 .
the specifications are edited ever where. On every endmod
hosts, commands can be executed. The execution of
commands will create the system dynamic. This As an example of a command, we have “rw
dynamic can be shown as migration of PA1” on Host1. The execution of this command
specification’s part (or ever else at whole) through

UbiCC Journal - Volume 3 Page 16


will produce respectively on Host1, and Host2 the towards another locality. The destination locality is
two specifications: given through a token in an input place of the go
mod E1 transition. Mobile Petri nets (MPN) [1] extended
sort Place Marking . colored Petri nets to model mobility. MPN is based
subsort Place << Marking . on π-calculus and join calculus. Mobility is
op _,_ : Marking Marking -> modeled implicitly, by considering names of places
Marking . as tokens. A transition can consumes some names
ops PA1,PA2,P21,P22,P23, (places) and produce other names. The idea is
VTR1,PNR1,NR1:->Place
rl [str2]: PA2=>P21 . inherited from π-calculus where names (gates) are
rl [a21] : P21, PNR1=>P22 . exchanged between communicating process. MPN
rl [a22] : P22, VTR1=>P23 . are extended to Dynamic Petri Net (DPN) [1]. In
rl [a23] : P23, NR1=>PA2 . DPN, mobility is modeled explicitly, by adding
endmod subnets when transitions are fired. In their
and presentation [1], no explicit graphic representation
has been exposed.
mod E2 In nest nets [8], tokens can be Petri nets them
sort Place Marking . selves. This model allows some transition when
subsort Place << Marking . they are fired to create new nets in the output
op _,_ : Marking Marking ->
Marking . places. Nest nets can be viewed as hierarchic nets
ops PA1,PA2,P31,P32,PNR2 : -> Place. where we have different levels of details. Places
ops VTR1, TR1:-> Place. can contain nets that their places can also contain
ops P11,P12,P13,P14:->Place. other nets et cetera. So all nets created when a
rl [str3] : PA2=>P31 . transition is fired are contained in a place. So the
rl [a31] : P31=>P32 . created nets are not in the same level with the first
rl [a32] : P32, PNR2=>PA2 .
rl [str1] : PA1=>P11 . net. This formalism is proposed to adaptive
rl [rt][MA|192.186.0.2|{{P11- workflow systems.
P14},{str1- In [3], authors studied equivalence between the
a13}}|{TR1,VTR1}] : join calculus [6] (a simple version of π-calculus)
P11=>P12 . and different kinds of high level nets. They used
rl [a11] : P12, TR1, PNR2=>P13 . “reconfigurable net” concept with a different
rl [a12] : P13, VTR1=>P14 .
rl [a13]: semantic from the formalism presented in this
P14,NR1[192.168.0.1]=>PA1. work. In reconfigurable nets, the structure of the net
endmod is not explicitly changed. No places or transitions
are added in runtime. The key difference with
Finally, the state of the marking will be : “P12” on colored Petri nets is that firing transition can change
the Host2. At this point, the two specifications names of output places. Names of places can figure
continue their execution on the two hosts where as weight of output arcs. This formalism is
they reside. proposed to model nets with fixed components but
where connectivity can be changed over time.
6 RELATED WORKS In this work, we have attempted to provide a
formal and graphical model for code mobility. We
In [4], the authors proposed PrN have extended Petri net with reconfigure labeled
(Predicate/Transition nets) to model mobility. They transitions that when they are fired reconfigure the
use concepts: agent space witch is composed of a net. Mobility is modeled explicitly by the
mobility environment and a set of connector nets possibility of adding or deleting at runtime arcs,
that bind mobile agents to mobility environment. transitions and places. Modification in reconfigure
Agents are modeled through tokens. So these agents transition’s label allows modeling different kinds of
are transferred by transition firing from a mobility code mobility. Bindings to resources can be
environment to another. The structure of the net is modeled by adding arcs between environments. It is
not changed and mobility is modeled implicitly clear that in this model created nets are in the same
through the dynamic of the net. In [19], authors level of nets that create them. Creator and created
proposed MSPN (Mobile synchronous Petri net) as nets can communicate. This model is more
formalism to model mobile systems and security adequate for modeling mobile code systems. We
aspects. They introduced notions of nets (an entity) propose also an extension for Maude, that we call
and disjoint locations to explicit mobility. A system R-Maude. R-Maude extends Maude with
is composed of set of localities that can contain Reconfigurable rules (R-rules). When an R-Rule is
nets. To explicit mobility, specific transitions fired, R-Maude specifications are reconfigured on a
(called autonomous) are introduced. Two kinds of LAN (Local Area Net).We use R-Maude to encode
autonomous transition were proposed: new and go. and simulate LRN models.
Firing a go transition move the net form its locality

UbiCC Journal - Volume 3 Page 17


7 CONCLUSION 8 REFERENCES

Proposed initially to model concurrency and [1] Andrea Asperti and Nadia Busi: Mobile Petri Nets.
distributed systems, Petri nets attract searchers in Technical Report UBLCS-96-10, Department of
mobility modeling domain. The ordinary formalism Computer Science University of Bologna, May 1996.
[2] M.A. Bednarczyk, L. Bernardinello, W. Pawlowski,
is so simple with a smart formal background, but it
and L. Pomello: Modelling Mobility with Petri
fails in modeling mobility aspects. Many extensions Hypernets. 17th Int. Conf. on Recent Trends in
were been proposed to treat mobility aspects. The Algebraic Development Techniques, WADT’04.
key idea was to introduce mechanisms that allow LNCS vol. 3423, Springer-Verlag, 2004.
reconfiguration of the model during runtime. The [3] M. Buscemi and V. Sassone: High-Level Petri Nets
most works extends coloured Petri nets and borrow as Type Theories in the Join Calculus. In Proc. of
π-calculus or join calculus ideas to model mobility. Foundations of Software Science and Computation
The exchanging of names between processes in π- Structure (FoSSaCS '01), LNCS 2030, Springer-
Verlag.
calculus is interpreted as exchanging of place’s
[4] Dianxiang Xu and Yi Deng: Modeling Mobile Agent
names when some transitions are fired. This can Systems with High Level Petri Nets. 0-7803-6583-
model dynamic communication channels. In much 6/00/ © 2000 IEEE.
formalism, mobility of process is modeled by a net [5] Francisco Dur‫ل‬n, Steven Eker, Patrick Lincoln and
playing as token that moves when a transition is José Meseguer: principles of mobile maude. In
fired. All these mechanisms allow modeling D.Kotz and F.Mattern, editors, Agent systems,
mobility in an implicit way. We consider that the mobile agents and applications, second international
most adequate formalisms must model mobility symposium on agent systems and applications and
explicitly. If a process is modeled as a subnet, fourth international symposium on mobile agents,
mobility of this process must be modeled as a ASA/MA 2000 LNCS 1882, Springer Verlag. Sept
2000.
reconfiguration in the net that represents the
[6] Cédric Fournet Georges Gonthier: The Join Calculus:
environment of this process. a Language for Distributed Mobile Programming. In
In this paper, we have presented a new Applied Semantics. International Summer School,
formalism “labeled reconfigurable nets”. This APPSEM 2000, Caminha, Portugal, September 2000,
formalism allows explicit modeling of LNCS 2395, pages 268--332, Springer-Verlag.
computational environments and processes mobility August 2002.
between them. We have presented how this [7] Alfonso Fuggetta, Gian Pietro Picco and Giovanni
formalism allows, in a simple and an intuitive Vigna: Understanding Code Mobility. IEEE
approach, modeling mobile code paradigms. We transactions on software engineering, vol. 24, no. 5,
may 1998.
have focused on bindings to resources and how they
[8] Kees M. van Hee, Irina A. Lomazova, Olivia Oanea,
will be updated after mobility. We have presented Alexander Serebrenik, Natalia Sidorova, Marc
an extension for Maude : reconfigurable Maude (R- Voorhoeve: Nested Nets for Adaptive Systems.
Maude). R-Maude is a distributed system. This IEEE. ICATPN 2006: 241-260.
system can be used to specification and simulation [9] P. Knudsen: Comparing Two Distributed Computing
of mobile code system. A prototype for this system Paradigms, A Performance Case Study; MS thesis,
has been realized. We use this prototype to encode Univ. of Tromso 1995.
and simulate LRN models. In our future works we [10] I.A. Lomazova: Nested Petri Nets. Multi-level
plan to focus on modeling and analyzing aspects. In and Recursive Systems. Fundamenta Informaticae
vol.47, pp.283-293. IOS Press, 2002.
modeling aspects, we are interested to handle
[11] M. Merz and W. Lamersdorf: Agents, Services,
problems such that modeling multi-hops mobility, and Electronic Markets: How Do They Integrate?.
process’s states during travel, birth places and Proc. Int’l Conf. Distributed Platforms, IFIP/IEEE,
locations. On the analysis aspect, we are working 1996.
on a denotational semantics for LRN. For R- [12] R. Milner: A Calculus of Communicating
Maude, the current R-Maude can be used only to Systems. Number 92 in Lecture Notes in Computer
simulate Models. Future works will handle Science. Springer Verlag, 1980.
specification analyzing. As a future extension, we [13] R. Milner, J. Parrow, and D. Walker: A
think to adapt Maude model-checker to calculus of mobile processes. Information and
Computation, 100:1–77, 1992.
reconfigurable Maude. In [26], we have proposed
[14] Reinhartz-Berger, I., Dori, D. and Katz, S.:
extensions for LRN “Temporal LRN”, and in [27], Modelling code mobility and migration: an
we proposed Coloured LRN. In this sense, we focus OPM/Web approach. Int. J. Web Engineering and
on using R-Maude to simulate models of these Technology, Vol. 2 (2005), No. 1, pp.6–28.
extensions. [15] D. Sangiorgi and D. Walker: The π-Calculus: A
Theory of Mobile Processes. Cambridge University
Press, 2001.
[16] Athie L. Self and Scott A. DeLoach.: Designing
and Specifying Mobility within the Multiagent
Systems Engineering methodology. Special Track on

UbiCC Journal - Volume 3 Page 18


Agents, Interactions, Mobility, and Systems (AIMS)
at the 18th ACM Symposium on Applied Computing
(SAC 2003). Melbourne, Florida, USA, 2003.
[17] Tommy Thorn: Programming languages for
mobile code. Rapport de recherche INRIA, N ° 3134,
Mars, 1997.
[18] R. Valk: Petri Nets as Token Objects: An
Introduction to Elementary Object Nets. Applications
and Theory of Petri Nets 1998, LNCS vol.1420, pp.1-
25, Springer-Verlag, 1998.
[19] F. Rosa Velardo, O. Marroqn Alonso and D.
Frutos Escrig: Mobile Synchronizing Petri Nets: a
choreographic approach for coordination in
Ubiquitous Systems. In 1st Int. Workshop on Methods
and Tools for Coordinating Concurrent, Distributed
and Mobile Systems, MTCoord’05. ENTCS, No 150.
[20] Fernando Rosa-Velardo: Coding Mobile
Synchronizing Petri Nets into Rewriting Logic. this
paper is electronically published in Electronic Notes
in Theoretical Computer science URL:
www.elsevier.nl/locate/entcs.
[21] Sutandiyo, W., Chhetri, M, B., Loke, S,W., and
Krishnaswamy, S: mGaia: Extending the Gaia
Methodology to Model Mobile Agent Systems.
Accepted for publication as a poster in the Sixth
International Conference on Enterprise Information
Systems (ICEIS 2004), Porto, Portugal, April 14-17.
[22] D.J. Wetherall, J. Guttag, and D.L.
Tennenhouse: ANTS: A Toolkit for Building and
Dynamically Deploying Network Protocols.
Technical Report, MIT, 1997, in Proc.
OPENARCH’98.
[23] M. Clavel, F.Durán, S.Eker, P.Lincoln,
N.Marti-Oliet, J.Meseguer, and J. Quesada: Maude:
specification and programming in rewriting logic.
SRI International, Januray 1999,
http://maude,.csl.sri.com.
[24] J. Meseguer: Conditional rewriting logic as a
unified model of concurrency. Theoretical Computer
Science, 96 (1):73-155, 1992.
[25] P.C.Ölveczky, J. Meseguer: Real-Time Maude
: A tool for simulating and analyzing real-time and
hybrid systems. In K. Futatsugi, editor, Third
International Workshop on Rewriting Logic and its
Applications, volume 36 of Electronic Notes in
Theoretical Computer Science. Elsevier, 2000.
http://www.elsevier.nl/locate.entcs/volume36.html.
[26] Laïd Kahloul, Allaoua Chaoui: Temporal
Labeled Reconfigurable Nets for Code Mobility
Modeling. The International Workshop on
Trustworthy Ubiquitous Computing (TwUC 2007)
associated to the iiWAS2007 conference.
[27] Laïd Kahloul, Allaoua Chaoui: Coloured
reconfigurable nets for code mobility modeling. In
the Proceedings of World Academy of Science,
Engineering and Technology, Volume 25, November
2007 with ISSN: 1307-6886. WASET-XXV
International Conference Venice, Italy.

UbiCC Journal - Volume 3 Page 19

Vous aimerez peut-être aussi