Académique Documents
Professionnel Documents
Culture Documents
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.
2 RELATED WORK
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
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
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.
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.
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