44
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

Software Architecture by Reuse, Composition and Customization

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Software Architecture by Reuse, Composition and Customization

Software Engineering Software Engineering Software Engineering Software Engineering and ArchitectureArchitectureArchitectureArchitecture Group

Software ArchitectureSoftware Architectureby Reuse, Compositionand Customization

Ivano Malavolta

March 2012 http://www.di.univaq.it/malavolta

Page 2: Software Architecture by Reuse, Composition and Customization

Outline

Motivation

Research Area

Solution

Goal

Motivation

Other Activities

Conclusions

Schedule for Future Work

Page 3: Software Architecture by Reuse, Composition and Customization

Research Area (i)

Software Software Software Software ArchitectureArchitectureArchitectureArchitectureA set of design decisions taken to generate the architecture artifact

Page 4: Software Architecture by Reuse, Composition and Customization

Research Area (ii)

ComponentsComponentsComponentsComponents and connectors

DistributionDistributionDistributionDistribution and configurationDistributionDistributionDistributionDistribution and configuration

Expected BehaviourBehaviourBehaviourBehaviour

Patterns, stylesstylesstylesstyles

http://www.busonair.eu

HW/SW DeploymentDeploymentDeploymentDeployment

ExtraExtraExtraExtra----functionalfunctionalfunctionalfunctional propertiespropertiespropertiespropertiesscalability, performance, testability, security

http://www.busonair.eu

Page 5: Software Architecture by Reuse, Composition and Customization

Research Area (iii)

Focus on views and viewpointsviews and viewpointsviews and viewpointsviews and viewpointslooking at stakeholders and their concernslooking at stakeholders and their concerns

Page 6: Software Architecture by Reuse, Composition and Customization

SA Conceptual Model (i)Picture fromPicture fromPicture fromPicture from International Standard for Systems and Software Engineering – ArchitecturalDescription (ISO/IEC 42010).

StakeholdersStakeholdersStakeholdersStakeholders

ConcernsConcernsConcernsConcerns

StakeholdersStakeholdersStakeholdersStakeholdersDeveloperArchitectEnd-userTester

Project manager

ConcernsConcernsConcernsConcernsfunctionality, feasibility, usage, structure, behavior, performance, resource utilization, security, cost,

data accessibility, privacy, compliance to regulation, business

goals and strategies

Page 7: Software Architecture by Reuse, Composition and Customization

SA Conceptual Model (ii)

Picture fromPicture fromPicture fromPicture from International Standard for Systems and Software Engineering – ArchitecturalDescription (ISO/IEC 42010).

Architecture Framework

4+1 viewsMODAFTOGAF…

Page 8: Software Architecture by Reuse, Composition and Customization

Motivation of this Work (i)

Stakeholders concerns can vary tremendouslytremendouslytremendouslytremendously[SURVEY_2012][SURVEY_2012][SURVEY_2012][SURVEY_2012]

nature of the system

project-specific constraints

organizational constraints

domain of the system

……

Page 9: Software Architecture by Reuse, Composition and Customization

Motivation of this Work (ii)

The qualityqualityqualityquality of an SA depends on how stakeholderstakeholderstakeholderstakeholderconcernsconcernsconcernsconcerns are supportedconcernsconcernsconcernsconcerns are supported

� this issue depends on:

the used architectural languages (ADL)

the architecture framework

Page 10: Software Architecture by Reuse, Composition and Customization

Motivation of this Work (iii)

in industry architects try to solve this issue by:

1. Using multiple views1. 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][SURVEY_2012][SURVEY_2012][SURVEY_2012]

Page 11: Software Architecture by Reuse, Composition and Customization

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 ArchitectureJust Enough Software ArchitectureJust Enough Software ArchitectureJust Enough Software Architecture, George Fairbanks, 2010

Page 12: Software Architecture by Reuse, Composition and Customization

Goal

… to support the definition of Architecture frameworkswith 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 concernsstakeholders concerns

• make architecture frameworks and ADLs adaptable and extensible

• keep consistent the set of views of the system

Page 13: Software Architecture by Reuse, Composition and Customization

Solution

Stakeholders

Architecture FrameworksSystem Concerns Architectural LanguagesArchitectural LanguagesArchitectural LanguagesArchitectural Languages

Architectural AssetsRepository

Viewpoints

Correspondences

ArchitectureFramework

ArchitectureDescription

B

ArchitectureDescription

C

ArchitectureDescription

A

Framework

Page 14: Software Architecture by Reuse, Composition and Customization

Solution

MEGAFMEGAFMEGAFMEGAF: a model-driven infrastructure for building reusable and extensible architecture frameworksarchitecture frameworksarchitecture frameworksarchitecture frameworksand extensible architecture frameworksarchitecture frameworksarchitecture frameworksarchitecture frameworks

DUALLyDUALLyDUALLyDUALLy: an automated approach for ADLs interoperability

byADLbyADLbyADLbyADL: : : : an approach to adapt and customize existing ADLs

Page 15: Software Architecture by Reuse, Composition and Customization

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

Page 16: Software Architecture by Reuse, Composition and Customization

MDE and Software Architectureof Jean bezivin

* picture curtesyof Jean

SA

modelBy 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

Page 17: Software Architecture by Reuse, Composition and Customization

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 MEGAMODELMEGAMODELMEGAMODELMEGAMODEL

homogeneous representation of SA elements

automate consistency and completeness checks

Page 18: Software Architecture by Reuse, Composition and Customization

Viewpoints Stakeholders Architecture Models

VP1 VP2 VPn… St1 St2 Stm…

V1 V2 Vo…MK MK …

AM1 AM2 AMh…

governsconforms 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 CustomADL1

CustomADL2ADLj

CustomADLj

Framework 1 Description 1

Page 19: Software Architecture by Reuse, Composition and Customization

Publications on MEGAF

International ConferencesInternational ConferencesInternational ConferencesInternational 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 PatrizioPelliccione. Realizing architecture frameworks through Realizing architecture frameworks through Realizing architecture frameworks through Realizing architecture frameworks through megamodellingmegamodellingmegamodellingmegamodellingtechniquestechniquestechniquestechniques. In 25th IEEE/ACM International Conference on Automated Software Engineering (ASE 2010), 2010

Page 20: Software Architecture by Reuse, Composition and Customization

Solution - DUALLy

views consistency

architectural languages interoperability

PROBLEM

SOLUTION architectural languages interoperability

Automated modeltransformationtechniques

SOLUTION

proactiveproactiveproactiveproactiveconsistencyconsistencyconsistencyconsistency

it is not consistencychecking only

Page 21: Software Architecture by Reuse, Composition and Customization

Solution - DUALLy

Architects link an ADL to A0 via a weaving model

wm1 wm2wm1

ADL1metamodel

A0metamodel

ADL1model

A0model

Conforms to Conforms to

weaving links

generation

ADL2metamodel

ADL2model

Conforms to

wm2

generation

weaving linksweaving links

model model modelADL1_2_A0A0_2_ADL1

ADL2_2_A0A0_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

Page 22: Software Architecture by Reuse, Composition and Customization

Solution - DUALLy

A0 metamodel� hierarchy of pivot metamodels[[[[FASE_2012]FASE_2012]FASE_2012]FASE_2012]

ADL1 ADL2

A0 hierarchy

A0

A1A2

AA4 A5

e1 e2

e3e4

e5e6

e7

A3A4 A5

The path through the hierarchy is automatically computed

Page 23: Software Architecture by Reuse, Composition and Customization

Publications on DUALLyInternational JournalsInternational JournalsInternational JournalsInternational Journals

[SOSYM_2010][SOSYM_2010][SOSYM_2010][SOSYM_2010] Romina Eramo, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. A modelA modelA modelA model----driven driven driven driven approach to automate the propagation of changes among architecture description languagesapproach to automate the propagation of changes among architecture description languagesapproach to automate the propagation of changes among architecture description languagesapproach 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 technologiestools interoperability through model transformation technologiestools interoperability through model transformation technologiestools interoperability through model transformation technologies. IEEE Transactions on Software Engineering, 36(1), 119-140, January 2010.

International Conferences and WorkshopsInternational Conferences and WorkshopsInternational Conferences and WorkshopsInternational Conferences and Workshops[FASE_2012] [FASE_2012] [FASE_2012] [FASE_2012] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. ModelModelModelModel----driven driven driven driven techniques to enhance architectural languages interoperabilitytechniques to enhance architectural languages interoperabilitytechniques to enhance architectural languages interoperabilitytechniques 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 modelA modelA modelA 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 concernsconcernsconcernsconcerns. 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 modelA modelA modelA 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 modelA modelA modelA 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 interoperabilityinteroperabilityinteroperabilityinteroperability. 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 multidomainmultidomainmultidomainmultidomain modeling modeling modeling modeling frameworkframeworkframeworkframework. 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. DUALLyDUALLyDUALLyDUALLy: a framework for architectural languages : a framework for architectural languages : a framework for architectural languages : a framework for architectural languages and tools interoperabilityand tools interoperabilityand tools interoperabilityand tools interoperability. In 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE2008). IEEE Computer Science Press, 15-19 September 2008.

Page 24: Software Architecture by Reuse, Composition and Customization

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

Page 25: Software Architecture by Reuse, Composition and Customization

Solution - byADL

MMADLx MMext

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

MMcomp semantic links

migratorsconcrete syntaxes

� it enables reuse

Page 26: Software Architecture by Reuse, Composition and Customization

byADL – Abstract Syntax

Composition operators:

• Match

Automatictransformation

• Match

• Inherit

• Reference

• Expand

transformation

Page 27: Software Architecture by Reuse, Composition and Customization

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-basedTextual

Page 28: Software Architecture by Reuse, Composition and Customization

byADL - Semantics

automatically generated

A0 semantic domain

Page 29: Software Architecture by Reuse, Composition and Customization

byADL - Migrators

Guarantee compatibility with original notations with original notations and tools

� reuse of analysis tools

Page 30: Software Architecture by Reuse, Composition and Customization

Publications on byADL

International JournalsInternational JournalsInternational JournalsInternational 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 techniquesLanguages through MDE techniquesLanguages through MDE techniquesLanguages through MDE techniques. To be submitted to IEEE Transactions on Software Engineering

International ConferencesInternational ConferencesInternational ConferencesInternational 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. ByADLByADLByADLByADL: 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 languagesdescription languagesdescription languagesdescription languages. In 4th European Conference on Software Architecture (ECSA 2010), August 2010August 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 adlsadlsadlsadls through through through through mdemdemdemde techniquestechniquestechniquestechniques. 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 languagessoftware architecture languagessoftware architecture languagessoftware architecture languages. In ACM Student Reseach Competition, Poster session at ICSE 2010, 2010

Page 31: Software Architecture by Reuse, Composition and Customization

Evaluation – Case Studies

1.1.1.1. SBSCSSBSCSSBSCSSBSCS: Subscription-based Sensor Collection Service

2.2.2.2. HealthHealthHealthHealth WatcherWatcherWatcherWatcher SystemSystemSystemSystem:

interactive, web-based health

information system

3.3.3.3. FCSFCSFCSFCS: Flight Control System

4.4.4.4. IECSIECSIECSIECS----MSMSMSMS: Integrated Environment

for Communication on Ship

(Management System)

5.5.5.5. ACCACCACCACC: Adaptive Cruise Controller

Page 32: Software Architecture by Reuse, Composition and Customization

Evaluation - BusOnAirhttp://www.busonair.eu

ViewpointsViewpointsViewpointsViewpoints: system, behaviour, web services

ConcernsConcernsConcernsConcerns: modularity, distribution, REST, concurrency, dependability

StakeholdersStakeholdersStakeholdersStakeholders: architect, developer, system engineer, end-users

ADLsADLsADLsADLs: DiaSpec (extended), UML, FSP, REST

Page 33: Software Architecture by Reuse, Composition and Customization

Evaluation - BusOnAir

Page 34: Software Architecture by Reuse, Composition and Customization

Evaluation - BusOnAir

System view

DiaSpec

DiaSpecComp

RESTLANG

WebServices view

Behaviour view

UMLCCFSP

Page 35: Software Architecture by Reuse, Composition and Customization

Recall

MEGAFMEGAFMEGAFMEGAF: a model-driven infrastructure for building reusable and extensible architecture frameworksarchitecture frameworksarchitecture frameworksarchitecture frameworksand extensible architecture frameworksarchitecture frameworksarchitecture frameworksarchitecture frameworks

DUALLyDUALLyDUALLyDUALLy: an automated approach for ADLs interoperability

byADLbyADLbyADLbyADL: : : : an approach to adapt and customize existing ADLs

Page 36: Software Architecture by Reuse, Composition and Customization

Schedule for Future Work

GUIGUIGUIGUI refinement

UsabilityUsabilityUsabilityUsability improvement

MEGAF and DUALLy as collaborative toolscollaborative toolscollaborative toolscollaborative 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 addaddaddadd////removeremoveremoveremove stylesstylesstylesstyles to/from ADLs

Page 37: Software Architecture by Reuse, Composition and Customization

Conclusions

ProposalProposalProposalProposal.... 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

UsabilityUsabilityUsabilityUsability is under study

Page 38: Software Architecture by Reuse, Composition and Customization

Publications (i)

:::::::: 2012201220122012 ::::::::

[TSE_[TSE_[TSE_[TSE_2012201220122012]]]] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. ExtendingExtendingExtendingExtendingandandandand CustomizingCustomizingCustomizingCustomizing existingexistingexistingexisting ArchitectureArchitectureArchitectureArchitecture DescriptionDescriptionDescriptionDescription LanguagesLanguagesLanguagesLanguages throughthroughthroughthrough MDEMDEMDEMDE techniquestechniquestechniquestechniques. To be submitted to IEEEandandandand CustomizingCustomizingCustomizingCustomizing existingexistingexistingexisting ArchitectureArchitectureArchitectureArchitecture DescriptionDescriptionDescriptionDescription LanguagesLanguagesLanguagesLanguages throughthroughthroughthrough MDEMDEMDEMDE techniquestechniquestechniquestechniques. To be submitted to IEEETransactions on Software Engineering.

[SURVEY_[SURVEY_[SURVEY_[SURVEY_2012201220122012]]]] Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, and Antony Tang. ArchitecturalArchitecturalArchitecturalArchitecturalLanguagesLanguagesLanguagesLanguages:::: AccomplishmentsAccomplishmentsAccomplishmentsAccomplishments andandandand NeedsNeedsNeedsNeeds -------- AnAnAnAn IndustrialIndustrialIndustrialIndustrial SurveySurveySurveySurvey. To be submitted to Transactions of ACMComputing Survey, 2012

[SESENA_[SESENA_[SESENA_[SESENA_2012201220122012]]]] Krishna Doddapaneni, Enver Ever, Orhan Gemikonakli, Ivano Malavoltay, Leonardo Mostarda, and HenryMuccini. AAAA ModelModelModelModel----DrivenDrivenDrivenDriven EngineeringEngineeringEngineeringEngineering FrameworkFrameworkFrameworkFramework forforforfor ArchitectingArchitectingArchitectingArchitecting andandandand AnalysingAnalysingAnalysingAnalysing WirelessWirelessWirelessWireless SensorSensorSensorSensor NetworksNetworksNetworksNetworks.Submitted for Publication in 34th International Conference on Software Engineering (ICSE 2012)

[JOT_[JOT_[JOT_[JOT_2012201220122012]]]] Ludovico Iovino, Ivano Malavolta, and Alfonso Pierantonio. OnOnOnOn thethethethe impactimpactimpactimpact significancesignificancesignificancesignificance ofofofof metamodelmetamodelmetamodelmetamodelevolutionevolutionevolutionevolution inininin MDEMDEMDEMDE Submitted for Pubblication to International Journal of Object Technology, March 2012

[UKSIM_[UKSIM_[UKSIM_[UKSIM_2012201220122012]]]] Krishna Doddapaneni, Enver Ever, Orhan Gemikonakli, Ivano Malavoltay, Leonardo Mostarda, and HenryMuccini. PathPathPathPath losslosslossloss effecteffecteffecteffect onononon energyenergyenergyenergy consumptionconsumptionconsumptionconsumption inininin aaaa wsnwsnwsnwsn. In UKSim - 14th International Conference on ComputerModelling and Simulation (to appear), 2012

Page 39: Software Architecture by Reuse, Composition and Customization

Publications (ii)

[FASE_[FASE_[FASE_[FASE_2012201220122012]]]] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and AlfonsoPierantonio. ModelModelModelModel----drivendrivendrivendriven techniquestechniquestechniquestechniques totototo enhanceenhanceenhanceenhance architecturalarchitecturalarchitecturalarchitectural languageslanguageslanguageslanguages interoperabilityinteroperabilityinteroperabilityinteroperability. In Proceedings ofthe 15th International Conference on Fundamental Approaches to Software Engineering, FASE. To appear, March20122012

:: 2011 :::: 2011 :::: 2011 :::: 2011 ::

[ESEC_FSE_[ESEC_FSE_[ESEC_FSE_[ESEC_FSE_2011201120112011]]]] Paul Clements, Marìa J. Escalona, Paola Inverardi, Ivano Malavolta, and EdaMarchetti. ExploitingExploitingExploitingExploiting SoftwareSoftwareSoftwareSoftware ArchitectureArchitectureArchitectureArchitecture totototo supportsupportsupportsupport RequirementsRequirementsRequirementsRequirements SatisfactionSatisfactionSatisfactionSatisfaction TestingTestingTestingTesting. In Proceedingsof the the 8th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium onThe foundations of software engineering, ESEC/FSE. ACM, September 2011.

[SERENE_[SERENE_[SERENE_[SERENE_2011201120112011]]]] Ivano Malavolta, Henry Muccini, and V. Smrithi Rekha. SupportingSupportingSupportingSupporting ArchitecturalArchitecturalArchitecturalArchitectural DesignDesignDesignDesignDecisionsDecisionsDecisionsDecisions EvolutionEvolutionEvolutionEvolution throughthroughthroughthrough ModelModelModelModel DrivenDrivenDrivenDriven EngineeringEngineeringEngineeringEngineering. In Proceedings of the 3rd International workshop onSoftware Engineering for Resilient Systems (SERENE 2011). ACM Digital Library, September 2011.

[INFQ_[INFQ_[INFQ_[INFQ_2011201120112011]]]] Fabio Calvarese, Ivano Malavolta, and Antinisca Di Marco. TowardsTowardsTowardsTowards aaaa graphicalgraphicalgraphicalgraphical representationrepresentationrepresentationrepresentationforforforfor thethethethe ÆmiliaÆmiliaÆmiliaÆmilia ArchitectureArchitectureArchitectureArchitecture DescriptionDescriptionDescriptionDescription LanguageLanguageLanguageLanguage. In 2nd Quantitative Information Workshop (infQ), 2011.

:: 2010 :::: 2010 :::: 2010 :::: 2010 ::

[ECSA_DS_[ECSA_DS_[ECSA_DS_[ECSA_DS_2010201020102010]]]] Ivano Malavolta. AAAA modelmodelmodelmodel----drivendrivendrivendriven approachapproachapproachapproach forforforfor managingmanagingmanagingmanaging softwaresoftwaresoftwaresoftware architecturesarchitecturesarchitecturesarchitectures withwithwithwithmultiplemultiplemultiplemultiple evolvingevolvingevolvingevolving concernsconcernsconcernsconcerns. In ECSA 2010 (Doctoral Symposium), 4th European Conference on SoftwareArchitecture, August 2010.

Page 40: Software Architecture by Reuse, Composition and Customization

Publications (iii)

[SOSYM_[SOSYM_[SOSYM_[SOSYM_2010201020102010]]]] Romina Eramo, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Alfonso Pierantonio. AAAAmodelmodelmodelmodel----drivendrivendrivendriven approachapproachapproachapproach totototo automateautomateautomateautomate thethethethe propagationpropagationpropagationpropagation ofofofof changeschangeschangeschanges amongamongamongamong architecturearchitecturearchitecturearchitecture descriptiondescriptiondescriptiondescription languageslanguageslanguageslanguages.Software and Systems Modeling, (to appear), 2010. special theme on Model-Based Interoperability.

[ECSA_DEMO_[ECSA_DEMO_[ECSA_DEMO_[ECSA_DEMO_2010201020102010]]]] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and AlfonsoPierantonio. ByAdlByAdlByAdlByAdl:::: anananan MDEMDEMDEMDE frameworkframeworkframeworkframework forforforfor buildingbuildingbuildingbuilding extensibleextensibleextensibleextensible architecturearchitecturearchitecturearchitecture descriptiondescriptiondescriptiondescription languageslanguageslanguageslanguages. In 4thEuropean Conference on Software Architecture (ECSA 2010), August 2010.

[ICSE_[ICSE_[ICSE_[ICSE_2010201020102010]]]] Davide Di Ruscio, Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and AlfonsoPierantonio. DevelopingDevelopingDevelopingDeveloping nextnextnextnext generationgenerationgenerationgeneration adlsadlsadlsadls throughthroughthroughthrough mdemdemdemde techniquestechniquestechniquestechniques. In 32nd International Conference onSoftware Engineering (ICSE 2010), May 2010.

[TSE_[TSE_[TSE_[TSE_2010201020102010]]]] Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, and Damien Tamburri. ProvidingProvidingProvidingProviding architecturalarchitecturalarchitecturalarchitecturallanguageslanguageslanguageslanguages andandandand toolstoolstoolstools interoperabilityinteroperabilityinteroperabilityinteroperability throughthroughthroughthrough modelmodelmodelmodel transformationtransformationtransformationtransformation technologiestechnologiestechnologiestechnologies. IEEE Transactions onSoftware Engineering, 36(1), 119-140, January 2010.Software Engineering, 36(1), 119-140, January 2010.

[ICSE_SRC_[ICSE_SRC_[ICSE_SRC_[ICSE_SRC_2010201020102010]]]] Ivano Malavolta. ProvidingProvidingProvidingProviding supportsupportsupportsupport forforforfor creatingcreatingcreatingcreating nextnextnextnext generationgenerationgenerationgeneration softwaresoftwaresoftwaresoftware architecturearchitecturearchitecturearchitecturelanguageslanguageslanguageslanguages. In ACM Student Reseach Competition, Poster session at ICSE 2010, 2010.

[ASE_[ASE_[ASE_[ASE_2010201020102010]]]] Rich Hilliard, Henry Muccini, Ivano Malavolta, and Patrizio Pelliccione. RealizingRealizingRealizingRealizing architecturearchitecturearchitecturearchitectureframeworksframeworksframeworksframeworks throughthroughthroughthrough megamodellingmegamodellingmegamodellingmegamodelling techniquestechniquestechniquestechniques. In 25th IEEE/ACM International Conference on AutomatedSoftware Engineering (ASE 2010), 2010

Page 41: Software Architecture by Reuse, Composition and Customization

Publications (iv):: 2009 :::: 2009 :::: 2009 :::: 2009 ::

[CBSE_2009][CBSE_2009][CBSE_2009][CBSE_2009] Ivica Crnkovic, Ivano Malavolta, and Henry Muccini. A modelA modelA modelA model----driven engineering framework driven engineering framework driven engineering framework driven engineering framework for component models interoperabilityfor component models interoperabilityfor component models interoperabilityfor 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 multidomainmultidomainmultidomainmultidomain modeling frameworkmodeling frameworkmodeling frameworkmodeling 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. DUALLyDUALLyDUALLyDUALLy: a framework for : a framework for : a framework for : a framework for architectural languages and tools interoperabilityarchitectural languages and tools interoperabilityarchitectural languages and tools interoperabilityarchitectural 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. DUALLyDUALLyDUALLyDUALLy: un framework per : un framework per : un framework per : un framework per l'interoperabilital'interoperabilital'interoperabilital'interoperabilita' ' ' ' tratratratra linguaggilinguaggilinguaggilinguaggi e tool e tool e tool e tool architetturaliarchitetturaliarchitetturaliarchitetturali. In Student Track Demo of the Third Italian Workshop on Eclipse Technologies, Eclipse-IT. architetturaliarchitetturaliarchitetturaliarchitetturali. In Student Track Demo of the Third Italian Workshop on Eclipse Technologies, Eclipse-IT. CEUR, November 2008.

Page 42: Software Architecture by Reuse, Composition and Customization

Other Activities

International International International International collaborationscollaborationscollaborationscollaborations::::

(periods of study abroad)(periods of study abroad)

TeachingTeachingTeachingTeaching: - 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) ReviewerReviewerReviewerReviewer activityactivityactivityactivity: : : : 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, SoSyM2010, ECSA 2010, ESEC/FSE 2011, JSS 2011, QSIC 2011, SEIP 2011, STVR 2011, ICST 2012, JSS 2012, AST 2012

Page 43: Software Architecture by Reuse, Composition and Customization

Side Projects

Business Business Business Business IdeasIdeasIdeasIdeas1° prize BPC Competition with BusOnAir (http://www.busonair.eu)1° prize BPC Competition with BusOnAir (http://www.busonair.eu)

Data Data Data Data visualizationvisualizationvisualizationvisualizationSelected for participation to the EUHackathon 2011 in Bruxelles (sponsors: Google, Skype) http://iivanoo.kodingen.comhttp://iivanoo.kodingen.com

GIS software GIS software GIS software GIS software developmentdevelopmentdevelopmentdevelopment & PM& PM& PM& PM10 months collaboration with Telespazio

Mobile Mobile Mobile Mobile AppsAppsAppsApps developmentdevelopmentdevelopmentdevelopment ((((iPhoneiPhoneiPhoneiPhone, , , , iPadiPadiPadiPad))))

Page 44: Software Architecture by Reuse, Composition and Customization

QUESTIONS ?