Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Architecture by Reuse, Composition and Customization

Software Architecture by Reuse, Composition and Customization

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

Ivano Malavolta

March 20, 2012
Tweet

More Decks by Ivano Malavolta

Other Decks in Research

Transcript

  1. Software Engineering Software Engineering Software Engineering Software Engineering and Architecture

    Architecture Architecture Architecture Group Software Architecture Software Architecture by Reuse, Composition and Customization Ivano Malavolta March 2012 http://www.di.univaq.it/malavolta
  2. Research Area (i) Software Software Software Software Architecture Architecture Architecture

    Architecture A set of design decisions taken to generate the architecture artifact
  3. Research Area (ii) Components Components Components Components and connectors Distribution

    Distribution Distribution Distribution and configuration Distribution Distribution Distribution Distribution and configuration Expected Behaviour Behaviour Behaviour Behaviour Patterns, styles styles styles styles http://www.busonair.eu HW/SW Deployment Deployment Deployment Deployment Extra Extra Extra Extra- - - -functional functional functional functional properties properties properties properties scalability, performance, testability, security http://www.busonair.eu
  4. Research Area (iii) Focus on views and viewpoints views and

    viewpoints views and viewpoints views and viewpoints looking at stakeholders and their concerns looking at stakeholders and their concerns
  5. SA Conceptual Model (i) Picture from Picture from Picture from

    Picture from International Standard for Systems and Software Engineering – Architectural Description (ISO/IEC 42010). Stakeholders Stakeholders Stakeholders Stakeholders Concerns Concerns Concerns Concerns Stakeholders Stakeholders Stakeholders Stakeholders Developer Architect End-user Tester Project manager Concerns Concerns Concerns Concerns functionality, feasibility, usage, structure, behavior, performance, resource utilization, security, cost, data accessibility, privacy, compliance to regulation, business goals and strategies
  6. SA Conceptual Model (ii) Picture from Picture from Picture from

    Picture from International Standard for Systems and Software Engineering – Architectural Description (ISO/IEC 42010). Architecture Framework 4+1 views MODAF TOGAF …
  7. Motivation of this Work (i) Stakeholders concerns can vary tremendously

    tremendously tremendously tremendously [SURVEY_2012] [SURVEY_2012] [SURVEY_2012] [SURVEY_2012] nature of the system project-specific constraints organizational constraints domain of the system … …
  8. Motivation of this Work (ii) The quality quality quality quality

    of an SA depends on how stakeholder stakeholder stakeholder stakeholder concerns concerns concerns concerns are supported concerns concerns concerns concerns are supported this issue depends on: the used architectural languages (ADL) the architecture framework
  9. Motivation of this Work (iii) in industry architects try to

    solve this issue by: 1. Using multiple views 1. Using multiple views 2. Extending the used ADLs * This data comes from a survey I worked on about the usage of ADLs in industry [SURVEY_2012] [SURVEY_2012] [SURVEY_2012] [SURVEY_2012]
  10. 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 – 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 Just Enough Software Architecture Just Enough Software Architecture Just Enough Software Architecture, George Fairbanks, 2010
  11. Goal … to support the definition of Architecture frameworks with

    a special consideration for views consistency and with a special consideration for views consistency and architecture description languages extensibility Intuition: Intuition: Intuition: Intuition: • try to get architecture frameworks and ADLs closer to system stakeholders concerns stakeholders concerns • make architecture frameworks and ADLs adaptable and extensible • keep consistent the set of views of the system
  12. Solution Stakeholders Architecture Frameworks System Concerns Architectural Languages Architectural Languages

    Architectural Languages Architectural Languages Architectural Assets Repository Viewpoints Correspondences Architecture Framework Architecture Description B Architecture Description C Architecture Description A Framework
  13. Solution MEGAF MEGAF MEGAF MEGAF: a model-driven infrastructure for building

    reusable and extensible architecture frameworks architecture frameworks architecture frameworks architecture frameworks and extensible architecture frameworks architecture frameworks architecture frameworks architecture frameworks DUALLy DUALLy DUALLy DUALLy: an automated approach for ADLs interoperability byADL byADL byADL byADL: : : : an approach to adapt and customize existing ADLs
  14. Tangible Benefits Software architects may 1. define new frameworks by

    composing views, viewpoints, ADLs and correspondences among them 2. define new ADLs by extending and customizing existing ones 3. model the system in an environment in which ADLs interoperate and models conforming to different ADLs are automatically kept consistent
  15. MDE and Software Architecture of Jean bezivin * picture curtesy

    of Jean SA model By applying the MDE principle saying that “models are precise artifacts that can be understood by computers and can be automatically manipulated” this work focusses on automation and reuse. modelx
  16. architecture frameworks are closed an infrastructure for building reusable Solution

    - MEGAF PROBLEM SOLUTION an infrastructure for building reusable and extensible architecture frameworks Main drivers: reuse among architecture frameworks homogeneous representation of SA elements SOLUTION Main drivers: Intuition: ISO/IEC 42010 concepts as a MEGAMODEL MEGAMODEL MEGAMODEL MEGAMODEL homogeneous representation of SA elements automate consistency and completeness checks
  17. Viewpoints Stakeholders Architecture Models VP1 VP2 VPn … St1 St2

    Stm … V1 V2 Vo … MK MK … AM1 AM2 AMh … governs conforms to MK Model Kinds System Concerns Correspondence Rules Views Correspondence SC1 SC2 SCk … CR1 CR2 CRi … V1 V2 Vo … MK1 MK2 … C1 C2 Ce … frames MKr holds SCk … C1 Architectural Framework 1 Architectural Framework 2 Architectural Description 1 created within System Concerns Architectural Languages ADL1 ADL2 … implements Custom ADL1 Custom ADL2 ADLj Custom ADLj Framework 1 Description 1
  18. Publications on MEGAF International Conferences International Conferences International Conferences International

    Conferences [ASE_2010] [ASE_2010] [ASE_2010] [ASE_2010] Rich Hilliard, Henry Muccini, Ivano Malavolta, and Patrizio [ASE_2010] [ASE_2010] [ASE_2010] [ASE_2010] Rich Hilliard, Henry Muccini, Ivano Malavolta, and Patrizio Pelliccione. Realizing architecture frameworks through Realizing architecture frameworks through Realizing architecture frameworks through Realizing architecture frameworks through megamodelling megamodelling megamodelling megamodelling techniques techniques techniques techniques. In 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), 2010
  19. Solution - DUALLy views consistency architectural languages interoperability PROBLEM SOLUTION

    architectural languages interoperability Automated model transformation techniques SOLUTION proactive proactive proactive proactive consistency consistency consistency consistency it is not consistency checking only
  20. Solution - DUALLy Architects link an ADL to A 0

    via a weaving model wm1 wm2 wm1 ADL1 metamodel A0 metamodel ADL1 model A0 model Conforms to Conforms to weaving links generation ADL2 metamodel ADL2 model Conforms to wm2 generation weaving links weaving links model model model ADL1_2_A0 A0_2_ADL1 ADL2_2_A0 A0_2_ADL2 Supported MT languages: ATL [TSE_2012] [TSE_2012] [TSE_2012] [TSE_2012] [SOSYM_2010] [SOSYM_2010] [SOSYM_2010] [SOSYM_2010] Transformations are automatically generated
  21. Solution - DUALLy A 0 metamodel hierarchy of pivot metamodels[

    [ [ [FASE_2012] FASE_2012] FASE_2012] FASE_2012] ADL1 ADL2 A 0 hierarchy A 0 A 1 A 2 A A 4 A 5 e 1 e 2 e 3 e 4 e 5 e 6 e 7 A 3 A 4 A 5 The path through the hierarchy is automatically computed
  22. Publications on DUALLy International Journals International Journals International Journals International

    Journals [SOSYM_2010] [SOSYM_2010] [SOSYM_2010] [SOSYM_2010] Romina Eramo, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. A model A model A model A model- - - -driven driven driven driven approach to automate the propagation of changes among architecture description languages approach to automate the propagation of changes among architecture description languages approach to automate the propagation of changes among architecture description languages approach to automate the propagation of changes among architecture description languages. Software and Systems Modeling, (to appear), 2010. special theme on Model-Based Interoperability. [TSE_2010] [TSE_2010] [TSE_2010] [TSE_2010] Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Damien Tamburri. Providing architectural languages and Providing architectural languages and Providing architectural languages and Providing architectural languages and [TSE_2010] [TSE_2010] [TSE_2010] [TSE_2010] Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Damien Tamburri. Providing architectural languages and Providing architectural languages and Providing architectural languages and Providing architectural languages and tools interoperability through model transformation technologies tools interoperability through model transformation technologies tools interoperability through model transformation technologies tools interoperability through model transformation technologies. IEEE Transactions on Software Engineering, 36(1), 119-140, January 2010. International Conferences and Workshops International Conferences and Workshops International Conferences and Workshops International Conferences and Workshops [FASE_2012] [FASE_2012] [FASE_2012] [FASE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Model Model Model Model- - - -driven driven driven driven techniques to enhance architectural languages interoperability techniques to enhance architectural languages interoperability techniques to enhance architectural languages interoperability techniques to enhance architectural languages interoperability. In Proceedings of the 15th International Conference on Fundamental Approaches to Software Engineering, FASE. To appear, March 2012. [ECSA_DS_2010] [ECSA_DS_2010] [ECSA_DS_2010] [ECSA_DS_2010] Ivano Malavolta. A model A model A model A model- - - -driven approach for managing software architectures with multiple evolving driven approach for managing software architectures with multiple evolving driven approach for managing software architectures with multiple evolving driven approach for managing software architectures with multiple evolving concerns concerns concerns concerns. In ECSA 2010 (Doctoral Symposium), 4th European Conference on Software Architecture, August 2010. [CBSE_2009] [CBSE_2009] [CBSE_2009] [CBSE_2009] Ivica Crnkovic, Ivano Malavolta, and Henry Muccini. A model A model A model A model- - - -driven engineering framework for component models driven engineering framework for component models driven engineering framework for component models driven engineering framework for component models [CBSE_2009] [CBSE_2009] [CBSE_2009] [CBSE_2009] Ivica Crnkovic, Ivano Malavolta, and Henry Muccini. A model A model A model A model- - - -driven engineering framework for component models driven engineering framework for component models driven engineering framework for component models driven engineering framework for component models interoperability interoperability 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] [UML_AADL_2009] [UML_AADL_2009] [UML_AADL_2009] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. Integrating AADL within a Integrating AADL within a Integrating AADL within a Integrating AADL within a multidomain multidomain multidomain multidomain modeling modeling modeling modeling framework framework 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] [ASE_DEMO_2008] [ASE_DEMO_2008] [ASE_DEMO_2008] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. DUALLy DUALLy DUALLy DUALLy: a framework for architectural languages : a framework for architectural languages : a framework for architectural languages : a framework for architectural languages and tools interoperability and tools interoperability and tools interoperability and tools interoperability. In 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE2008). IEEE Computer Science Press, 15-19 September 2008.
  23. Solution - byADL current ADLs mostly fail to capture multiple

    (and varying) stakeholders concerns PROBLEM extending and customizing existing ADLs w.r.t. to domain- & organization- specific concerns SOLUTION
  24. Solution - byADL MM ADLx MM ext An architect can

    extend ADLx to better fit his concerns composition model transformations concerns Extensions are ADL- independent and live in MEGAF it enables reuse MM comp semantic links migrators concrete syntaxes it enables reuse
  25. byADL – Abstract Syntax Composition operators: • Match Automatic transformation

    • Match • Inherit • Reference • Expand transformation
  26. byADL – Concrete Syntaxes 3 generic mechanisms to generate editors

    for the composed metamodel different usability and effort to customize Textual Grafical editors for the composed metamodel Tree-based Textual
  27. Publications on byADL International Journals International Journals International Journals International

    Journals [TSE_2012] [TSE_2012] [TSE_2012] [TSE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and [TSE_2012] [TSE_2012] [TSE_2012] [TSE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Extending and Customizing existing Architecture Description Extending and Customizing existing Architecture Description Extending and Customizing existing Architecture Description Extending and Customizing existing Architecture Description Languages through MDE techniques Languages through MDE techniques Languages through MDE techniques Languages through MDE techniques. To be submitted to IEEE Transactions on Software Engineering International Conferences International Conferences International Conferences International Conferences [ECSA_DEMO_2010] [ECSA_DEMO_2010] [ECSA_DEMO_2010] [ECSA_DEMO_2010] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. ByADL ByADL ByADL ByADL: an MDE framework for building extensible architecture : an MDE framework for building extensible architecture : an MDE framework for building extensible architecture : an MDE framework for building extensible architecture description languages description languages description languages description languages. In 4th European Conference on Software Architecture (ECSA 2010), August 2010 August 2010 [ICSE_2010] [ICSE_2010] [ICSE_2010] [ICSE_2010] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Developing next generation Developing next generation Developing next generation Developing next generation adls adls adls adls through through through through mde mde mde mde techniques techniques techniques techniques. In 32nd International Conference on Software Engineering (ICSE 2010), May 2010 [ICSE_SRC_2010] [ICSE_SRC_2010] [ICSE_SRC_2010] [ICSE_SRC_2010] Ivano Malavolta. Providing support for creating next generation Providing support for creating next generation Providing support for creating next generation Providing support for creating next generation software architecture languages software architecture languages software architecture languages software architecture languages. In ACM Student Reseach Competition, Poster session at ICSE 2010, 2010
  28. Evaluation – Case Studies 1. 1. 1. 1. SBSCS SBSCS

    SBSCS SBSCS: Subscription-based Sensor Collection Service 2. 2. 2. 2. Health Health Health Health Watcher Watcher Watcher Watcher System System System System: interactive, web-based health information system 3. 3. 3. 3. FCS FCS FCS FCS: Flight Control System 4. 4. 4. 4. IECS IECS IECS IECS- - - -MS MS MS MS: Integrated Environment for Communication on Ship (Management System) 5. 5. 5. 5. ACC ACC ACC ACC: Adaptive Cruise Controller
  29. Evaluation - BusOnAir http://www.busonair.eu Viewpoints Viewpoints Viewpoints Viewpoints: system, behaviour,

    web services Concerns Concerns Concerns Concerns: modularity, distribution, REST, concurrency, dependability Stakeholders Stakeholders Stakeholders Stakeholders: architect, developer, system engineer, end-users ADLs ADLs ADLs ADLs: DiaSpec (extended), UML, FSP, REST
  30. Recall MEGAF MEGAF MEGAF MEGAF: a model-driven infrastructure for building

    reusable and extensible architecture frameworks architecture frameworks architecture frameworks architecture frameworks and extensible architecture frameworks architecture frameworks architecture frameworks architecture frameworks DUALLy DUALLy DUALLy DUALLy: an automated approach for ADLs interoperability byADL byADL byADL byADL: : : : an approach to adapt and customize existing ADLs
  31. Schedule for Future Work GUI GUI GUI GUI refinement Usability

    Usability Usability Usability improvement MEGAF and DUALLy as collaborative tools collaborative tools collaborative tools collaborative tools – model transformation as-a-service MEGAF as an architectural Design Decisions Design Decisions Design Decisions Design Decisions management tool byADL as an engine to add add add add/ / / /remove remove remove remove styles styles styles styles to/from ADLs
  32. Conclusions Proposal Proposal Proposal Proposal. .. . An MDE approach

    for SA modeling by • reuse • reuse • composition • customization The approach is extensible, and totally generic it will serve as a starting point for many other it will serve as a starting point for many other research approaches on SA Usability Usability Usability Usability is under study
  33. Publications (i) :: :: :: :: 2012 2012 2012 2012

    :: :: :: :: [TSE_ [TSE_ [TSE_ [TSE_2012 2012 2012 2012] ] ] ] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Extending Extending Extending Extending and and and and Customizing Customizing Customizing Customizing existing existing existing existing Architecture Architecture Architecture Architecture Description Description Description Description Languages Languages Languages Languages through through through through MDE MDE MDE MDE techniques techniques techniques techniques. To be submitted to IEEE and and and and Customizing Customizing Customizing Customizing existing existing existing existing Architecture Architecture Architecture Architecture Description Description Description Description Languages Languages Languages Languages through through through through MDE MDE MDE MDE techniques techniques techniques techniques. To be submitted to IEEE Transactions on Software Engineering. [SURVEY_ [SURVEY_ [SURVEY_ [SURVEY_2012 2012 2012 2012] ] ] ] Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, and Antony Tang. Architectural Architectural Architectural Architectural Languages Languages Languages Languages: :: : Accomplishments Accomplishments Accomplishments Accomplishments and and and and Needs Needs Needs Needs -- -- -- -- An An An An Industrial Industrial Industrial Industrial Survey Survey Survey Survey. To be submitted to Transactions of ACM Computing Survey, 2012 [SESENA_ [SESENA_ [SESENA_ [SESENA_2012 2012 2012 2012] ] ] ] Krishna Doddapaneni, Enver Ever, Orhan Gemikonakli, Ivano Malavoltay, Leonardo Mostarda, and Henry Muccini. A A A A Model Model Model Model- - - -Driven Driven Driven Driven Engineering Engineering Engineering Engineering Framework Framework Framework Framework for for for for Architecting Architecting Architecting Architecting and and and and Analysing Analysing Analysing Analysing Wireless Wireless Wireless Wireless Sensor Sensor Sensor Sensor Networks Networks Networks Networks. Submitted for Publication in 34th International Conference on Software Engineering (ICSE 2012) [JOT_ [JOT_ [JOT_ [JOT_2012 2012 2012 2012] ] ] ] Ludovico Iovino, Ivano Malavolta, and Alfonso Pierantonio. On On On On the the the the impact impact impact impact significance significance significance significance of of of of metamodel metamodel metamodel metamodel evolution evolution evolution evolution in in in in MDE MDE MDE MDE Submitted for Pubblication to International Journal of Object Technology, March 2012 [UKSIM_ [UKSIM_ [UKSIM_ [UKSIM_2012 2012 2012 2012] ] ] ] Krishna Doddapaneni, Enver Ever, Orhan Gemikonakli, Ivano Malavoltay, Leonardo Mostarda, and Henry Muccini. Path Path Path Path loss loss loss loss effect effect effect effect on on on on energy energy energy energy consumption consumption consumption consumption in in in in a a a a wsn wsn wsn wsn. In UKSim - 14th International Conference on Computer Modelling and Simulation (to appear), 2012
  34. Publications (ii) [FASE_ [FASE_ [FASE_ [FASE_2012 2012 2012 2012] ]

    ] ] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Model Model Model Model- - - -driven driven driven driven techniques techniques techniques techniques to to to to enhance enhance enhance enhance architectural architectural architectural architectural languages languages languages languages interoperability interoperability interoperability interoperability. In Proceedings of the 15th International Conference on Fundamental Approaches to Software Engineering, FASE. To appear, March 2012 2012 :: 2011 :: :: 2011 :: :: 2011 :: :: 2011 :: [ESEC_FSE_ [ESEC_FSE_ [ESEC_FSE_ [ESEC_FSE_2011 2011 2011 2011] ] ] ] Paul Clements, Marìa J. Escalona, Paola Inverardi, Ivano Malavolta, and Eda Marchetti. Exploiting Exploiting Exploiting Exploiting Software Software Software Software Architecture Architecture Architecture Architecture to to to to support support support support Requirements Requirements Requirements Requirements Satisfaction Satisfaction Satisfaction Satisfaction Testing Testing Testing Testing. In Proceedings 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_ [SERENE_ [SERENE_ [SERENE_2011 2011 2011 2011] ] ] ] Ivano Malavolta, Henry Muccini, and V. Smrithi Rekha. Supporting Supporting Supporting Supporting Architectural Architectural Architectural Architectural Design Design Design Design Decisions Decisions Decisions Decisions Evolution Evolution Evolution Evolution through through through through Model Model Model Model Driven Driven Driven Driven Engineering Engineering Engineering Engineering. In Proceedings of the 3rd International workshop on Software Engineering for Resilient Systems (SERENE 2011). ACM Digital Library, September 2011. [INFQ_ [INFQ_ [INFQ_ [INFQ_2011 2011 2011 2011] ] ] ] Fabio Calvarese, Ivano Malavolta, and Antinisca Di Marco. Towards Towards Towards Towards a a a a graphical graphical graphical graphical representation representation representation representation for for for for the the the the Æmilia Æmilia Æmilia Æmilia Architecture Architecture Architecture Architecture Description Description Description Description Language Language Language Language. In 2nd Quantitative Information Workshop (infQ), 2011. :: 2010 :: :: 2010 :: :: 2010 :: :: 2010 :: [ECSA_DS_ [ECSA_DS_ [ECSA_DS_ [ECSA_DS_2010 2010 2010 2010] ] ] ] Ivano Malavolta. A A A A model model model model- - - -driven driven driven driven approach approach approach approach for for for for managing managing managing managing software software software software architectures architectures architectures architectures with with with with multiple multiple multiple multiple evolving evolving evolving evolving concerns concerns concerns concerns. In ECSA 2010 (Doctoral Symposium), 4th European Conference on Software Architecture, August 2010.
  35. Publications (iii) [SOSYM_ [SOSYM_ [SOSYM_ [SOSYM_2010 2010 2010 2010] ]

    ] ] Romina Eramo, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. A A A A model model model model- - - -driven driven driven driven approach approach approach approach to to to to automate automate automate automate the the the the propagation propagation propagation propagation of of of of changes changes changes changes among among among among architecture architecture architecture architecture description description description description languages languages languages languages. Software and Systems Modeling, (to appear), 2010. special theme on Model-Based Interoperability. [ECSA_DEMO_ [ECSA_DEMO_ [ECSA_DEMO_ [ECSA_DEMO_2010 2010 2010 2010] ] ] ] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. ByAdl ByAdl ByAdl ByAdl: :: : an an an an MDE MDE MDE MDE framework framework framework framework for for for for building building building building extensible extensible extensible extensible architecture architecture architecture architecture description description description description languages languages languages languages. In 4th European Conference on Software Architecture (ECSA 2010), August 2010. [ICSE_ [ICSE_ [ICSE_ [ICSE_2010 2010 2010 2010] ] ] ] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. Developing Developing Developing Developing next next next next generation generation generation generation adls adls adls adls through through through through mde mde mde mde techniques techniques techniques techniques. In 32nd International Conference on Software Engineering (ICSE 2010), May 2010. [TSE_ [TSE_ [TSE_ [TSE_2010 2010 2010 2010] ] ] ] Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Damien Tamburri. Providing Providing Providing Providing architectural architectural architectural architectural languages languages languages languages and and and and tools tools tools tools interoperability interoperability interoperability interoperability through through through through model model model model transformation transformation transformation transformation technologies technologies technologies technologies. IEEE Transactions on Software Engineering, 36(1), 119-140, January 2010. Software Engineering, 36(1), 119-140, January 2010. [ICSE_SRC_ [ICSE_SRC_ [ICSE_SRC_ [ICSE_SRC_2010 2010 2010 2010] ] ] ] Ivano Malavolta. Providing Providing Providing Providing support support support support for for for for creating creating creating creating next next next next generation generation generation generation software software software software architecture architecture architecture architecture languages languages languages languages. In ACM Student Reseach Competition, Poster session at ICSE 2010, 2010. [ASE_ [ASE_ [ASE_ [ASE_2010 2010 2010 2010] ] ] ] Rich Hilliard, Henry Muccini, Ivano Malavolta, and Patrizio Pelliccione. Realizing Realizing Realizing Realizing architecture architecture architecture architecture frameworks frameworks frameworks frameworks through through through through megamodelling megamodelling megamodelling megamodelling techniques techniques techniques techniques. In 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), 2010
  36. Publications (iv) :: 2009 :: :: 2009 :: :: 2009

    :: :: 2009 :: [CBSE_2009] [CBSE_2009] [CBSE_2009] [CBSE_2009] Ivica Crnkovic, Ivano Malavolta, and Henry Muccini. A model A model A model A model- - - -driven engineering framework driven engineering framework driven engineering framework driven engineering framework for component models interoperability for component models interoperability for component models interoperability for component models interoperability. In 12th International Symposium on Component-Based Software Engineering (CBSE 2009), pages 36-53, Berlin, Heidelberg, June 2009. Springer-Verlag. [UML_AADL_2009] [UML_AADL_2009] [UML_AADL_2009] [UML_AADL_2009] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. Integrating AADL within a Integrating AADL within a Integrating AADL within a Integrating AADL within a multidomain multidomain multidomain multidomain modeling framework modeling framework modeling framework modeling framework. In IEEE International Conference on Engineering of Complex Computer Systems, volume 0, pages 341-346, Los Alamitos, CA, USA, 2009. IEEE Computer Society. :: 2008 :: :: 2008 :: :: 2008 :: :: 2008 :: [ASE_DEMO_2008] [ASE_DEMO_2008] [ASE_DEMO_2008] [ASE_DEMO_2008] Ivano Malavolta, Henry Muccini, and Patrizio Pelliccione. DUALLy DUALLy DUALLy DUALLy: a framework for : a framework for : a framework for : a framework for architectural languages and tools interoperability architectural languages and tools interoperability architectural languages and tools interoperability architectural languages and tools interoperability. In 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE2008). IEEE Computer Science Press, 15-19 September 2008. [EclipseIT_2008] [EclipseIT_2008] [EclipseIT_2008] [EclipseIT_2008] Ivano Malavolta. DUALLy DUALLy DUALLy DUALLy: un framework per : un framework per : un framework per : un framework per l'interoperabilita l'interoperabilita l'interoperabilita l'interoperabilita' ' ' ' tra tra tra tra linguaggi linguaggi linguaggi linguaggi e tool e tool e tool e tool architetturali architetturali architetturali architetturali. In Student Track Demo of the Third Italian Workshop on Eclipse Technologies, Eclipse-IT. architetturali architetturali architetturali architetturali. In Student Track Demo of the Third Italian Workshop on Eclipse Technologies, Eclipse-IT. CEUR, November 2008.
  37. Other Activities International International International International collaborations collaborations collaborations collaborations:

    :: : (periods of study abroad) (periods of study abroad) Teaching Teaching 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 - lect. Advanced Software Engineering 2009 + 9 supervised theses (Sub) (Sub) (Sub) (Sub) Reviewer Reviewer Reviewer Reviewer activity activity activity 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
  38. Side Projects Business Business Business Business Ideas Ideas Ideas Ideas

    1° prize BPC Competition with BusOnAir (http://www.busonair.eu) 1° prize BPC Competition with BusOnAir (http://www.busonair.eu) Data Data Data Data visualization visualization visualization visualization Selected for participation to the EUHackathon 2011 in Bruxelles (sponsors: Google, Skype) http://iivanoo.kodingen.com http://iivanoo.kodingen.com GIS software GIS software GIS software GIS software development development development development & PM & PM & PM & PM 10 months collaboration with Telespazio Mobile Mobile Mobile Mobile Apps Apps Apps Apps development development development development ( ( ( (iPhone iPhone iPhone iPhone, , , , iPad iPad iPad iPad) ) ) )