SlideShare a Scribd company logo
1 of 32
Reverse Engineering Architectural Feature Models Case Study: FraSCAti software architect Mathieu Acher1, Anthony Cleve2 ,Philippe Collet1,       Philippe Merle3, Laurence Duchien3, Philippe Lahire1 1 University of Nice Sophia Antipolis (France), MODALIS team (CNRS, I3S Laboratory) 2 PReCISEResearch Centre, University of Namur, Belgium 3 INRIA Lille-Nord Europe, Univ. Lille 1 - CNRS UMR 8022, France
Case Study: FraSCAti ,[object Object]
An OASIS’s standard programming model for SOA
http://frascati.ow2.org
Large software project with an increasing number of extensions since 2008
Technology-agnostic, adaptability, variantsInterface languages (Java, WSDL, OMG IDL, etc.) Implementation languages (Java, Spring, OSGi, BPEL, C/C++, etc.) Binding protocols (WS, REST, JSON-RPC, Java RMI, CORBA, etc.) Non functional aspects, aka SCA intents and policies Packaging formats and deployment targets (JAR, JBI, WAR, OSGi, etc.) ,[object Object],Trans. Sec. log Network 2
FraSCAti Extensible Architecture in SCA (excerpt) Variability Variability Variability Variability Variability Variability 3
Whatwewant : FraSCAti« à la carte » ,[object Object],API + membrane controllers ,[object Object],Around 2Mb for EMF & SCA MM ,[object Object],Using JDK6 compiler ,[object Object]
40Mb	All FraSCAti 1.3 features4 Variability
Variability “the ability of a system to be efficiently extended, changed, customized or configured for use in a particular context”  MikaelSvahnberg, Jilles van Gurp, and Jan Bosch (2005) 5
FraSCAtias a Software Product Line Variability 6
Challenge: Modeling Variability “central to the software product line paradigm is the modeling and management of variability, that is, the commonalities and differences in the applications” 	Klaus Pohl (2005) 7
8 Variability Model How to reverse engineer the variability model of an architecture? Architecture e.g., see discussions at SAVA workshop
9 Variability Model FraSCAti Architecture
10 Defacto standard for modeling variability Formal semantics, reasoning techniques, tools Feature Model FraSCAti Architecture explicit representation of legal variants authorized by FraSCati
Feature Model Hiearchyof Features + Variability (incl. constraints) Compact representation of a set of configurations Scope: restrict legal variants authorized by FraSCati 11 Set of Configurations
12 FraSCAti Architecture Feature Model Configuration Derived FraSCAti Architecture
13 Not all combinations of architectural elements are valid Implementation_BPEL “requires” Interface_WSDL ; Implementation_Spring “requires” MM_SCA ; Set of  Safe Variants authorized by FraSCAti Scope is too large Feature Model FraSCAti Architecture
Illegal  Variant  14
15 Set of  Safe Variants authorized by FraSCAti Scope is too narrow Feature Model FraSCAti Architecture
16 Unused flexibility
How to obtain theFeature Model of FraSCAti Architecture? 17 Lopez et al., On the Need of Safe Software Product Line Architectures.  (ECSA’10)
18 - Error-prone ,[object Object],+ Architecture Knowledge + Scoping Decisions  Philippe Merle, software architect of FraSCAti
Extraction Process - Error-prone ,[object Object],+ Architecture Knowledge + Scoping Decisions  19 1 2 - Documentation of Software Artefacts ,[object Object],+ Automation
Extraction Process 20 1 2
Automated Extraction 21 150%: rough over approximation of legal configurations Mapping between architectural elements and plugins Projection on architectural elements
Projection by Example Formal semantics and automation details in the paper see also “Acher et al., Slicing Feature Models”, ASE’11 22
23 Architectural 150% FM: 50 features, 1011 configurations Plugin FM: 41 features Mapping: 158 constraints Reinforced Architectural FM: 106 configurations
Extraction Process 24 1 2
Consistency of the Extracted Feature Model?              50 features,              more than 106 configurationsWe need (1) automated reasoning techniques(2) to put the Software Architect in the Loop 25
26
Reconciliation of Feature Models Vocabulary differs 32 “common” features automatically detected  5 manual correspondences specified Granularity differs (more or less details) Not detected by the automated procedure for 2 features Intentionally forget by the software architect (or not) for 13 features Basic edit techniques are not sufficient to reconcile feature models Extensive use of slicing operator Once reconciled, techniques needed to understand “differences” between the two feature models  27

More Related Content

Viewers also liked

Religious building around the world
Religious building around the worldReligious building around the world
Religious building around the worldLY97
 
Nippon Old Architecture Nx Power Lite
Nippon Old Architecture  Nx Power Lite Nippon Old Architecture  Nx Power Lite
Nippon Old Architecture Nx Power Lite Carmen María Pérez
 
Religious building
Religious buildingReligious building
Religious buildingKay Chong
 
Religious Buildings around the World
Religious Buildings around the WorldReligious Buildings around the World
Religious Buildings around the WorldTylerMack
 
Architecture for Scale [AppFirst]
Architecture for Scale [AppFirst]Architecture for Scale [AppFirst]
Architecture for Scale [AppFirst]AppFirst
 
Urban and architectural features of traditional built environment of Farasan ...
Urban and architectural features of traditional built environment of Farasan ...Urban and architectural features of traditional built environment of Farasan ...
Urban and architectural features of traditional built environment of Farasan ...Alternative Expertise House, KAU
 
Impact Analysis в тестировании
Impact Analysis в тестированииImpact Analysis в тестировании
Impact Analysis в тестированииSQALab
 
Acp 2011 osaka_environ_psy_dr_gezgin
Acp 2011 osaka_environ_psy_dr_gezginAcp 2011 osaka_environ_psy_dr_gezgin
Acp 2011 osaka_environ_psy_dr_gezginUlaş Başar Gezgin
 
Planning for the built environment ppt
Planning for the built environment  pptPlanning for the built environment  ppt
Planning for the built environment pptRushabh Shrishrimal
 
Разработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатацииРазработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатацииSQALab
 
Contouring pdf
Contouring pdfContouring pdf
Contouring pdfGokul Saud
 
Evolution of Hindu Temple Architecture
Evolution of Hindu Temple ArchitectureEvolution of Hindu Temple Architecture
Evolution of Hindu Temple ArchitectureSumathi Mariappan
 
HISTORY: Early Christian Architecture
HISTORY: Early Christian ArchitectureHISTORY: Early Christian Architecture
HISTORY: Early Christian ArchitectureArchiEducPH
 
Environmental Psychology
Environmental PsychologyEnvironmental Psychology
Environmental PsychologyJames Neill
 
INDIAN TEMPLE ARCHITECTURE
INDIAN TEMPLE ARCHITECTUREINDIAN TEMPLE ARCHITECTURE
INDIAN TEMPLE ARCHITECTURERhythm Murgai
 

Viewers also liked (20)

Synthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product DescriptionsSynthesis of Attributed Feature Models From Product Descriptions
Synthesis of Attributed Feature Models From Product Descriptions
 
Religious building around the world
Religious building around the worldReligious building around the world
Religious building around the world
 
Nippon Old Architecture Nx Power Lite
Nippon Old Architecture  Nx Power Lite Nippon Old Architecture  Nx Power Lite
Nippon Old Architecture Nx Power Lite
 
Religious building
Religious buildingReligious building
Religious building
 
Religious Buildings around the World
Religious Buildings around the WorldReligious Buildings around the World
Religious Buildings around the World
 
Architecture for Scale [AppFirst]
Architecture for Scale [AppFirst]Architecture for Scale [AppFirst]
Architecture for Scale [AppFirst]
 
Urban and architectural features of traditional built environment of Farasan ...
Urban and architectural features of traditional built environment of Farasan ...Urban and architectural features of traditional built environment of Farasan ...
Urban and architectural features of traditional built environment of Farasan ...
 
Impact Analysis в тестировании
Impact Analysis в тестированииImpact Analysis в тестировании
Impact Analysis в тестировании
 
Impact Analysis в тестировании
Impact Analysis в тестированииImpact Analysis в тестировании
Impact Analysis в тестировании
 
Hort design
Hort designHort design
Hort design
 
Acp 2011 osaka_environ_psy_dr_gezgin
Acp 2011 osaka_environ_psy_dr_gezginAcp 2011 osaka_environ_psy_dr_gezgin
Acp 2011 osaka_environ_psy_dr_gezgin
 
Planning for the built environment ppt
Planning for the built environment  pptPlanning for the built environment  ppt
Planning for the built environment ppt
 
Разработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатацииРазработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатации
 
Contouring pdf
Contouring pdfContouring pdf
Contouring pdf
 
Evolution of Hindu Temple Architecture
Evolution of Hindu Temple ArchitectureEvolution of Hindu Temple Architecture
Evolution of Hindu Temple Architecture
 
HISTORY: Early Christian Architecture
HISTORY: Early Christian ArchitectureHISTORY: Early Christian Architecture
HISTORY: Early Christian Architecture
 
Environmental Psychology
Environmental PsychologyEnvironmental Psychology
Environmental Psychology
 
Contouring
ContouringContouring
Contouring
 
Map reading
Map readingMap reading
Map reading
 
INDIAN TEMPLE ARCHITECTURE
INDIAN TEMPLE ARCHITECTUREINDIAN TEMPLE ARCHITECTURE
INDIAN TEMPLE ARCHITECTURE
 

Similar to Reverse Engineering Architectural Feature Models

Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolKellyton Brito
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Toolsghodgkinson
 
Soleil: A Component Framework for RTSJ
Soleil: A Component Framework for RTSJSoleil: A Component Framework for RTSJ
Soleil: A Component Framework for RTSJAleš Plšek
 
Reverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesReverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesDharmalingam Ganesan
 
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringBridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringRafael Ferreira da Silva
 
Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Ori Bendet
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Trayan Iliev
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Henry Muccini
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsSpace Codesign
 
2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product Strategy2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product StrategyCollabNet
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David AmellerDavid Ameller
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-oplbergmans
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdfbcanawakadalcollege
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsProlifics
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayDivya Watson
 

Similar to Reverse Engineering Architectural Feature Models (20)

Prasad_CTP
Prasad_CTPPrasad_CTP
Prasad_CTP
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
LIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval ToolLIFT: A Legacy InFormation retrieval Tool
LIFT: A Legacy InFormation retrieval Tool
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Soleil: A Component Framework for RTSJ
Soleil: A Component Framework for RTSJSoleil: A Component Framework for RTSJ
Soleil: A Component Framework for RTSJ
 
Reverse Engineering of Module Dependencies
Reverse Engineering of Module DependenciesReverse Engineering of Module Dependencies
Reverse Engineering of Module Dependencies
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
thesis
thesisthesis
thesis
 
3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura3DD 1e 31 Luglio Apertura
3DD 1e 31 Luglio Apertura
 
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringBridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
 
Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 
Performance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL ModelsPerformance Verification for ESL Design Methodology from AADL Models
Performance Verification for ESL Design Methodology from AADL Models
 
2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product Strategy2016 Federal User Group Conference - DevOps Product Strategy
2016 Federal User Group Conference - DevOps Product Strategy
 
PhD defense: David Ameller
PhD defense: David AmellerPhD defense: David Ameller
PhD defense: David Ameller
 
Software development effort reduction with Co-op
Software development effort reduction with Co-opSoftware development effort reduction with Co-op
Software development effort reduction with Co-op
 
2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf2- THE CHANGING NATURE OF SOFTWARE.pdf
2- THE CHANGING NATURE OF SOFTWARE.pdf
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere tools
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS

More from University of Rennes, INSA Rennes, Inria/IRISA, CNRS (20)

A Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AIA Demonstration of End-User Code Customization Using Generative AI
A Demonstration of End-User Code Customization Using Generative AI
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
On Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based AssistantOn Programming Variability with Large Language Model-based Assistant
On Programming Variability with Large Language Model-based Assistant
 
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...Generative AI for Reengineering Variants into Software Product Lines: An Expe...
Generative AI for Reengineering Variants into Software Product Lines: An Expe...
 
Tackling Deep Software Variability Together
Tackling Deep Software Variability TogetherTackling Deep Software Variability Together
Tackling Deep Software Variability Together
 
On anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variabilityOn anti-cheating in chess, science, reproducibility, and variability
On anti-cheating in chess, science, reproducibility, and variability
 
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
Feature Subset Selection for Learning Huge Configuration Spaces: The case of ...
 
Machine Learning and Deep Software Variability
Machine Learning and Deep Software VariabilityMachine Learning and Deep Software Variability
Machine Learning and Deep Software Variability
 
Mastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and ScienceMastering Software Variability for Innovation and Science
Mastering Software Variability for Innovation and Science
 
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel SizeTransfer Learning Across Variants and Versions: The Case of Linux Kernel Size
Transfer Learning Across Variants and Versions: The Case of Linux Kernel Size
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Software Variability and Artificial Intelligence
Software Variability and Artificial IntelligenceSoftware Variability and Artificial Intelligence
Software Variability and Artificial Intelligence
 
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and ChallengesTeaching Software Product Lines: A Snapshot of Current Practices and Challenges
Teaching Software Product Lines: A Snapshot of Current Practices and Challenges
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
From Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.orgFrom Basic Variability Models to OpenCompare.org
From Basic Variability Models to OpenCompare.org
 
Pandoc: a universal document converter
Pandoc: a universal document converterPandoc: a universal document converter
Pandoc: a universal document converter
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines3D Printing, Customization, and Product Lines
3D Printing, Customization, and Product Lines
 
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)
 
A survey on teaching of software product lines
A survey on teaching of software product linesA survey on teaching of software product lines
A survey on teaching of software product lines
 

Recently uploaded

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 

Recently uploaded (20)

Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 

Reverse Engineering Architectural Feature Models

  • 1. Reverse Engineering Architectural Feature Models Case Study: FraSCAti software architect Mathieu Acher1, Anthony Cleve2 ,Philippe Collet1, Philippe Merle3, Laurence Duchien3, Philippe Lahire1 1 University of Nice Sophia Antipolis (France), MODALIS team (CNRS, I3S Laboratory) 2 PReCISEResearch Centre, University of Namur, Belgium 3 INRIA Lille-Nord Europe, Univ. Lille 1 - CNRS UMR 8022, France
  • 2.
  • 3. An OASIS’s standard programming model for SOA
  • 5. Large software project with an increasing number of extensions since 2008
  • 6.
  • 7. FraSCAti Extensible Architecture in SCA (excerpt) Variability Variability Variability Variability Variability Variability 3
  • 8.
  • 9. 40Mb All FraSCAti 1.3 features4 Variability
  • 10. Variability “the ability of a system to be efficiently extended, changed, customized or configured for use in a particular context” MikaelSvahnberg, Jilles van Gurp, and Jan Bosch (2005) 5
  • 11. FraSCAtias a Software Product Line Variability 6
  • 12. Challenge: Modeling Variability “central to the software product line paradigm is the modeling and management of variability, that is, the commonalities and differences in the applications” Klaus Pohl (2005) 7
  • 13. 8 Variability Model How to reverse engineer the variability model of an architecture? Architecture e.g., see discussions at SAVA workshop
  • 14. 9 Variability Model FraSCAti Architecture
  • 15. 10 Defacto standard for modeling variability Formal semantics, reasoning techniques, tools Feature Model FraSCAti Architecture explicit representation of legal variants authorized by FraSCati
  • 16. Feature Model Hiearchyof Features + Variability (incl. constraints) Compact representation of a set of configurations Scope: restrict legal variants authorized by FraSCati 11 Set of Configurations
  • 17. 12 FraSCAti Architecture Feature Model Configuration Derived FraSCAti Architecture
  • 18. 13 Not all combinations of architectural elements are valid Implementation_BPEL “requires” Interface_WSDL ; Implementation_Spring “requires” MM_SCA ; Set of Safe Variants authorized by FraSCAti Scope is too large Feature Model FraSCAti Architecture
  • 20. 15 Set of Safe Variants authorized by FraSCAti Scope is too narrow Feature Model FraSCAti Architecture
  • 22. How to obtain theFeature Model of FraSCAti Architecture? 17 Lopez et al., On the Need of Safe Software Product Line Architectures. (ECSA’10)
  • 23.
  • 24.
  • 26. Automated Extraction 21 150%: rough over approximation of legal configurations Mapping between architectural elements and plugins Projection on architectural elements
  • 27. Projection by Example Formal semantics and automation details in the paper see also “Acher et al., Slicing Feature Models”, ASE’11 22
  • 28. 23 Architectural 150% FM: 50 features, 1011 configurations Plugin FM: 41 features Mapping: 158 constraints Reinforced Architectural FM: 106 configurations
  • 30. Consistency of the Extracted Feature Model? 50 features, more than 106 configurationsWe need (1) automated reasoning techniques(2) to put the Software Architect in the Loop 25
  • 31. 26
  • 32. Reconciliation of Feature Models Vocabulary differs 32 “common” features automatically detected 5 manual correspondences specified Granularity differs (more or less details) Not detected by the automated procedure for 2 features Intentionally forget by the software architect (or not) for 13 features Basic edit techniques are not sufficient to reconcile feature models Extensive use of slicing operator Once reconciled, techniques needed to understand “differences” between the two feature models 27
  • 33.
  • 34. Summary Reverse Engineering the Variability Model of An Architecture Reverse Engineering the Feature Model of FraSCAti Automated Procedure Extracting and Combining Variability Sources (incl. software architect knowledge) Advanced feature modeling techniques have been developed (tool supported with FAMILIAR) Lessons Learned Extraction procedure yields promising results Essential role of software architect To validate the extracted feature model To integrate knowledge 29
  • 35. Operational Solution: FAMILIAR 30 https://nyx.unice.fr/projects/familiar/
  • 36. Future Work Reiterate the Process Architecture Derivation Applicability of the procedure to other architectures 31 http://frascati.ow2.org Version 1.3 Version 1.4 . . . Version 2.x
  • 37. 32 ? http://frascati.ow2.org https://nyx.unice.fr/projects/familiar/
  • 38.
  • 40. Generating tailor-made variants for the needs of particular customers or environmentsVariability 33
  • 41. Various Features in OW2 FraSCAti 33 for SCA developers <implementation.bpel>, … <interface.wsdl>, … <binding.ws>, … Property XML, … 5 for SCA users Compiler/launcher Tools: Explorer, Fscript, JMX, Remote Management 25 internals to FraSCAti Supported metamodels Membrane generators Supported Java compilers Membrane factories 34
  • 42. Java JAR Spring OSGi C++ JBI WSDL WAR Large scale software architectures, such as FraSCAti, need... Interoperability Support of different interface/implementation languages, binding protocols, etc. Configuration/Reconfiguration Customizable software for specific requirements Deployment Different target systems For more flexibility Management of variants and variability 35 Variability