Upload
maia
View
62
Download
0
Embed Size (px)
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 Presentation
Citation preview
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
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
Introduction
How current ADLs deal with distribution and mobility?
No consensus on how ADLs should support distributed and mobile software systems.
?
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]
Software Architecture
« connector
ConnectorConnector Component
ComponentComponent
Component
Computation Coordination
Building blocks of software architecture [Med00]:Components
Connectors
Configurations
Composite Component
Connections
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
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
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)
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
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.
Notion of Location Representation: Variable
Darwin
Notion of Location Implicitly as a composite component
-ADL
Composite Component
Component located in Client
Notion of Location Explicitly, as a physical components
Con Moto
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
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
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
Location-Awareness Implicit
Darwin
ExplicitAmbient-PRISMA
Distribution Aspect Bidder using IMobility, ICapability Attributes Variable location: Ambient NOT NULL; ……… … … …End_Distribution Aspect BidderDist
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?
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
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)
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
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
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
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
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?
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
Content
Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work
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
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
Questions?
Nour AliPolitecnico di Milano
Carlos Solís, Isidro RamosUniversidad Politecnica de Valencia
{csolis, iramos}@dsic.upv.es