Title: UML based Modeling and Performance Evaluation of Mobile Systems
1UML based Modeling and Performance Evaluationof
Mobile Systems
- Vincenzo Grassi1,Raffaela Mirandola2,Antonino
Sabetta1 - (1) Università di Roma Tor Vergata, Italy
vgrassisabetta_at_info.uniroma2.it - (2) Politecnico di Milano, Italy
- mirandola_at_elet.polimi.it
VIII Workshop PISATEL 6 dicembre 2005, Pisa
2Outline
- Introduction motivation, previous work, approach
- Modeling mobility
- Physical mobility locations and moving locations
- Logical mobility mobile software components
- Dynamics of mobility ltltMobilityManagergtgt
- Modeling performance
- Annotated UML models SPT Mobility profile
- Representing mobile code paradigms in UML
- Code On Demand (COD)
- Remote Evaluation (REV)
- Mobile Agent (MA)
- Performance Analysis based on UML models an
example - Conclusion
3Modeling mobility related work
- previous work
- UML-based modeling
- Class and Activity Diagram extension
Baumeister, Koch, Kosiuczenko, Wirsing 2002
Sequence Diagram extension Kosiuczenko 2003
Activity Diagrams based Balsamo, Marzolla
2003 - formal languages
- p-calculus Milner 1999 ambient calculus
Cardelli, Gordon 1998 Klaim De Nicola,
Ferrari, Pugliese, Venneri 1998 mobile Unity
Picco, Roman, McCann 2001
4Motivation and approach
- Why modeling mobility and performance in UML?
- Wide user- and tool-base
- Extensibility
- Model Driven approach
- On the other hand.
- The UML standard specification does not natively
support modeling mobility - Guidelines for our approach
- "separation of concerns
- models of mobility (both physical and logical)
separated from models of the application logic
and of the system structure - ease plug-and-play of different mobility
policies at the application modeling level, to
support what if experiments - usability
- lightweight UML extension
- compliant with the UML 2.0 specification
- only requires UML 2.0 compliant tools
5Outline
- Introduction motivation, previous work, approach
- Modeling mobility
- Physical mobility locations and moving locations
- Logical mobility mobile software components
- Dynamics of mobility ltltMobilityManagergtgt
- Modeling performance
- Annotated UML models SPT Mobility profile
- Representing mobile code paradigms in UML
- Code On Demand (COD)
- Remote Evaluation (REV)
- Mobile Agent (MA)
- Performance Analysis based on UML models an
example - Conclusion
6Representing locations
- locations
- basic model a nesting relationship between an
entity and some container - B is located at A
A
B
- location change
- a modification of a nesting ("located at")
relationship - C is located at A ? C is located at B
B
A
C
- What are locations?
- Physical places (rooms, buldings, vehicles,
persons,.) - Execution environments (PCs, PDAs,..)
- What do they contain?
- Physical places contain other physical places or
execution env. - Execution environments contain software entities
(agents, mobile components, code fragments...)
7Representing Locations with theUML Profile for
Mobility
ltltPlacegtgt Room_C Room
ltltPlacegtgt Room_A Room
ltltPlacegtgt Room_B Room
ltltNodeLocationgtgt
ltltNodeLocationgtgt
ltltMobilegtgt ltltPlacegtgt Mary Person
ltltNodeLocationgtgt
ltltMobilegtgt ltltExecEnvgtgt MyPda PDA
ltltNodeLocationgtgt
Room_B
Room_A
Room_C
Mary
MyPda
8Adding Dynamics to the Model
ltltplacegtgt Home
ltltplacegtgt Office
- MobilityManagers encapsulate all the mobility
logic, keeping it strictly separate from the
application logic - different mobility managers can be modularly
plugged into the same system model, to describe
different mobility scenarios and strategies - mainly a modeling abstraction, not necessarily a
real entity
ltltNodeLocationgtgt
ltltmobilegtgt ltltplacegtgt Mary Person
ltltNodeLocationgtgt
ltltNodeLocationgtgt
ltltplacegtgt MyPda PDA
ltltMobilityManagergtgt Mary_MobMan
/ltltmoveActivitygtgtgo(Mary, Office)
/ ltltmoveActivitygtgtgo(Mary, Home)
9Representing Code Mobility (I)
ltltplacegtgt Home Room
ltltplacegtgt Office Room
ltltNodeLocationgtgt
ltltmobilegtgt ltltplacegtgt Mary Person
ltltNodeLocationgtgt
ltltNodeLocationgtgt
ltltExecEnvgtgt MyPda PDA
ltltExecEnvgtgt srv Server
C1 Comp
ltltMobileCodegtgt C3 Comp
C4 Comp
C2 Comp
10Representing Code Mobility (II)
Structural model
ltltExecEnvgtgt MyPda PDA
ltltExecEnvgtgt srv Server
ltltCurrentDeploymentgtgt
ltltAllowedDeploymentgtgt
ltltMobileCodegtgt C2 Comp
C1 Comp
MyPda.locatedAt (Home) event_E1 / ltltMovegtgt
REV(C1, somewhere)
Behavioral model
State B
State A
MyPda.locatedAt (Office) Event 4 / ltltMovegtgt
SomeMigrationAct( )
SomeCondition Event 3 /
SomeCondition Event 2 /
State C
State D
C1.CurrentDeployment.BatteryLevel lt 25
event_E2 / ltltMovegtgt MA(C1, somewhere_else)
11Outline
- Introduction motivation, previous work, approach
- Modeling mobility
- Physical mobility locations and moving locations
- Logical mobility mobile software components
- Dynamics of mobility ltltMobilityManagergtgt
- Modeling performance
- Annotated UML models SPT Mobility profile
- Representing mobile code paradigms in UML
- Code On Demand (COD)
- Remote Evaluation (REV)
- Mobile Agent (MA)
- Performance Analysis based on UML models an
example - Conclusion
12Annotating UML modelswith performance
characteristics
- Adding performance annotations from the UML
Profile for Schedulability, Performance and Time
(SPT)
Node PAhost, PAresource PArate
PhysicalMove PAstep PAdelay PAprob
LogicalMove PAstep PAdemand
Move
ltltExecEnvgtgt MyPda PDA
ltltPAhostgtgt PArate ..
ltltPAstepgtgt PAdelay .. PAprob
ltltPAstepgtgt PAdemand ..
ltltPlacegtgt Destination
ltltExecEnvgtgt DestinationNode
ltltPhysicalMovegtgt Move
ltltLogicalMovegtgt REV
ltltMobileElementgtgt EntityToMove
ltltMobileCodegtgt Component
13Outline
- Introduction motivation, previous work, approach
- Modeling mobility
- Physical mobility locations and moving locations
- Logical mobility mobile software components
- Dynamics of mobility ltltMobilityManagergtgt
- Modeling performance
- Annotated UML models SPT Mobility profile
- Representing mobile code paradigms in UML
- Code On Demand (COD)
- Remote Evaluation (REV)
- Mobile Agent (MA)
- Performance Analysis based on UML models an
example - Conclusion
14Modeling mobile code paradigms
- standard paradigms to architect mobile code
based applications - Fuggetta, Picco, Vigna - IEEE Trans. on Sw.
Eng., 1998 - stateless code mobility
- code on demand (COD)
- remote evaluation (REV)
- codestate mobility
- mobile agent (MA)
both can be seen as location aware extensions
of the client-server (CS) paradigm
15From Client Server to Code On Demand
ltltLogicalMovegtgt COD(CodeToMigrate)
Invoke
Use Results
Local Execution Environment
Remote Execution Environment
16Modeling the Remote Evaluation paradigm
ltltLogicalMovegtgt REV(CodeToMigrate,Destination)
Invoke
Use Results
Local Execution Environment
Remote Execution Environment
17Mobile Agents
ltltPlacegtgt Destination
ltltLogicalMovegtgt MA(Destination)
ltltPAstepgtgt PAdemand .f(M)
Invoke
Here the semantics of the ltltMoveActivitygtgt is
different from that in the COD and REV
examples! In this case the state moves, not only
the code!
ltltBeforeMovegtgt Prepare To Migrate
ltltAfterMovegtgt PrepareToExec
ltltLogicalMovegtgt Migrate Code
ltltMobileCodegtgt SomeComponent
ltltMobileCodegtgt SomeComponent
Do Service
ltltPAstepgtgt PAdemand .f(M)
ltltPAstepgtgt PAdemand .f(M)
Use Results
Local Execution Environment
Remote Execution Environment
18Outline
- Introduction motivation, previous work, approach
- Modeling mobility
- Physical mobility locations and moving locations
- Logical mobility mobile software components
- Dynamics of mobility ltltMobilityManagergtgt
- Modeling performance
- Annotated UML models SPT Mobility profile
- Representing mobile code paradigms in UML
- Code On Demand (COD)
- Remote Evaluation (REV)
- Mobile Agent (MA)
- Performance Analysis based on UML models an
example - Conclusion
19Case study picture retrieval system (I)
ltltPAstepgtgt PAdemand (ass, mean, f(r))
Send request for pictures
ltltPAstepgtgt PArep N
Retrieve pictures
User
PictureAgent
20Case study picture retrieval system (II)
ltltPAcontextgtgt Select Pictures doFilter true
ltltPAstepgtgt PAdemand (ass, mean,f(r))
Send view list
Send view list
Send pictures
ltltPAstepgtgt PAdemand (ass, mean,f(r))
Send filtered list
Send pictures
ltltPAstepgtgt PAdemand (ass, mean,f(r))
Show pictures Send select and discard list
Send selected list
Send selected Pictures to PA
ltltPAstepgtgt PAdemand (ass, mean,f(r))
Receive and Store pictures
PictureAgent
Filter
Database
User
21System model with physicaland logical mobile
entities
Static System model
WLan Access Point
WWan Access Point
Internet
ltltExecEnvgtgt Server2
LocB
LocA
ltltdeploygtgt
PictureAgent
DB(2)
ltltExecEnvgtgt PDA
ltltExecEnvgtgt Server1
ltltdeploygtgt
DB(1)
Filter
22Mobility managers
23Outline
- Introduction motivation, previous work, approach
- Modeling mobility
- Physical mobility locations and moving locations
- Logical mobility mobile software components
- Dynamics of mobility ltltMobilityManagergtgt
- Modeling performance
- Annotated UML models SPT Mobility profile
- Representing mobile code paradigms in UML
- Code On Demand (COD)
- Remote Evaluation (REV)
- Mobile Agent (MA)
- Performance Analysis based on UML models an
example - Conclusion
24Conclusion (I)
- Our contribution
- Representation of mobility in computer systems
from a high level perspective - .by means of an extension of a mainstream de
facto standard language - Mobility is described in a uniform way for both
physical and logical entities - Modularity and separation of concerns allow to
easily experiment with different scenarios and
adaptation strategies based on code mobility - Integration of our profile with other
pre-existing, well established profile for
performance modeling (SPT) - It is primarily a descriptive technique for
performance analysis of mobile systems - models built according to the proposed framework
are meant as the input to third party performance
analysis tools - Recent extension automatic code generation
(Jade,muCode)
25Conclusion (II)
- Open Issues
- Model transformation rules need to be defined in
order to derive new models in suitable forms from
descriptions made with our framework - In our paper we have shown a trivial rule (which
is basically an inspection of the diagrams) that
allows to make some comparisons between different
mobile code strategies (provided some strong
conditions hold, such as no competition) - Other transformation rules are documented in the
literature (to produce QN, LQN, Petri Nets,
Markovian models from UML annotated models). The
research on this topic is still going on. - Future work
- Definition of formalized transformation rules
(maybe using relational or graph-transformation
techniques) - Assess consistency between models resulting from
different transformations (difficult task!) - Maybe some UML-specific rework is to be done on
the definition of the profile when the final UML
2 specification is out