300 likes | 396 Vues
This research paper explores different Architecture Description Languages (ADLs) used in mobile software systems, analyzing features such as mobility support, coordination mechanisms, and formalism. The comparison covers ADLs like Darwin, C2Sadel, Community, and more. Conclusions highlight the importance of explicit notions of location and mobility support, while also noting limitations in graphical notation and tool support. Further work suggests extending the comparison to include additional features and empirical demonstrations of ADL usability.
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