PhD defense: David Ameller
-
Upload
david-ameller -
Category
Career
-
view
1.458 -
download
2
description
Transcript of PhD defense: David Ameller
![Page 1: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/1.jpg)
Software Architecture Design
Non-Functional Requirements
as drivers of
David Ameller
Barcelona, 23th January 2014
Thesis supervised by Xavier Franch
![Page 2: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/2.jpg)
2
Outline
Introduction
PART I
PART II
PART III
Conclusions
NFRs in Model-Driven Development
NFRs in Software Architecture
Arteon, Quark, and ArchiTech
![Page 3: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/3.jpg)
Introduction
![Page 4: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/4.jpg)
4Non-Functional Requirements (NFRs)
“a description of a property or
characteristic that a software system must exhibit or a constraint that it
must respect”K. Wiegers. Software Requirements, 2003.
The system shall keep our current Data Base Management System
The system shall support real-time
operations
![Page 5: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/5.jpg)
5
Model-Driven Development (MDD)
M2M
M2T
PIM
PSM
Code
HelloWorld
Show()
HelloWorld
Show()
GWT
POJO
JDBC
…show() { print(“Hello World”);}
“is simply the notion that we can construct a model of a system that
we can then transform into the
real thing”S. Mellor et al., “Model-Driven Development”. IEEE Software, 2003.
![Page 6: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/6.jpg)
6
Software Architecture (SA)
“The software architecture […] is
thestructure or
structures of the system”
L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice, 2003.
Presentation
Persistence
Business
![Page 7: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/7.jpg)
7
Relation of NFRs with MDD and SA
NFRsMDD SA
NFRs make MDD adaptable, while
MDD could be used to
systematize NFRs
NFRs are used to make
architectural decisions, while
architectural knowledge could be used to reason
about NFRs
PART I PART II & III
![Page 8: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/8.jpg)
8
Objective of this thesis
Explore the role of Non-Functional Requirements
in the Software Architecture
DesignPropose novel ideas to integrate NFR in software
development
Run empirical studies of the current architectural practices
Design new techniques, methods, and tools
![Page 9: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/9.jpg)
9
Example (1/3)
ACME travel agency web portalACME luxury: travel packages to exotic destinations in 5-star hotelsACME world-wide: hundreds of travel packages
Functional requirements are equalUser managementPayment facilitiesSearches
Non-Functional Requirements have differencesSecurity: “The system shall detect and report unauthorised data accesses”Scalability: “The system should be prepared to high connection demands to ensure the success of the portal”
![Page 10: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/10.jpg)
10Example (2/3)
Single-Server
Configuration
DBMS separated Firewall Replication
Performance Poor Average Neutral ImproveSecurity Poor Good Improve NeutralAvailability Poor Poor Neutral ImproveMaintenance Good Average Damage DamageScalability Poor Poor Neutral ImproveComplexity Good Average Damage DamageThe table is based on S. Ceri et al., Designing Data-Intensive Web Applications, 2002.
Types
of
NFR
Architectural styles and components
![Page 11: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/11.jpg)
11Example (3/3)
Different NFR specifications lead to different software
systems
ACME Luxury
ACME World-wide
![Page 12: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/12.jpg)
12Timeline
2007 2008 2009 2010 2011 2012 2013
PART I
PART IIPART III
NFRs in Model-Driven DevelopmentNFRs in Software Architecture
Arteon, Quark, and ArchiTech
PART I
PART II
PART III
![Page 13: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/13.jpg)
PART INFRs in Model-Driven Development
2007 2008 2009 2010 2011 2012 2013
DSDMEuromicro SEAA RE (31 cites)
![Page 14: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/14.jpg)
14Objective of PART I
Define a MDD framework that integrates NFRs
It is problem with critical consequences
Most existing MDD approaches do not consider NFRs
“A Comedy of Errors: the London Ambulance Service case study”Anthony Finkelstein & John Dowell, 1993.
![Page 15: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/15.jpg)
15Current approach (in practice)
Modify the PSM, the M2T transformation and the generated
code
Longer production, lower reliability, and worse maintenance
Modify the M2M transformation in order to support specific NFRs
Increases complexity, longer production if new transformation is
needed
![Page 16: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/16.jpg)
16Our approach (automatic)
All requirements are specified at PIM level
We propose to use M2M transformations able to deal with NFRs (M2March, M2Mtech)
We propose an intermediate model (PIM/PSM) to reflect architectural decisions
made from NFRs
The code (software product) is compliant with the stated NFRs
![Page 17: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/17.jpg)
17Our approach (interactive)
The first approach is conceptually sound but may be too complex
In this case PIM is unaware of NFRs
We propose to use human interaction to obtain NFRs (with architectural and technological
consequences)
Hybrid approaches are possible
![Page 18: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/18.jpg)
18Example
Models
Know
led
ge
PIM (nf) PIM/PSM (nf)
Requirements Architecture
R1: The system shall detect and report unauthorized data
access
Security
Firewall
+
FW
Source subsyste
m
Protected subsyste
m
App. server
DBMS
![Page 19: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/19.jpg)
19Benefits of our approach
vs.NFRs are fully integrated into MDD
No need to modify the code
Architectural decisions depend on NFRs
Knowledge reuse
![Page 20: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/20.jpg)
20Drawbacks of our approach
vs.
New model (PIM/PSM) need to be maintained
New transformations are neededWe need to maintain the architectural knowledge
![Page 21: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/21.jpg)
21Conclusions of PART I
We proposed a flexible framework to deal with NFRs in MDD
The architecture should be part of the MDD process to support NFRs
Need to gather knowledge that relates
NFRs and Architectural decisions
![Page 22: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/22.jpg)
PART IINFRs in Software Architecture
2007 2008 2009 2010 2011 2012 2013
EASA REFSQ
Firststudy
RE IEEE
Secondstudy
Soft. (IF 1.5)
Thirdstudy
ECSA
![Page 23: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/23.jpg)
23Empirical studies
First study Second study Third study
Type Electronic survey Interviews Electronic survey
Number of respondents
60 13 31
Number of RQs 5 6+7 3
Target population Software industry Software architects
Software architects
Target information Practical experience Single project Single project/NFR
Population origin World-wide (>50% Spain)
Spain World-wide
Execution 2009 2010 2011
Publication 2010 2012/13 2013
Study the role of NFRs in Software Architecture
![Page 24: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/24.jpg)
24First study
Non-Functional Requirements in industrial practice
Respondents stated that:“need tools for NFRs management”
Respondents stated that:“want to have the last word on decision-making”
More empirical evidence for software architecture is needed
Half of respondents did not use NFRs to make architectural decisions
![Page 25: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/25.jpg)
25Second study
How do software architects deal with Non-Functional
Requirements?
Companies did not have the role of architect clearly defined
NFRs were mostly elicited by the architects
Architects considered Non-technical NFRs as relevant as technical NFRs
Most of the architectural decisions had the influence of a NFR
![Page 26: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/26.jpg)
26Third study
The role of Quality Attributes in Service-Based Systems
design
We could not identify QAs predominance in particular domains
We could not find a relation between QAs and decisions
QAs are often considered as important as functionality
Ad-hoc decisions are often used in SBS
![Page 27: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/27.jpg)
27Conclusions of PART II
Architects take into account all kinds of requirements in architectural
decisions
There is a wide space in the gap between researchers and practitioners
Replication and new empirical studies are required in this area
![Page 28: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/28.jpg)
PART IIIArteon, Quark, and ArchiTech
2007 2008 2009 2010 2011 2012 2013
DSDM
Arteon
IWSSA TOPI RESPE
ArchiTech
CIbSE(among best papers)
Quark
![Page 29: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/29.jpg)
29Arteon
Architectural knowledge ontology
Divided in two modules
Described in UML
Extendibility and Reuse
Minimal encoding bias
Minimal ontological commitment
![Page 30: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/30.jpg)
30
ArchitecturalView
ArchitecturalFramework
Style StyleVariation Component Implemen-
tation
ArchitecturalElement
Arteon: SE Module
4+1 views framework
Logical view
3-Layers style
3-Layers with data-
mapper
Persistence layer Hibernate
![Page 31: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/31.jpg)
31
Constraint
Decisional Element
Restriction Element AttributeQuality Attribute
Decision
Effect
Value
Condition
Attribute
Arteon: R Module
Attribute “License” equal “OSS”
Attribute “License”
Element “Apache”
Value “OSS”
Decision “Use
Apache”
“Reliability”
“Improved”
![Page 32: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/32.jpg)
32Quark
DecisionsRequirements
Architects shall have the last
word
Architects shall have a central
role
Architects shall be able to
reuse decisions
Decisions shall provide detailed
information
Quark
![Page 33: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/33.jpg)
33Quark
Decisionmaking
Architecturalspecification
Decisioninference
Architecturalrefinement
2
1 3
4
Decisions
DecisionsConstraints and QRs
Constraints and QRs
Requirements Decisions
DependenciesRestrictions
EvaluationIncompatibilities
GuidancePrioritization
ConstraintsQRs
![Page 34: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/34.jpg)
34ArchiTech
Implemented as Eclipse Plugin
Knowledge management and decision-making
ArchiTech-CRUD
Implemented by Oriol Collell
ArchiTech-DM
Implementation of Arteon
Implementation of Quark
![Page 35: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/35.jpg)
35ArchiTech
![Page 36: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/36.jpg)
36Conclusions of PART III
Arteon provides a way to share and reuse architectural knowledge
Quark provides a decision-making method and improves the reliability of
the process
ArchiTech implements both, and serves as a proof of concept
![Page 37: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/37.jpg)
Conclusions
![Page 38: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/38.jpg)
38Conclusions of this thesis
Theoretical approach that handles NFRs in the MDD process
Empirical studies oriented to understand software architects, and in particular the role of NFRs
Created means to manage architectural knowledge, and then use
it to make architectural decisions
![Page 39: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/39.jpg)
39
Thankyou
![Page 40: PhD defense: David Ameller](https://reader034.fdocuments.net/reader034/viewer/2022052618/554f4324b4c90572088b5446/html5/thumbnails/40.jpg)
40
?.