Software Architecture: views and viewpoints

  • 5,846 views
Uploaded on

This is an introductory lecture to Software Architecture Views and Viewpoints, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy …

This is an introductory lecture to Software Architecture Views and Viewpoints, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,846
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
126
Comments
0
Likes
3

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. Università degli Studi dell’AquilaL07: Views and Viewpoints Henry Muccini DISIM Department, University of L’Aquila, Italy henry.muccini@univaq.it
  • 2. The material in these slides may be freely reproducedand distributed, partially or totally, as far as an explicitreference or acknowledge to the material author ispreserved. Henry Muccini
  • 3. Intro to SA Intro to Software TestingSA Case study Structural TestingSA style Model-based TestingADLs Architecture-based TestingDesign Decisions LabViews/ViewpointsUML Non Functional S.E.UML Profiling Performance modelingLab Performance analysis
  • 4. Software ArchitectureThe Software Architecture is the earliest model of thewhole software system created along the softwarelifecycle“Traditional” definition: →A set of components and connectors communicating through interfaces“Recent/Future” understanding: →A set of architecture design decisions taken to generate the architecture artifact →Focus on set of Views and Viewpoints, looking at stakeholders and their concern
  • 5. Architecture as a set of Viewpoints
  • 6. StructureBehaviorHw/SwReal-time…
  • 7. Two important views Structural Spec. Behavioral Spec. 3 2 0 1 4 5 - Posets, pre-post conditions - Process Algebras -Formal ADLs - Labeled Transition Systems, -UML notations IO Automata, IOLTS - Statechart, UML state machine
  • 8. ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – ArchitecturalDescription, 2011
  • 9. Architecture Description: Architecture Description is the practice of expressingarchitectures (ISO/IEC 42010) “The practices of recording software, system andenterprise architectures so that architectures can beunderstood, documented, analysed and realized.” “Architecture descriptions are created by architectsand used by architects and other stakeholdersthroughout all stages of a system’s life cycle, fromdevelopment through operation and maintenance.”
  • 10. 1) Architecture Viewpoints: define the contents of each architecture view;2) Architecture Frameworks (AFs): coordinated set of viewpoints for use within a particular stakeholder community or domain of application (e.g., GERAM, TOGAF, MODAF);3) Architecture Description Languages (ADLs): any mode of expression used in an architecture description. ADL provides model kinds selected to frame one or more concerns.
  • 11. ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – ArchitecturalDescription, 2011
  • 12. […] “a viewpoint is a way of looking at a system; a view is what you see”“A viewpoint defines the conventions (such as notations, languages andtypes of models) for constructing a certain kind of view”[…]”viewpoint refers to the conventions for representing an architecturerelative to one set of concerns.”“A view is the result of applying a viewpoint to a particular system ofinterest”[…] “viewpoints as first-class entities of architecture descriptions.”view : viewpoint :: program : programming language From the ISO/IEC/IEEE 42010
  • 13. Software ArchitectSoftware DeveloperFinancial managerBusiness manager ……
  • 14. RUP 4+1 views Logical View Implementation (Development) View Object Model Static Organization of Design of the Software End-user Programmers Functionality Software management Process View Use Case View Deployment View Concurrency and Software Mapping Synchronization System integrators System engineering To Hw Performance System topology Scalability Delivery, installation Throughput Communication Conceptual Physical
  • 15. Use Case Analysis Design Depl. Impl. Test Model Model Model Model Model Model Models Views
  • 16. Architectural views: Applied SA [Applied] & UML Process [UMLProcess][Applied]Still based on Architectural views… [Applied] C. Hofmeister, R. Nord and D. Soni. Applied Software →Conceptual Architecture. Addison-Wesley. 1998. →Module →Execution →Code… but more Diagrams for each view[UMLProcess] [UMLProcess] I. Jacobson, G. Booch and J. Rumbaugh. The Unified Software Development Process. Addison Wesley, Object Technology Series, 1999.
  • 17. Using multiple views has become standard practice in industry • IEEE Std 1471 (2000) -> … -> ISO/IEC/IEEE 42010 (2011) • Based on a survey we conducted with 48 practitioners [Survey2012], and about the usage of ALs in industry 85% uses multiple views[Survey2012] “What Industry needs from Architectural Languages: A Survey”, I. Malavolta, P. Lago, H.Muccini, P. Pelliccione, A. Tang (under review)
  • 18. To provide an infrastructure that enables tobuild reusable architecture frameworks by treating views, viewpoints, concerns as first-class entities. MEGAF is an MDE approach to create new architecture frameworks by means of mechanisms: i. to store retrieve, and combine existing viewpoints, by properly store, retrieve selecting and reusing models previously defined and resident in MEGAF; ii. to define correspondences among views, viewpoints, stakeholders, system concerns and their elements; iii. to enforce consistency and completeness checks based on defined architectural relationships and rules among elements.
  • 19. Model Kinds Architectural Languages System Concerns Stakeholders CorrespondencesViewpoints Architectural Assets Architecture Framework Repository Architecture Architecture Architecture Description Description Description A B C
  • 20. Model Kinds System Concerns Architectural Languages Stakeholders sc mk al stk Architecture Correspondences af FrameworkViewpoints c1 vp Architecture Description Architecture ad Description Architecture Description A B C How to manage models that contains classes and other models?
  • 21. Technological solutionMEGAF is realized via megamodeling techniques A megamodel is a kind of model in which elements could represent and/or refer to models or metamodels [Bézivin et al., OOPSLA/GPCE 2004] A megamodel specifies properties and rules governing model construction, including multiple models and metamodels →Models and metamodels are first-class entities →It offers also the possibility to specify relationships between them and to navigate them.
  • 22. MEGAF meta megamodelGMM4SAmeta megamodel(describing howto build 42010–conformantmegamodels)In MEGAF, amegamodel is arepository of ADelements Megamodels in combination with weaving models for coordinatingsets of models; The navigability and traceability extension.[Jouault et. al, ACM SAC 2010]
  • 23. Model Kinds System Concerns Architectural Languages Stakeholders sc mk stk CorrespondencesViewpoints c1 vp
  • 24. CASE STUDY
  • 25. Viewpoints: structural, behaviour, web servicesADLs: Diasuite, UMLExtensions: REST services metamodel, LTSStakeholders: sw architect, end-user, developer, sys eng.
  • 26. 42010 AF definition
  • 27. Work Done…Definition of the GMM4SA metamegamodel, fullycompliant to the ISO/IEC/IEEE 42010 Each megamodel conforming to it must satisfy those relationships in order to be valid: definition of conformance of an AF to the 42010 definition of conformance of an AD to an AF definition AF correspondence rulesSpecification of the model weaving and compositionmechanismsUse of the AM3 megamodel management component (inthe AMMA platform) to record all available resources,acting as an MDE repository.
  • 28. CONCLUSIONS
  • 29. Future Work Advanced searches Overlapping viewpoints management Usability and GUI Extension and customization of repository elements AF extensions can create problems to thecorresponding AD Application to industrial projects
  • 30. Our visionReuse, compose, and extend ADLs and AFs insteadof creating new ones
  • 31. Composed AF Extended/customized ADLOur solution generated in MEGAF generated in byADL VP BPMN St1 2 VP Darwin/FSP FT 1 MK1 ACME SA UML profiles pivot metamodel (A0) AADL other ADLs xADL DUALLy: an automated approach for ADLs interoperability byADL: an approach to adapt and customize existing ADLs MEGAF: a model-driven infrastructure for building reusable and extensible architecture frameworks
  • 32. otherDUALLy byADL MEGAF engines MEGAF AMMA AM3 AMW ATL EMF
  • 33. megaf.di.univaq.it• Preliminary prototype in Eclipse, using megamodeling techniquesdually.di.univaq.it• Prototype in Eclipse, using model-driven engineering techniquesbyadl.di.univaq.it• Prototype in Eclipse, using model-driven engineering techniques