300 likes | 394 Views
Comparing Architecture Description Languages for Mobile Software Systems. Nour Ali Politecnico di Milano ali@elet.polimi.it. Carlos Solís, Isidro Ramos Universidad Politecnica de Valencia {csolis, iramos}@dsic.upv.es. Content. Introduction Features and ADLs used in the comparison
E N D
Comparing Architecture Description Languages for Mobile Software Systems Nour Ali Politecnico di Milano ali@elet.polimi.it Carlos Solís, Isidro Ramos Universidad 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]
Composite Component « connector Connector Connector Component Component Component Component Connections Software Architecture • Building blocks of software architecture [Med00]: • Components • Connectors • Configurations Coordination Computation
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 Location • Location-awareness • Mobility Support • Unit of Mobility • Migration Decision • Coordination • Formalism • Middleware • Other features considered such as in [Med00] • Graphical Support • Tool 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 connector • Ambient-PRISMA
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 • Implicit • Darwin • Explicit • Ambient-PRISMA Distribution Aspect Bidder using IMobility, ICapability Attributes Variable location: Ambient NOT NULL; ……… … … … End_DistributionAspect BidderDist
Mobility 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?
out exit(Name,Parent) Mobility Support • Reconfiguration • Ambient-PRISMA
Mobility Support • Reconfiguration • Ambient-PRISMA
Mobility Support • Reconfiguration • Ambient-PRISMA
Coordination • Do ADLs provide special coordination mechanisms for distribution and mobility?
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.
Graphical, 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?
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 Ali Politecnico di Milano ali@elet.polimi.it Carlos Solís, Isidro Ramos Universidad Politecnica de Valencia {csolis, iramos}@dsic.upv.es