Comparing Architecture Description Languages


Published on

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Comparing Architecture Description Languages

  1. 1. Comparing Architecture Description Languages for Mobile Software Systems Nour Ali Politecnico di Milano [email_address] Carlos Solís, Isidro Ramos Universidad Politecnica de Valencia {csolis, iramos}
  2. 2. Content <ul><li>Introduction </li></ul><ul><li>Features and ADLs used in the comparison </li></ul><ul><li>Comparison </li></ul><ul><li>Conclusions and Further Work </li></ul>
  3. 3. Introduction <ul><li>How current ADLs deal with distribution and mobility? </li></ul><ul><li>No consensus on how ADLs should support distributed and mobile software systems. </li></ul>?
  4. 4. Mobility <ul><li><<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. >> </li></ul><ul><li>Carzaniga et al. in [Car97] </li></ul>
  5. 5. Software Architecture <ul><li>Building blocks of software architecture [Med00]: </li></ul><ul><ul><ul><li>Components </li></ul></ul></ul><ul><ul><ul><li>Connectors </li></ul></ul></ul><ul><ul><ul><li>Configurations </li></ul></ul></ul>Computation Coordination « connector Connector Connector Component Component Component Component Composite Component Connections
  6. 6. Content <ul><li>Introduction </li></ul><ul><li>Features and ADLs used in the comparison </li></ul><ul><li>Comparison </li></ul><ul><li>Conclusions and Further Work </li></ul>
  7. 7. Features used for comparing ADLs <ul><li>Features of a Mobile Model [Roman00]: </li></ul><ul><ul><ul><li>Notion of Location </li></ul></ul></ul><ul><ul><ul><li>Location-awareness </li></ul></ul></ul><ul><ul><ul><li>Mobility Support </li></ul></ul></ul><ul><ul><ul><li>Unit of Mobility </li></ul></ul></ul><ul><ul><ul><li>Migration Decision </li></ul></ul></ul><ul><ul><ul><li>Coordination </li></ul></ul></ul><ul><ul><ul><li>Formalism </li></ul></ul></ul><ul><ul><ul><li>Middleware </li></ul></ul></ul><ul><li>Other features considered such as in [Med00] </li></ul><ul><ul><ul><li>Graphical Support </li></ul></ul></ul><ul><ul><ul><li>Tool support </li></ul></ul></ul>
  8. 8. ADLs Compared <ul><li>ADLs that that have described distribution and mobility are: </li></ul><ul><ul><li>Darwin ( Magee et al., 1995) </li></ul></ul><ul><ul><li>C2Sadel ( Medvidovic et al., 2001) </li></ul></ul><ul><ul><li>Community ( Lopes et al., 2002) </li></ul></ul><ul><ul><li>MobiS ( Ciancarini et al., 1998) </li></ul></ul><ul><ul><li>LAM Model ( Xu et al., 2003) </li></ul></ul><ul><ul><li> -ADL ( Oquendo et al., 2004) </li></ul></ul><ul><ul><li>Con-Moto ( Gruhn et al., 2005) </li></ul></ul>
  9. 9. Content <ul><li>Introduction </li></ul><ul><li>Features and ADLs used in the comparison </li></ul><ul><li>Comparison </li></ul><ul><li>Conclusions and Further Work </li></ul>
  10. 10. Notion of Location <ul><li>Locations represent the different positions where a mobile entity can move in space. </li></ul><ul><li>Locations have to be explicitly dealt as first-class entities and be distinguished from other entities of a model. </li></ul>
  11. 11. Notion of Location <ul><li>Representation: Variable </li></ul><ul><ul><ul><li>Darwin </li></ul></ul></ul>
  12. 12. Notion of Location <ul><li>Implicitly as a composite component </li></ul><ul><ul><ul><li> -ADL </li></ul></ul></ul>Composite Component Component located in Client
  13. 13. Notion of Location <ul><li>Explicitly, as a physical components </li></ul><ul><ul><ul><li>Con Moto </li></ul></ul></ul>
  14. 14. Notion of Location <ul><li>Explicitly, as a connector </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>
  15. 15. Notion of Location Hierarchical Flat Flat Flat Hierarchical Flat Flat Flat Type Explicitly, an ambient connector Ambient-PRISMA Explicitly, physical components Con Moto Explicitly, a border connector C2Sadel Implicitly, composite component MobiS Implicitly,composite component  -ADL Implicitly, composite component LAM model Explicitly, a value of an abstract data type Community Integer value Darwin Representation
  16. 16. Location-Awareness <ul><li>This feature determines whether an entity can be aware of its current location or not. </li></ul><ul><li>This feature is important because it allows an entity to take decisions depending on its current location. </li></ul>Explicit Ambient-PRISMA Implicit Con Moto Implicit C2Sadel Implicit MobiS Implicit  -ADL Implicit LAM model Explicit Community Implicit Darwin Location-Awareness
  17. 17. Location-Awareness <ul><li>Implicit </li></ul><ul><ul><ul><li>Darwin </li></ul></ul></ul><ul><li>Explicit </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>Distribution Aspect Bidder using IMobility, ICapability Attributes Variable location : Ambient NOT NULL; ……… … … … End_Distribution Aspect BidderDist
  18. 18. Mobility Support <ul><li>How a model supports the movement of an entity? </li></ul><ul><li>Unit of mobility </li></ul><ul><ul><li>What is the smallest entity of a model that is allowed to move? </li></ul></ul><ul><li>Migration Decision </li></ul><ul><ul><li>When and what causes an entity to move? </li></ul></ul><ul><ul><li>Objective or subjective moves? </li></ul></ul>
  19. 19. Mobility Support Components, connectors, ambients and composite components Logical components subcomponents subcomponents Components, locations, channels Fine-grained components & connectors Components X Unit of Mobility objective and subjective objective and subjective objective and subjective objective and subjective objective and subjective objective and subjective objective moves X Migration Decision reconfiguration Ambient-PRISMA reconfiguration Con Moto reconfiguration C2Sadel reconfiguration MobiS reconfiguration  -ADL reconfiguration LAM model Change in a value Community X Darwin Support
  20. 20. Mobility Support <ul><li>Reconfiguration </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>out exit(Name,Parent)
  21. 21. Mobility Support <ul><li>Reconfiguration </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>
  22. 22. Mobility Support <ul><li>Reconfiguration </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>
  23. 23. Coordination <ul><li>Do ADLs provide special coordination mechanisms for distribution and mobility? </li></ul>A connector for mobility, communication, security Ambient-PRISMA Physical connections Con Moto border, communication,…, connectors C2Sadel Implicit coordination model MobiS First class connectors  -ADL Connectors for mobility LAM model Distribution connectors for mobility Community Bindings Darwin Coordination
  24. 24. Formalism <ul><li>Models need to enable a precise description of the distribution and mobility properties. </li></ul><ul><li>The formalism used to formalize an ADL needs to provide explicit mobility primitives. </li></ul>Channel Ambient Calculus, etc Ambient-PRISMA  -calculus Con Moto First-order logic C2Sadel multiple tuple-space MobiS  -calculus  -ADL Predicate/Transition nets (a variant of Petri Nets) LAM model Category theory, Mobile Unity Community  -calculus Darwin Formalism
  25. 25. Graphical, Middleware and Tool Support <ul><li>Graphical Notation </li></ul><ul><ul><li>A graphical notation allows a model to be more usable and understandable. </li></ul></ul><ul><ul><ul><li>Which ADLs provide a graphical notation for distribution and mobility? </li></ul></ul></ul><ul><li>Middleware </li></ul><ul><ul><ul><li>Have ADLs been used for implementing executable distributed and mobile applications? </li></ul></ul></ul><ul><li>Tool support </li></ul><ul><ul><ul><li>What facilities do ADL tools provide for distribution and mobility? </li></ul></ul></ul>
  26. 26. Graphical, Middleware and Tool Support RMI, agent weak mobility, distributed transactions, etc X X X X X RMI, code-on-demand mobility RMI Middleware Graphical modelling, verification, Automatic distributed configuration Simulation tool Code generation to Java,modelling & verification X X Textual and graphical modelling, simulation Textual and graphical modelling, skeletons generation Graphical modelling, Automatic compiler, Automatic distributed configuration Tool Explicit Explicit Implicit Implicit Implicit Implicit Implicit Implicit Graphical Ambient-PRISMA Con Moto C2Sadel MobiS  -ADL LAM model Community Darwin
  27. 27. Content <ul><li>Introduction </li></ul><ul><li>Features and ADLs used in the comparison </li></ul><ul><li>Comparison </li></ul><ul><li>Conclusions and Further Work </li></ul>
  28. 28. Conclusions <ul><li>Notion of location has been provided explicitly as components, connectors or as a variable. </li></ul><ul><li>Mobility has been supported either by reconfiguration or change of value </li></ul><ul><li>Components are the only unit of mobility in most ADLs. </li></ul><ul><li>Explicit coordination mechanisms for distribution and mobility have been supported by different kinds of connectors. </li></ul><ul><li>Formal methods used have not supported explicit notions for mobility </li></ul><ul><li>Graphical notation, middleware and tool support for ADLs for distribution and mobility are limited </li></ul>
  29. 29. Further Work <ul><li>Extend the comparison for including new features such as non-functional requirements, QoS, physical mobility, etc., </li></ul><ul><li>Necessity to empirically demonstrate the usability, understability and expressiveness of ADLs for distribution and mobility </li></ul>
  30. 30. Questions? Nour Ali Politecnico di Milano [email_address] Carlos Solís, Isidro Ramos Universidad Politecnica de Valencia {csolis, iramos}