comparing architecture description languages for mobile software systems
DESCRIPTION
Comparing Architecture Description Languages for Mobile Software Systems. Nour Ali Politecnico di Milano [email protected]. Carlos Solís, Isidro Ramos Universidad Politecnica de Valencia {csolis, iramos}@dsic.upv.es. Content. Introduction Features and ADLs used in the comparison - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/1.jpg)
Comparing Architecture Description Languages for Mobile Software Systems
Nour AliPolitecnico di Milano
Carlos Solís, Isidro RamosUniversidad Politecnica de Valencia
{csolis, iramos}@dsic.upv.es
![Page 2: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/2.jpg)
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
![Page 3: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/3.jpg)
Introduction
How current ADLs deal with distribution and mobility?
No consensus on how ADLs should support distributed and mobile software systems.
?
![Page 4: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/4.jpg)
Mobility
<<Code 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.>>
Carzaniga et al. in [Car97]
![Page 5: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/5.jpg)
Software Architecture
« connector
ConnectorConnector Component
ComponentComponent
Component
Computation Coordination
Building blocks of software architecture [Med00]:Components
Connectors
Configurations
Composite Component
Connections
![Page 6: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/6.jpg)
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
![Page 7: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/7.jpg)
Features used for comparing ADLs Features of a Mobile Model [Roman00]:
Notion of LocationLocation-awarenessMobility SupportUnit of MobilityMigration DecisionCoordinationFormalismMiddleware
Other features considered such as in [Med00]Graphical SupportTool support
![Page 8: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/8.jpg)
ADLs 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)
![Page 9: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/9.jpg)
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
![Page 10: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/10.jpg)
Notion 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.
![Page 11: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/11.jpg)
Notion of Location Representation: Variable
Darwin
![Page 12: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/12.jpg)
Notion of Location Implicitly as a composite component
-ADL
Composite Component
Component located in Client
![Page 13: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/13.jpg)
Notion of Location Explicitly, as a physical components
Con Moto
![Page 14: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/14.jpg)
Notion of Location
Explicitly, as a connectorAmbient-PRISMA
AuctionSite
IC
ES IS
EC
Auction1« connector »<<connector>>
AuctionCnctr1
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
ClientSite
Customer «connector»
AgentCustCnct
ECECICIC
ISISESES
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect ICIC
ISIS
Root
Bidder1
![Page 15: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/15.jpg)
Notion 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
![Page 16: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/16.jpg)
Location-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
![Page 17: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/17.jpg)
Location-Awareness Implicit
Darwin
ExplicitAmbient-PRISMA
Distribution Aspect Bidder using IMobility, ICapability Attributes Variable location: Ambient NOT NULL; ……… … … …End_Distribution Aspect BidderDist
![Page 18: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/18.jpg)
Mobility Support
How a model supports the movement of an entity?
Unit of mobilityWhat 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?
![Page 19: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/19.jpg)
Mobility SupportSupport 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
![Page 20: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/20.jpg)
Mobility Support Reconfiguration
Ambient-PRISMA
AuctionSite
IC
ES IS
EC
Auction1« connector »<<connector>>
AuctionCnctr1
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
ClientSite
Customer «connector»
AgentCustCnct
ECECICIC
ISISESES
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect ICIC
ISIS
Root
Bidder1
out exit(Name,Parent)
![Page 21: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/21.jpg)
Mobility Support Reconfiguration
Ambient-PRISMA
AuctionSite
IC
ES IS
EC
Auction1« connector »<<connector>>
AuctionCnctr1
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
ClientSite
Customer «connector»
AgentCustCnct
ECECICIC
ISISESES
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect ICIC
ISIS
Root
Bidder1
![Page 22: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/22.jpg)
Mobility Support Reconfiguration
Ambient-PRISMA
AuctionSite
IC
ES IS
EC
Auction1« connector »<<connector>>
AuctionCnctr1
MobilityAspect
DistributionAspect
Weaving
Coordination
Aspect
MobilityAspect
DistributionAspect
Weaving
Coordination
Aspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect
MobilityAspect
DistributionAspect
Weaving
CoordinationAspect ICIC
ISIS
Root
Bidder1Bidder1
ClientSite
Customer «connector»
AgentCustCnct
ECECI CI C
I SI SESES
MobilityAspect
DistributionAsp ect
Weaving
CoordinationAspect
MobilityAspect
DistributionAsp ect
Weaving
CoordinationAspect
ClientSite
Customer «connector»
AgentCustCnct
ECECI CI C
I SI SESES
MobilityAspect
DistributionAsp ect
Weaving
CoordinationAspect
MobilityAspect
DistributionAsp ect
Weaving
CoordinationAspect
ESIS
![Page 23: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/23.jpg)
Coordination 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
![Page 24: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/24.jpg)
Formalism 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
![Page 25: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/25.jpg)
Graphical, Middleware and Tool Support
Graphical NotationA graphical notation allows a model to be more
usable and understandable.Which ADLs provide a graphical notation for distribution and mobility?
MiddlewareHave ADLs been used for implementing executable distributed and mobile applications?
Tool supportWhat facilities do ADL tools provide for distribution and mobility?
![Page 26: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/26.jpg)
Graphical, 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
![Page 27: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/27.jpg)
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
![Page 28: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/28.jpg)
Conclusions 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
![Page 29: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/29.jpg)
Further 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
![Page 30: Comparing Architecture Description Languages for Mobile Software Systems](https://reader036.vdocuments.site/reader036/viewer/2022062309/5681488c550346895db5a433/html5/thumbnails/30.jpg)
Questions?
Nour AliPolitecnico di Milano
Carlos Solís, Isidro RamosUniversidad Politecnica de Valencia
{csolis, iramos}@dsic.upv.es