Title: Comparing%20Architecture%20Description%20Languages%20for%20Mobile%20Software%20Systems
1Comparing Architecture Description Languages for
Mobile Software Systems
Nour Ali Politecnico di Milano ali_at_elet.polimi.it
Carlos Solís, Isidro Ramos Universidad
Politecnica de Valencia csolis,
iramos_at_dsic.upv.es
2Content
- Introduction
- Features and ADLs used in the comparison
- Comparison
- Conclusions and Further Work
3Introduction
- How current ADLs deal with distribution and
mobility? - No consensus on how ADLs should support
distributed and mobile software systems.
?
4Mobility
- ltltCode Mobility is the capability to reconfigure
dynamically, at runtime, the binding between the
software components of the application and their
physical location within a computer network.gtgt - Carzaniga et al. in Car97
5Software Architecture
- Building blocks of software architecture Med00
- Components
- Connectors
- Configurations
Coordination
Computation
6Content
- Introduction
- Features and ADLs used in the comparison
- Comparison
- Conclusions and Further Work
7Features used for comparing ADLs
- Features of a Mobile Model Roman00
- Notion of Location
- Location-awareness
- Mobility Support
- Unit of Mobility
- Migration Decision
- Coordination
- Formalism
- Middleware
- Other features considered such as in Med00
- Graphical Support
- Tool support
8ADLs Compared
- ADLs that that have described distribution and
mobility are - Darwin (Magee et al., 1995)
- C2Sadel (Medvidovic et al., 2001)
- Community (Lopes et al., 2002)
- MobiS (Ciancarini et al., 1998)
- LAM Model (Xu et al., 2003)
- ?-ADL (Oquendo et al., 2004)
- Con-Moto (Gruhn et al., 2005)
9Content
- Introduction
- Features and ADLs used in the comparison
- Comparison
- Conclusions and Further Work
10Notion of Location
- Locations represent the different positions where
a mobile entity can move in space. - Locations have to be explicitly dealt as
first-class entities and be distinguished from
other entities of a model.
11Notion of Location
- Representation Variable
- Darwin
12Notion of Location
- Implicitly as a composite component
- ?-ADL
Composite Component
Component located in Client
13Notion of Location
- Explicitly, as a physical components
- Con Moto
14Notion of Location
- Explicitly, as a connector
- Ambient-PRISMA
15Notion of Location
Representation Type
Darwin Integer value Flat
C2Sadel Explicitly, a border connector Flat
Community Explicitly, a value of an abstract data type Flat
MobiS Implicitly, composite component Hierarchical
LAM model Implicitly, composite component Flat
?-ADL Implicitly,composite component Flat
Con Moto Explicitly, physical components Flat
Ambient-PRISMA Explicitly, an ambient connector Hierarchical
16Location-Awareness
- This feature determines whether an entity can be
aware of its current location or not. - This feature is important because it allows an
entity to take decisions depending on its current
location.
Location-Awareness
Darwin Implicit
C2Sadel Implicit
Community Explicit
MobiS Implicit
LAM model Implicit
?-ADL Implicit
Con Moto Implicit
Ambient-PRISMA Explicit
17Location-Awareness
- Implicit
- Darwin
- Explicit
- Ambient-PRISMA
Distribution Aspect Bidder using IMobility,
ICapability Attributes Variable location
Ambient NOT NULL End_Distribution
Aspect BidderDist
18Mobility Support
- How a model supports the movement of an entity?
- Unit of mobility
- What is the smallest entity of a model that is
allowed to move? - Migration Decision
- When and what causes an entity to move?
- Objective or subjective moves?
19Mobility Support
Support Unit of Mobility Migration Decision
Darwin X X X
C2Sadel reconfiguration Components objective moves
Community Change in a value Fine-grained components connectors objective and subjective
MobiS reconfiguration Components, locations, channels objective and subjective
LAM model reconfiguration subcomponents objective and subjective
?-ADL reconfiguration subcomponents objective and subjective
Con Moto reconfiguration Logical components objective and subjective
Ambient-PRISMA reconfiguration Components, connectors, ambients and composite components objective and subjective
20Mobility Support
- Reconfiguration
- Ambient-PRISMA
21Mobility Support
- Reconfiguration
- Ambient-PRISMA
22Mobility Support
- Reconfiguration
- Ambient-PRISMA
23Coordination
- Do ADLs provide special coordination mechanisms
for distribution and mobility?
Coordination
Darwin Bindings
C2Sadel border, communication,, connectors
Community Distribution connectors for mobility
MobiS Implicit coordination model
LAM model Connectors for mobility
?-ADL First class connectors
Con Moto Physical connections
Ambient-PRISMA A connector for mobility, communication, security
24Formalism
- Models need to enable a precise description of
the distribution and mobility properties. - The formalism used to formalize an ADL needs to
provide explicit mobility primitives.
Formalism
Darwin ?-calculus
C2Sadel First-order logic
Community Category theory, Mobile Unity
MobiS multiple tuple-space
LAM model Predicate/Transition nets (a variant of Petri Nets)
?-ADL ?-calculus
Con Moto ?-calculus
Ambient-PRISMA Channel Ambient Calculus, etc
25Graphical, Middleware and Tool Support
- Graphical Notation
- A graphical notation allows a model to be more
usable and understandable. - Which ADLs provide a graphical notation for
distribution and mobility? - Middleware
- Have ADLs been used for implementing executable
distributed and mobile applications? - Tool support
- What facilities do ADL tools provide for
distribution and mobility?
26Graphical, Middleware and Tool Support
Graphical Middleware Tool
Darwin Implicit RMI Graphical modelling, Automatic compiler, Automatic distributed configuration
C2Sadel Implicit RMI, code-on-demand mobility Textual and graphical modelling, skeletons generation
Community Implicit X Textual and graphical modelling, simulation
MobiS Implicit X X
LAM model Implicit X X
?-ADL Implicit X Code generation to Java,modelling verification
Con Moto Explicit X Simulation tool
Ambient-PRISMA Explicit RMI, agent weak mobility, distributed transactions, etc Graphical modelling, verification, Automatic distributed configuration
27Content
- Introduction
- Features and ADLs used in the comparison
- Comparison
- Conclusions and Further Work
28Conclusions
- Notion of location has been provided explicitly
as components, connectors or as a variable. - Mobility has been supported either by
reconfiguration or change of value - Components are the only unit of mobility in most
ADLs. - Explicit coordination mechanisms for distribution
and mobility have been supported by different
kinds of connectors. - Formal methods used have not supported explicit
notions for mobility - Graphical notation, middleware and tool support
for ADLs for distribution and mobility are
limited
29Further Work
- Extend the comparison for including new features
such as non-functional requirements, QoS,
physical mobility, etc., - Necessity to empirically demonstrate the
usability, understability and expressiveness of
ADLs for distribution and mobility
30Questions?
Nour Ali Politecnico di Milano ali_at_elet.polimi.it
Carlos Solís, Isidro Ramos Universidad
Politecnica de Valencia csolis,
iramos_at_dsic.upv.es