30
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

Comparing Architecture Description Languages for Mobile Software Systems

  • Upload
    maia

  • View
    51

  • 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

Page 1: Comparing Architecture Description Languages for Mobile Software Systems

Comparing Architecture Description Languages for Mobile Software Systems

Nour AliPolitecnico di Milano

[email protected]

Carlos Solís, Isidro RamosUniversidad Politecnica de Valencia

{csolis, iramos}@dsic.upv.es

Page 2: Comparing Architecture Description Languages for Mobile Software Systems

Content

Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work

Page 3: Comparing Architecture Description Languages for Mobile Software Systems

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

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

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

Content

Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work

Page 7: Comparing Architecture Description Languages for Mobile Software Systems

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

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

Content

Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work

Page 10: Comparing Architecture Description Languages for Mobile Software Systems

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

Notion of Location Representation: Variable

Darwin

Page 12: Comparing Architecture Description Languages for Mobile Software Systems

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

Notion of Location Explicitly, as a physical components

Con Moto

Page 14: Comparing Architecture Description Languages for Mobile Software Systems

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

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

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

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

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

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

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

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

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

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

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

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

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

Content

Introduction Features and ADLs used in the comparison Comparison Conclusions and Further Work

Page 28: Comparing Architecture Description Languages for Mobile Software Systems

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

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

Questions?

Nour AliPolitecnico di Milano

[email protected]

Carlos Solís, Isidro RamosUniversidad Politecnica de Valencia

{csolis, iramos}@dsic.upv.es