an outline of my c

24
Università degli Studi dell’Aquila Talking to Industries Software Architecture and Testing Research Henry Muccini DISIM, University of L’Aquila [email protected], @muccinihenry, www.henrymuccini.com @Amrita University, India – June 2014

Upload: henry-muccini

Post on 20-Aug-2015

367 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: An outline of my c

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

Page 2: An outline of my c

Researcher at the University of L’Aquila,

Italy

Research

2

Page 3: An outline of my c

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

Page 4: An outline of my c

Group Decision Making in SA

Engineering Mobile Applications

Crowd Testing

Software Architecture Description

4

Page 5: An outline of my c

GROUP DECISION MAKING IN SOFTWARE ARCHITECTURE

5

Page 6: An outline of my c

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/

Page 7: An outline of my c

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

Page 8: An outline of my c

ENGINEERING MOBILE APPLICATIONS

8

Page 9: An outline of my c

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.

Page 10: An outline of my c

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

Page 11: An outline of my c

Principles11

Participatory design

Collaborative Design

Multi-view Modeling Languages

Hiding MDE complexities

A

B

C

D

Page 12: An outline of my c

ENGINEERING THE CROWD FOR TESTING

12

Page 13: An outline of my c

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]

Page 14: An outline of my c

Testing Mobile App14

Taken from [World Quality Report 2013-2014], page 27

Page 15: An outline of my c

Summing up…

CROWD TESTING

QA needs

Mobile and Web

Outsourcing

Page 16: An outline of my c

16

diversity/coverage/realistic

independent and test as a user

payment system

immediate results

Principles

Page 17: An outline of my c

Challenges in Crowd Testing17

Securitybreaches

Duplicate defect

managementMeasurement

Coverage

critical features

coverage

No control

Lack of

ownershipReward

mechanismCommunication

and mgmt.

Lack of

standards

Continuousinvolvement

Page 18: An outline of my c

SOFTWARE ARCHITECTURE DESCRIPTION

18

Page 19: An outline of my c

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?

Page 20: An outline of my c

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)

Page 21: An outline of my c

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

Page 22: An outline of my c

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

Page 23: An outline of my c

MEGAFDUALLy

EMF

AM3 AMW ATL

AMMA

byADLother

engines

MEGAF

Page 24: An outline of my c

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