Software Architecture by Reuse, Composition and Customization
Upcoming SlideShare
Loading in...5
×
 

Software Architecture by Reuse, Composition and Customization

on

  • 1,450 views

Ivano Malavolta. ...

Ivano Malavolta.
Research Fellow at the Computer Science Department of the University of L'Aquila (Italy).

PhD thesis presentation, University of L'Aquila, March 2012.

The full PhD thesis is available here:
http:www.di.univaq.it/malavolta/files/IvanoMalavoltaPhDThesis.pdf


Statistics

Views

Total Views
1,450
Views on SlideShare
1,450
Embed Views
0

Actions

Likes
2
Downloads
49
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization Presentation Transcript

    • Software Engineeringand Architecture Group Software Architecture by Reuse, Composition and Customization Ivano Malavolta March 2012 http://www.di.univaq.it/malavolta
    • Outline Research Area Motivation Goal Solution ConclusionsSchedule for Future Work Other Activities
    • Research Area (i) Software ArchitectureA set of design decisions taken to generate the architecture artifact
    • Research Area (ii)Components and connectorsDistribution and configurationExpected Behaviour http://www.busonair.euPatterns, stylesHW/SW DeploymentExtra-Extra-functional properties scalability, performance, testability, security
    • Research Area (iii)Focus on views and viewpoints looking at stakeholders and their concerns
    • SA Conceptual Model (i) Picture from International Standard for Systems and Software Engineering – Architectural Description (ISO/IEC 42010). Stakeholders Developer Architect End-user Tester Project manager Concerns functionality, feasibility, usage, structure, behavior, performance, resource utilization, security, cost, data accessibility, privacy, compliance to regulation, business goals and strategies
    • SA Conceptual Model (ii)Architecture Framework 4+1 views MODAF Picture from International Standard for Systems TOGAF and Software Engineering – Architectural … Description (ISO/IEC 42010).
    • Motivation of this Work (i) [SURVEY_2012]Stakeholders concerns can vary tremendouslynature of the systemproject-specific constraintsorganizational constraintsdomain of the system…
    • Motivation of this Work (ii)The quality of an SA depends on how stakeholder concerns are supported this issue depends on: the used architectural languages (ADL) the architecture framework
    • Motivation of this Work (iii) in industry architects try to solve this issue by: 1. Using multiple views 2. Extending the used ADLs* This data comes from a survey I worked onabout the usage of ADLs in industry [SURVEY_2012]
    • Motivation of this Work (iv) however … 1. frameworks tend to be closed difficult to reuse viewpoints and concerns across organizations and domains 2. poor support for ADLs adaptation – big effort to adapt the engine for the extended language – extensions are not reusable across languages 3. views consistency is still one of the harder problems in software architecture** Just Enough Software Architecture George Fairbanks, 2010 Architecture,
    • Goal … to support the definition of Architecture frameworks with a special consideration for views consistency and architecture description languages extensibilityIntuition:• try to get architecture frameworks and ADLs closer to system stakeholders concerns• make architecture frameworks and ADLs adaptable and extensible• keep consistent the set of views of the system
    • SolutionSystem Concerns Architecture Frameworks Architectural Languages Stakeholders CorrespondencesViewpoints Architectural Assets Repository Architecture Framework Architecture Architecture Architecture Description Description Description A B C
    • Solution MEGAF: MEGAF a model-driven infrastructure for building reusable and extensible architecture frameworks DUALLy: DUALLy an automated approach for ADLs interoperability byADL: byADL: an approach to adapt and customize existing ADLs
    • Tangible BenefitsSoftware architects may1. define new frameworks by composing views, viewpoints, ADLs and correspondences among them2. define new ADLs by extending and customizing existing ones3. model the system in an environment in which ADLs interoperate and models conforming to different ADLs are automatically kept consistent
    • * picture curtesy of Jean bezivin MDE and Software Architecture SABy applying the MDE principle saying that modelx “models are precise artifacts that can be understood by computers and can be automatically manipulated”this work focusses on automation and reuse.
    • Solution - MEGAF PROBLEM architecture frameworks are closed SOLUTION an infrastructure for building reusable and extensible architecture frameworks reuse among architecture frameworksMain drivers: homogeneous representation of SA elements automate consistency and completeness checksIntuition: ISO/IEC 42010 concepts as a MEGAMODEL
    • VP1 VP2 … VPn St1 St2 … Stm AM1 AM2 … AMh Viewpoints Stakeholders Architecture Models conforms to governs V1 V2 … Vo MK1 MK2 … MKr CR1 CR2 … CRiframes Model Kinds Correspondence Rules Views holds Architectural SC1 SC2 … SCk Framework 2 created within C1 C2 … Ce Architectural Architectural System Concerns Framework 1 Description 1 Correspondence implements Custom ADL1 Custom ADL1 ADL2 ADLj ADL2 … Custom ADLj Architectural Languages
    • Publications on MEGAFInternational Conferences [ASE_2010] Rich Hilliard, Henry Muccini, Ivano Malavolta, and Patrizio Pelliccione. Realizing architecture frameworks through megamodelling techniques. techniques In 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), 2010
    • Solution - DUALLyPROBLEM views consistencySOLUTION architectural languages interoperability Automated model proactive transformation consistency techniques it is not consistency checking only
    • Solution - DUALLy Architects link an ADL to A0 via a weaving model wm1 weaving links wm2 weaving links weaving links ADL1 A0 ADL2 metamodel metamodel metamodel generation generation Conforms to Conforms to Conforms to ADL1 A0 ADL2 model model model ADL1_2_A0 ADL2_2_A0 A0_2_ADL1 A0_2_ADL2 Transformations are automatically generated [SOSYM_2010] [TSE_2012]Supported MT languages: ATL
    • Solution - DUALLy [FASE_2012]A0 metamodel hierarchy of pivot metamodels A0 hierarchy e1 A0 e2 ADL1 A1 e5 A2 e3 e7 ADL2 e4 e6 A4 A5 A3 The path through the hierarchy is automatically computed
    • Publications on DUALLyInternational Journals [SOSYM_2010] Romina Eramo, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. A model-driven model- approach to automate the propagation of changes among architecture description languages. Software and Systems Modeling, languages (to appear), 2010. special theme on Model-Based Interoperability. [TSE_2010] Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Damien Tamburri. Providing architectural languages and tools interoperability through model transformation technologies IEEE Transactions on Software Engineering, 36(1), 119-140, technologies. January 2010.International Conferences and Workshops [FASE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Model-driven Model- techniques to enhance architectural languages interoperability. In Proceedings of the 15th International Conference on interoperability Fundamental Approaches to Software Engineering, FASE. To appear, March 2012. [ECSA_DS_2010] Ivano Malavolta. A model-driven approach for managing software architectures with multiple evolving model- concerns. concerns In ECSA 2010 (Doctoral Symposium), 4th European Conference on Software Architecture, August 2010. [CBSE_2009] Ivica Crnkovic, Ivano Malavolta, and Henry Muccini. A model-driven engineering framework for component models model- interoperability. interoperability In 12th International Symposium on Component-Based Software Engineering (CBSE 2009), pages 36-53, Berlin, Heidelberg, June 2009. Springer-Verlag. [UML_AADL_2009] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. Integrating AADL within a multidomain modeling framework. framework In IEEE International Conference on Engineering of Complex Computer Systems, volume 0, pages 341-346, Los Alamitos, CA, USA, 2009. IEEE Computer Society. [ASE_DEMO_2008] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. DUALLy: a framework for architectural languages DUALLy: and tools interoperability In 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE2008). IEEE interoperability. Computer Science Press, 15-19 September 2008.
    • Solution - byADLPROBLEM current ADLs mostly fail to capture multiple (and varying) stakeholders concernsSOLUTION extending and customizing existing ADLs w.r.t. to domain- & organization- specific concerns
    • Solution - byADL An architect can extend MMADLx ADLx to better fit his MMext concerns composition model Extensions are ADL- transformations independent and live in MEGAF it enables reuseMMcomp semantic migrators concrete syntaxes links
    • byADL – Abstract Syntax Automatic Composition operators:transformation • Match • Inherit • Reference • Expand
    • byADL – Concrete Syntaxes different usability and 3 generic mechanisms to generate effort to customizeeditors for the composed metamodel Grafical Textual Tree-based
    • byADL - Semantics A0 semantic domainautomatically generated
    • byADL - Migrators Guarantee compatibility with original notations and tools reuse of analysis tools
    • Publications on byADLInternational Journals [TSE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Extending and Customizing existing Architecture Description Languages through MDE techniques To be submitted to IEEE Transactions on Software techniques. EngineeringInternational Conferences [ECSA_DEMO_2010] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. ByADL: an MDE framework for building extensible architecture ByADL: description languages In 4th European Conference on Software Architecture (ECSA 2010), languages. August 2010 [ICSE_2010] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Developing next generation adls through mde techniques. In 32nd techniques International Conference on Software Engineering (ICSE 2010), May 2010 [ICSE_SRC_2010] Ivano Malavolta. Providing support for creating next generation software architecture languages In ACM Student Reseach Competition, Poster session at languages. ICSE 2010, 2010
    • Evaluation – Case Studies1. SBSCS: SBSCS Subscription-based Sensor Collection Service2. System: Health Watcher System interactive, web-based health information system3. FCS: FCS Flight Control System4. IECS-MS: IECS-MS Integrated Environment for Communication on Ship (Management System)5. ACC: ACC Adaptive Cruise Controller
    • Evaluation - BusOnAirhttp://www.busonair.euViewpoints:Viewpoints system, behaviour, web servicesConcerns:Concerns modularity, distribution, REST, concurrency, dependabilityStakeholders:Stakeholders architect, developer, system engineer, end-usersADLs:ADLs DiaSpec (extended), UML, FSP, REST
    • Evaluation - BusOnAir
    • Evaluation - BusOnAir System view WebServices view DiaSpec DiaSpec RESTLANG Comp Behaviour view UMLCC FSP
    • Recall MEGAF: MEGAF a model-driven infrastructure for building reusable and extensible architecture frameworks DUALLy: DUALLy an automated approach for ADLs interoperability byADL: byADL: an approach to adapt and customize existing ADLs
    • Schedule for Future WorkGUI refinementUsability improvementMEGAF and DUALLy as collaborative tools – model transformation as-a-serviceMEGAF as an architectural Design Decisions management toolbyADL as an engine to add/remove styles to/from ADLs add/
    • ConclusionsProposal.Proposal. An MDE approach for SA modeling by• reuse• composition• customizationThe approach is extensible, and totally generic it will serve as a starting point for many other research approaches on SAUsability is under study
    • Publications (i):: 2012 :: [TSE_2012] [TSE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Extending 2012 and Customizing existing Architecture Description Languages through MDE techniques To be submitted to IEEE techniques. Transactions on Software Engineering. [SURVEY_2012] [SURVEY_2012] Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, and Antony Tang. Architectural 2012 Languages: Languages: Accomplishments and Needs -- An Industrial Survey To be submitted to Transactions of ACM Survey. Computing Survey, 2012 [SESENA_2012] [SESENA_2012] Krishna Doddapaneni, Enver Ever, Orhan Gemikonakli, Ivano Malavoltay, Leonardo Mostarda, and Henry 2012 Muccini. A Model-Driven Engineering Framework for Architecting and Analysing Wireless Sensor Networks Model - Networks. Submitted for Publication in 34th International Conference on Software Engineering (ICSE 2012) [JOT_2012] [JOT_2012] Ludovico Iovino, Ivano Malavolta, and Alfonso Pierantonio. On the impact significance of metamodel 2012 evolution in MDE Submitted for Pubblication to International Journal of Object Technology, March 2012 [UKSIM_2012] Krishna Doddapaneni, Enver Ever, Orhan Gemikonakli, Ivano Malavoltay, Leonardo Mostarda, and Henry [UKSIM_2012] 2012 Muccini. Path loss effect on energy consumption in a wsn In UKSim - 14th International Conference on Computer wsn. Modelling and Simulation (to appear), 2012
    • Publications (ii) [FASE_2012] [FASE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso 2012 Pierantonio. Model- driven techniques to enhance architectural languages interoperability In Proceedings of Model- interoperability. the 15th International Conference on Fundamental Approaches to Software Engineering, FASE. To appear, March 2012:: 2011 :: [ESEC_FSE_2011] [ESEC_FSE_2011] Paul Clements, Marìa J. Escalona, Paola Inverardi, Ivano Malavolta, and Eda 2011 Marchetti. Exploiting Software Architecture to support Requirements Satisfaction Testing In Proceedings Testing. of the the 8th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ESEC/FSE. ACM, September 2011. [SERENE_2011] [SERENE_2011] Ivano Malavolta, Henry Muccini, and V. Smrithi Rekha. Supporting Architectural Design 2011 Decisions Evolution through Model Driven Engineering In Proceedings of the 3rd International workshop on Engineering. Software Engineering for Resilient Systems (SERENE 2011). ACM Digital Library, September 2011. [INFQ_2011] [INFQ_2011] Fabio Calvarese, Ivano Malavolta, and Antinisca Di Marco. Towards a graphical representation 2011 for the Æmilia Architecture Description Language. In 2nd Quantitative Information Workshop (infQ), 2011. Language:: 2010 :: [ECSA_DS_2010] Ivano Malavolta. A model-driven approach for managing software architectures with [ECSA_DS_2010] 2010 model- multiple evolving concerns In ECSA 2010 (Doctoral Symposium), 4th European Conference on Software concerns. Architecture, August 2010.
    • Publications (iii)[SOSYM_2010][SOSYM_2010] Romina Eramo, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. A 2010model- languages.model- driven approach to automate the propagation of changes among architecture description languagesSoftware and Systems Modeling, (to appear), 2010. special theme on Model-Based Interoperability.[ECSA_DEMO_2010][ECSA_DEMO_2010] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso 2010Pierantonio. ByAdl: an MDE framework for building extensible architecture description languages In 4th ByAdl: languages.European Conference on Software Architecture (ECSA 2010), August 2010.[ICSE_2010][ICSE_2010] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso 2010Pierantonio. Developing next generation adls through mde techniques In 32nd International Conference on techniques.Software Engineering (ICSE 2010), May 2010.[TSE_2010][TSE_2010] Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Damien Tamburri. Providing architectural 2010languages and tools interoperability through model transformation technologies IEEE Transactions on technologies.Software Engineering, 36(1), 119-140, January 2010.[ICSE_SRC_2010][ICSE_SRC_2010] Ivano Malavolta. Providing support for creating next generation software architecture 2010languages.languages In ACM Student Reseach Competition, Poster session at ICSE 2010, 2010.[ASE_2010][ASE_2010] Rich Hilliard, Henry Muccini, Ivano Malavolta, and Patrizio Pelliccione. Realizing architecture 2010frameworks through megamodelling techniques In 25th IEEE/ACM International Conference on Automated techniques.Software Engineering (ASE 2010), 2010
    • Publications (iv):: 2009 :: [CBSE_2009] Ivica Crnkovic, Ivano Malavolta, and Henry Muccini. A model- driven engineering framework model- for component models interoperability In 12th International Symposium on Component-Based Software interoperability. Engineering (CBSE 2009), pages 36-53, Berlin, Heidelberg, June 2009. Springer-Verlag. [UML_AADL_2009] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. Integrating AADL within a multidomain modeling framework In IEEE International Conference on Engineering of Complex Computer framework. Systems, volume 0, pages 341-346, Los Alamitos, CA, USA, 2009. IEEE Computer Society.:: 2008 :: [ASE_DEMO_2008] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. DUALLy: a framework for DUALLy: architectural languages and tools interoperability In 23rd IEEE/ACM International Conference on interoperability. Automated Software Engineering (ASE2008). IEEE Computer Science Press, 15-19 September 2008. [EclipseIT_2008] Ivano Malavolta. DUALLy: un framework per linteroperabilita tra linguaggi e tool DUALLy: linteroperabilita architetturali. architetturali In Student Track Demo of the Third Italian Workshop on Eclipse Technologies, Eclipse-IT. CEUR, November 2008.
    • Other Activities collaborations:International collaborations :(periods of study abroad)Teaching:Teaching - lecturer Mobile Applications Development 2012 - lect. Advanced Software Engineering 2011 - lect. Analysis and Testing of CB Systems 2011 - lect. Advanced Software Engineering 2009 + 9 supervised theses activity:(Sub) Reviewer activity: CBSE 2009, ICSOFT 2009, ICST 2009, WICSA 2009, SAC 2010, ICST 2010, ASE 2010, CBSE 2010, FSE 2010, ICSOFT 2010, MDI 2010, SERENE 2010, SHARK 2010, SoSyM 2010, ECSA 2010, ESEC/FSE 2011, JSS 2011, QSIC 2011, SEIP 2011, STVR 2011, ICST 2012, JSS 2012, AST 2012
    • Side ProjectsBusiness Ideas 1° prize BPC Competition with BusOnAir (http://www.busonair.eu)Data visualization Selected for participation to the EUHackathon 2011 in Bruxelles (sponsors: Google, Skype) http://iivanoo.kodingen.comGIS software development & PM 10 months collaboration with TelespazioMobile Apps development (iPhone, iPad) iPhone, iPad)
    • QUESTIONS ?