an outline of my c
TRANSCRIPT
Università degli Studi dell’Aquila
Talking to IndustriesSoftware Architecture and Testing
ResearchHenry Muccini
DISIM, University of L’Aquila [email protected], @muccinihenry, www.henrymuccini.com
@Amrita University, India – June 2014
Researcher at the University of L’Aquila,
Italy
Research
2
Research interests
on developing methods and tools for the analysis and design of software architectures
→Architecture-driven Model-based Testing, Model-checking, and V&V
→Models Interoperability in Software Architecture Descriptions
→Multi-view Software Architecture Description
→Group Decision Making in Software Architecture
→Engineering Mobile Applications
→Crowd Testing
M
D
E
Group Decision Making in SA
Engineering Mobile Applications
Crowd Testing
Software Architecture Description
4
GROUP DECISION MAKING IN SOFTWARE ARCHITECTURE
5
Group Decision Making in SA (1/2)6
Multiple stakeholders are involved
Each with different concerns and goals
Context: SA decision-making is a group process
Three decades of research on group
decision making in the business domain
GDM has been studied from multiple
perspectives that includes Psychology,
Organizational Behavior, Operations
Research and Economics
Picture taken from http://apprentiperpetuel.blogspot.com.au/
Group Decision Making in SA (2/2)Goal:
� Understand Industrial needs in Group Decision Making
� Understand state of the research in Architecture GMD
� Improve current industrial practices so to converge
faster to better decisions
7
ENGINEERING MOBILE APPLICATIONS
8
The problem we want to deal with 9
Recurring issues and challenges in app development
Technical (fragmentation, code reuse, frequent
changes, monitoring analysis and testing, etc.)
Design issues
Limited reasoning in the context
Limited information architecture
engineering
Stakeholder diversity
Best practices for app design and development are available, but mobile
applications are still developed with ad-hoc development processes, and
best practices are still not automated.
Goals of our proposal
To codify best design practices into a Model-
Driven Engineering language and framework
10
An
aly
sis
r
App
Developer
Anal
ysis r
Analysis
results
1
A
1 2
A
2 n
A
n
Content ManagerPlugin developers
Navigation
MLData
UI ML
UI Designer
MobML
Analysis
MobL
Code
The MobML Framework
Business Logic
An
alyACode
Modeling environment for
Mobile Applications
Server Side
Developer
MobML
Testing
Analysis and
Code
Generation
Principles11
Participatory design
Collaborative Design
Multi-view Modeling Languages
Hiding MDE complexities
A
B
C
D
ENGINEERING THE CROWD FOR TESTING
12
13
Software Testing
No dedicatedtesting team
Dedicated(in-house) testing team
Outsourcedtesting
[1500 respondents]
0% 20% 40%60%
51%41%
Internal/In-house Testing
2013 2012
[1500 respondents]
0%10%
20%
13%20%
Crowd Sourced Testing
(External/Managed Services)
2013 2012
0%20%
40%
8%26%
"Centralized" Testing
2013 2012
[World Quality Report 2013-2014]
“IDC and Forrester indicate … an increase in
outsourcing of 15% annually over the next
several years.” [Forrester]
Testing Mobile App14
Taken from [World Quality Report 2013-2014], page 27
Summing up…
CROWD TESTING
QA needs
Mobile and Web
Outsourcing
16
diversity/coverage/realistic
independent and test as a user
payment system
immediate results
Principles
Challenges in Crowd Testing17
Securitybreaches
Duplicate defect
managementMeasurement
Coverage
critical features
coverage
No control
Lack of
ownershipReward
mechanismCommunication
and mgmt.
Lack of
standards
Continuousinvolvement
SOFTWARE ARCHITECTURE DESCRIPTION
18
Pro:
� formal semantics
� computable
Cons:
� difficult to learn
� general lack of tools
� prolifetarion
Pro:
� not too difficult
� same notation for SA
and design modeling
Cons:
� not a 100% fit
� tool investment
Pro:
� of immediate use
� perfect for sketching
� communicative
Cons:
� ambiguous
� non automated
19
But.. What Industry needs from Architectural Languages?
Goal of the study:
→ to better understand the real needs about using ALs
for software architecture modeling in industry
─ RQ1: What are the architectural description needs of
practitioners?
─ RQ2: What features typically supported by existing ALs
are useful (or not useful) for the software industry?
20
Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, Antony Tang: What Industry Needs from
Architectural Languages: A Survey. IEEE TSE 39(6): 869-891 (2013)
C1: need of models interoperability
� multiple languages are used to describe the architecture of a
software system
C2: need of extending existing ALs
C3: need of creating, storing, re-using, views and
Architecture Frameworks
C4: need of communicative and analytic AL
21
Darwin/FSP
ACME
AADL
xADL
SA UML profiles
other ADLs
pivot
metamodel
(A0)
Extended/customized ADLgenerated in byADL
BPMN
FTVP
1
VP
1
VP
2
VP
2St1
MK1
Composed AFgenerated in MEGAF
MEGAF: a model-driven infrastructure for building reusable
and extensible architecture frameworks
MEGAF: a model-driven infrastructure for building reusable
and extensible architecture frameworks
DUALLy: an automated approach for ADLs interoperabilityDUALLy: an automated approach for ADLs interoperability
byADL: an approach to adapt and customize existing ADLsbyADL: an approach to adapt and customize existing ADLs
MEGAFDUALLy
EMF
AM3 AMW ATL
AMMA
byADLother
engines
MEGAF
megaf.di.univaq.it
• Preliminary prototype in Eclipse, usingmegamodeling techniques
dually.di.univaq.it
• Prototype in Eclipse, using model-drivenengineering techniques
byadl.di.univaq.it
• Prototype in Eclipse, using model-driven engineering techniques