Your SlideShare is downloading. ×
0
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Comparing Architecture Description Languages
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Comparing Architecture Description Languages

1,293

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,293
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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}@dsic.upv.es
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Notion of Location <ul><li>Representation: Variable </li></ul><ul><ul><ul><li>Darwin </li></ul></ul></ul>
  • 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. Notion of Location <ul><li>Explicitly, as a physical components </li></ul><ul><ul><ul><li>Con Moto </li></ul></ul></ul>
  • 14. Notion of Location <ul><li>Explicitly, as a connector </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>
  • 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. 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. 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. 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. 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. Mobility Support <ul><li>Reconfiguration </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>out exit(Name,Parent)
  • 21. Mobility Support <ul><li>Reconfiguration </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>
  • 22. Mobility Support <ul><li>Reconfiguration </li></ul><ul><ul><ul><li>Ambient-PRISMA </li></ul></ul></ul>
  • 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. 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. 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. 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. 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. 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. 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. Questions? Nour Ali Politecnico di Milano [email_address] Carlos Solís, Isidro Ramos Universidad Politecnica de Valencia {csolis, iramos}@dsic.upv.es

×