Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the...

65
Università degli Studi dell’Aquila Exploring Exploring Exploring Exploring the Temporal the Temporal the Temporal the Temporal Aspects Aspects Aspects Aspects of Software Architecture of Software Architecture of Software Architecture of Software Architecture Henry Muccini Henry Muccini Henry Muccini Henry Muccini DISIM, DISIM, DISIM, DISIM, University University University University of L’Aquila, of L’Aquila, of L’Aquila, of L’Aquila, Italy Italy Italy Italy [email protected] [email protected] [email protected] [email protected], @ , @ , @ , @muccinihenry muccinihenry muccinihenry muccinihenry, www.henrymuccini.com , www.henrymuccini.com , www.henrymuccini.com , www.henrymuccini.com Keynote at ICSOFT 2016 Slides available at: http://www.slideshare.net/henry.muccini/

Transcript of Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the...

Page 1: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Università degli Studi dell’Aquila

Exploring Exploring Exploring Exploring the Temporal the Temporal the Temporal the Temporal Aspects Aspects Aspects Aspects

of Software Architectureof Software Architectureof Software Architectureof Software Architecture

Henry MucciniHenry MucciniHenry MucciniHenry MucciniDISIM, DISIM, DISIM, DISIM, UniversityUniversityUniversityUniversity of L’Aquila, of L’Aquila, of L’Aquila, of L’Aquila, ItalyItalyItalyItaly

[email protected]@[email protected]@univaq.it, @, @, @, @muccinihenrymuccinihenrymuccinihenrymuccinihenry, www.henrymuccini.com, www.henrymuccini.com, www.henrymuccini.com, www.henrymuccini.com

Keynote at ICSOFT 2016

Slides available at: http://www.slideshare.net/henry.muccini/

Page 2: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

Exploring the Temporal Exploring the Temporal Exploring the Temporal Exploring the Temporal

Aspects of Aspects of Aspects of Aspects of Software Software Software Software

ArchitectureArchitectureArchitectureArchitecture

3

Page 3: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

4

LetLetLetLet usususus reasonreasonreasonreason aboutaboutaboutabout the the the the

Gaudi’s Gaudi’s Gaudi’s Gaudi’s SagradaSagradaSagradaSagrada FamiliaFamiliaFamiliaFamilia

Page 4: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

5

WE

BS

OF

TW

AR

EA

RC

HIT

EC

TU

RE

WHATSAPP WEB

WHATSAPP

Page 5: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

6 «Store and

forward»

mechanism for

message exchange

1

2

3

34

4

5

no long

term storage

Page 6: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

Exploring the Exploring the Exploring the Exploring the Temporal Temporal Temporal Temporal

Aspects Aspects Aspects Aspects of Software of Software of Software of Software

ArchitectureArchitectureArchitectureArchitecture

7

Page 7: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

8 For WICSA 2016 the theme

was “Architecting in

time” – exploring the

temporal aspects of software architecture.

continuity, evolution and

decay,

the benefits, consequences

and debt from delaying

decisions,

architecting practices and

experiences in different

software development

processes, or the related

collaborative design activities

that fit into the life cycles of

systems and applications.

Page 8: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

9

Page 9: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

The software The software The software The software architecturearchitecturearchitecturearchitecture fieldfieldfieldfield

evolutionevolutionevolutionevolution over timeover timeover timeover time

TemporalTemporalTemporalTemporal aspectsaspectsaspectsaspects in software in software in software in software architecturearchitecturearchitecturearchitecture

designdesigndesigndesign

10

1992 today

1

2

Architecting

Requirements Architecture Code Operation

This talk

Page 10: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

11

? How the Software

Architecture field evolvedevolvedevolvedevolved

over timeover timeover timeover time?1

1992 today

Page 11: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

12

Page 12: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

13

Page 13: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

14

The historyhistoryhistoryhistoryartifactsartifactsartifactsartifacts and and and and worksworksworksworks(decorations, wigs, scents) talk aboutthe culture of thattime.

They are not onlyhistorical relic, butthey speak aboutthat time

Val Parks: https://www.youtube.com/watch?v=LMJh1WTkxws

Page 14: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

15

? How the Software Architecture

field evolved over time?

topic

topic

topic

topic

1992 today

Page 15: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

16

The study (specifically)

conducted for this

speech

Page 16: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

Mixed Mixed Mixed Mixed methodmethodmethodmethod used for this study:

1. Topics extraction:

� Personal knowledge + Seminal papers

2. Data mining

� From the WICSA, CBSE, ECSA, and QoSA

conferences

� From 1999 to 2016

3. Reasoning on the results

17

1

2

3

Page 17: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

Mixed method used for this study:

1.1.1.1. TopicsTopicsTopicsTopics extractionextractionextractionextraction::::

� Personal Personal Personal Personal knowledgeknowledgeknowledgeknowledge + + + + SeminalSeminalSeminalSeminal paperspaperspaperspapers

2. Data mining

� From the CBSE, WICSA, ECSA, and QoSA

conferences

� From 1999 to 2016

3. Reasoning on the results

18

1

2

3

Page 18: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

20 20 20 20 yearsyearsyearsyears of of of of experienceexperienceexperienceexperiencein the in the in the in the fieldfieldfieldfield

_______________________

WICSA 2016 PC co-chair

ICSA steering committeemember

PC of WICSA, CBSE, ECSA (ICSE, FSE, ASE)

Member of the IFIP WG 2.10 on Software Architecture

19

Design

Decisions

Assessment

SA Description

SPL

architectures

AgileDevOps

ADLs

CPS

1

StyleViews

Page 19: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

20

1992-1994 seminal FOSE 2000 & 2014

IEEE SW

1

Page 20: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

21

Ecosystems

TechDebt

Uncertainty

Risks

Architects role

SA FrameworksReference

architecture

Design

Decisions

Assessment

SA Description

SPL

architectures

AgileDevOps

ADLs

CPS

Quality

ADL

Style

Views

Page 21: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Vote at: goo.gl/Gje2zE

Page 22: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

23

topic

topic

topic

topic

1992 today

Page 23: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

24

Mixed method used for this study:

1. Topics extraction:

� Personal knowledge + Seminal papers

2. Data mining

� From the CBSE, WICSA, ECSA, and QoSA

conferences

� From 1999 to 2016

3. Reasoning on the results

1

2

3

Page 24: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

25

1999 2001 2002 2004 2005 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016

WICSA’99

San Antonio

WICSA’01

Amsterdam

WICSA’02

Montreal

WICSA’04

Oslo

WICSA’05

Pittsburgh

WICSA’08

Vancouver

WICSA&

CompArch

Boulder

WICSA’07

Mumbai

WICSA&ECSA’09

Cambridge

WICSA&ECSA’12

Helsinki

WICSA’14

Sydney

WICSA&

CompArch’15

MontrealCompArch’07

Medford

CompArch’08

Karlsruhe

CompArch’09

E. Stroudsburg

CompArch’10

Prague

CompArch’12

Bertinoro

CompArch’13

British Columbia

CompArch’14

Lille

WICSA&

CompArch’16

Venice

CBSE 2003-2016

2

ECSA’07

ECSA’08

ECSA’10

ECSA’11

ECSA’13

ECSA’14

ECSA’15

Page 25: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

What: 4 conferences, 42 editions, 1999-2016,

811 811 811 811 articlesarticlesarticlesarticles analysed

How: topicstopicstopicstopics searchsearchsearchsearch

• Search of topics and synonyms in • TitleTitleTitleTitle• KeywordKeywordKeywordKeyword• AbstractAbstractAbstractAbstract

26

2

Page 26: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

27

Page 27: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

SUM

28

Max

(1*0,8);(1*0,5)

Max

(0*0,8);(0*0,5)

If Title contains the keyword,

paper highly ranked with

respect to the keyword

If Keyword/abstract contains

the keyword, …

If synonym contains the

keyword, …

Page 28: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

This approximation formula has been tested

on:

• 50 papers

• Two topics:

• Ecosystems

• Design Decisions

29

Page 29: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

The results presented here are

preliminary and partial, with respect to

the…

30

25 Years of Software Architecture:

impact on the Software discipline

Page 30: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

31

Page 31: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

32

Mixed method used for this study:

1. Topics extraction:

� Personal knowledge + Seminal papers

2. Data mining

� From the CBSE, WICSA, ECSA, and QoSA

conferences

� From 1999 to 2016

3.3.3.3. Reasoning on the resultsReasoning on the resultsReasoning on the resultsReasoning on the results

1

2

3

Page 32: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

33

3

Page 33: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

Topics Granularity (look at the trend!)

«Only» four (domain-specific) conferences

2016 is incomplete! (ECSA 2016 missing)

34

Page 34: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

OVERALL VIEW ON RESULTS

35

Page 35: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

36

17 18

11

17

44

49

34

52

71

52

42

88

49

56

76

60

74

0

10

20

30

40

50

60

70

80

90

100

YEAR

1999

YEAR

2001

YEAR

2002

YEAR

2003

YEAR

2004

YEAR

2005

YEAR

2006

YEAR

2007

YEAR

2008

YEAR

2009

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

Publications (WICSA/CBSE/QoSA/ECSA) 1999-2016*

Page 36: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

37

Risks

Design

Decisions

Assessment

Product Line

Architecture

Analysis

Quality

Architecture

Description

Languages

Style

Views

Page 37: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Vote at: goo.gl/Gje2zE

Page 38: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

Top five:

1. Analysis (194)

─ Performance (96)

─ Security (27)

─ Consistency (24)

2. Design Decisions (127)

3. Quality (104)

4. Style (68)

5. Views (67)

(TOT=811 (TOT=811 (TOT=811 (TOT=811 paperspaperspaperspapers))))

Page 39: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

40

17 18

11

17

44

49

34

52

71

52

42

88

49

56

76

60

74

42 2 2

8

14

10 10

19

9 8

25

1513

1916

19

1 2 10

3

75 6

12

8 8

16

9

1215

13

9

1 0 1 1

4

75

810

46

16

87

911

8

3 2 3 2

6

31

4

74 3

8

4 36 5 5

1 1 1 1

43

1

4

76

1

10

4 4 4

9

6

0

10

20

30

40

50

60

70

80

90

100

YEAR 1999 YEAR 2001YEAR 2002 YEAR 2003YEAR 2004 YEAR 2005YEAR 2006 YEAR 2007YEAR 2008 YEAR 2009YEAR 2010 YEAR 2011YEAR 2012 YEAR 2013YEAR 2014YEAR 2015 YEAR 2016

# of papers on a topicTOTAL Analysis Design Decisions Quality Style View

Page 40: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

41

0%

10%

20%

30%

40%

50%

60%

YEAR

1999

YEAR

2001

YEAR

2002

YEAR

2003

YEAR

2004

YEAR

2005

YEAR

2006

YEAR

2007

YEAR

2008

YEAR

2009

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

% of Top5 topics (over the total papers)

Page 41: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

42

Security

0%

5%

10%

15%

20%

25%

30%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

Security vs Performance vs Analysis

Security Performance Analysis (general)Serie1

0%

5%

10%

15%

20%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

3%0%

9%3%

9%14%16%15%14%

8%13%

18% 17%12% 12%

18%

11%

Quality: % of papers

Serie1

0%

5%

10%

15%

20%

25%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

7% 9% 13%

2%8%

13%14%11%

17% 15% 19% 18% 17%22%

19% 22%

12%

Design Decisions: % of papers

Page 42: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

43

Security

0%

5%

10%

15%

20%

25%

30%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

Security vs Performance vs Analysis

Security Performance Analysis (general)

Serie1

0%

10%

20%

30%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

18%13%

25%

12%14%

5%1%

7% 10% 8% 8% 9% 8%5% 8% 8%

6%

Style: % of papers

Serie1

0%

5%

10%

15%

20%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

6% 7%12%

6%10%

6%1%

7% 10% 11%

2%

11%8% 7%

5%

16%

7%

View: % of papers

Page 43: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

TRENDS

44

Page 44: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

45

18%13%

25%

12%14%

5%1%

7%10% 8% 8% 9% 8% 5% 8% 8% 6%

0%

5%

10%

15%

20%

25%

30% Style: % of papers

3%

9%

5%

0%

3%2% 2%

1% 1%

9%

2%

7%5%

2% 2% 2% 3%

0%

1%

2%

3%

4%

5%

6%

7%

8%

9%

10%

Product Line: % of papers

24%

9%

18%14%

18%

28%28%

19%

27%

17%19%

28%30%

23%25%

27%26%

0%

5%

10%

15%

20%

25%

30%

35%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

Analysis: % of papers

7%9%

13%

2%

8%

13%14%11%

17%15%19%18%17%

22%19%

22%

12%

0%

5%

10%

15%

20%

25%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16Design Decisions: % of papers

3%

0%

9%

3%

9%

14%16%15%

14%

8%

13%

18%17%

12%12%

18%

11%

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%Y

EA

R 1

99

9

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

Quality: % of papers

Page 45: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

46

6%7%

12%

6%

10%

6%

1%

7%

10%11%

2%

11%8% 7%

5%

16%

7%

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

View: % of papers

0% 0% 0% 0% 0% 0% 0% 0% 0%

2%

0%

4%

0% 0%

3%

0%

1%

-1%

0%

1%

1%

2%

2%

3%

3%

4%

4%

5%

YE

AR

19

99

YE

AR

20

01

YE

AR

20

02

YE

AR

20

03

YE

AR

20

04

YE

AR

20

05

YE

AR

20

06

YE

AR

20

07

YE

AR

20

08

YE

AR

20

09

YE

AR

20

10

YE

AR

20

11

YE

AR

20

12

YE

AR

20

13

YE

AR

20

14

YE

AR

20

15

YE

AR

20

16

ReferenceArchitecture: % of papers

Reference Architecture

{much less than expected}

0%

2%

0% 0%

3%2%

4%5%

2%3%

0%

5%

3%

4%

2%

4%

6%

0%

1%

2%

3%

4%

5%

6%

7%

Cost Estimation: % of papers

Cost estimation

{pick 6% in 2016}

Page 46: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

• AgileAgileAgileAgile [0% -> 3%] {emerging since 2009}

• DevOpsDevOpsDevOpsDevOps [0,5% -2%] {emerging since 2011}

• TechTechTechTech DebtDebtDebtDebt [0% - 2%] {emerging since 2012}

• CPSCPSCPSCPS [0% - 2%] {emerging since 2012} (pick 4% in 2016)

• EcosystemsEcosystemsEcosystemsEcosystems [0% -2%] {emerging since 2012} (pick 5% in 2016)

• RiskRiskRiskRisk [0% -> 3%] (non null since 2005)

47

Page 47: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

48

8% 9% 8%

5%8% 8%

6%

0%

2%

4%

6%

8%

10%

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

Style: % of papers 2010-2016

2%

11%8% 7%

5%

16%

7%

0%

5%

10%

15%

20%

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

View: % of papers 2010-2016

19%

28% 30%

23% 25% 27% 26%

0%

5%

10%

15%

20%

25%

30%

35%

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

Analysis: % of papers 2010-2016

19% 18% 17%

22%19%

22%

12%

0%

5%

10%

15%

20%

25%

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

Design Decisions: % of papers 2010-2016

13%

18%17%

12% 12%

18%

11%

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

YEAR 2010 YEAR 2011 YEAR 2012 YEAR 2013 YEAR 2014 YEAR 2015 YEAR 2016

Quality: % of papers 2010-2016

Page 48: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

49

1%

4%

0%

1%2%

4%

3%

0%

1%

1%

2%

2%

3%

3%

4%

4%

5%

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

Agility: % of papers 2010-2016

0% 0%

2% 2%1%

4%

2%

0%

1%

1%

2%

2%

3%

3%

4%

4%

5%

5%

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

Technical Debt: % of papers 2010-2016

0% 0%

2%

0%

1%

2%

4%

-1%

0%

1%

2%

3%

4%

5%

YEAR

2010

YEAR

2011

YEAR

2012

YEAR

2013

YEAR

2014

YEAR

2015

YEAR

2016

CPS: % of papers 2010-2016

0% 0%

2%1% 1%

2%

5%

-1%

0%

1%

2%

3%

4%

5%

6%

YEAR 2010 YEAR 2011 YEAR 2012 YEAR 2013 YEAR 2014 YEAR 2015 YEAR 2016

EcoSys: % of papers 2010-2016

Page 49: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

50

Style

Quality

Design decisions

Architecture description

1992 today

Views

Analysis

CPS

Ecosystem

Agility

Ecosystems

Page 50: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

52

? How the Software Architecture

field evolvedevolvedevolvedevolved over timeover timeover timeover time?

REFLECTIONSREFLECTIONSREFLECTIONSREFLECTIONSlookinglookinglookinglooking atatatat the the the the nearnearnearnear future from the future from the future from the future from the pastpastpastpast

1

1992 today

Page 51: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

application domains: CPS, IoT, Smart mobile

systems

type of (concern): Self-Adaptive, autonomous,

dynamic, uncertain

process: DevOps & Agile

style: micro services

analysis: security, resilience

description: collaborative, MDE, decisions

53

Page 52: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

MultiMultiMultiMulti----ViewViewViewView boom: trends and boom: trends and boom: trends and boom: trends and issuesissuesissuesissues

Practitioners’ need for SAPractitioners’ need for SAPractitioners’ need for SAPractitioners’ need for SA----based Analysis based Analysis based Analysis based Analysis

It is time to «collaborate»!It is time to «collaborate»!It is time to «collaborate»!It is time to «collaborate»!

CPS, IoT, Smart Systems: again from Software CPS, IoT, Smart Systems: again from Software CPS, IoT, Smart Systems: again from Software CPS, IoT, Smart Systems: again from Software to Systemto Systemto Systemto System

From dependable to resilient systems in the era From dependable to resilient systems in the era From dependable to resilient systems in the era From dependable to resilient systems in the era of selfof selfof selfof self----Adaptive and Autonomous architecturesAdaptive and Autonomous architecturesAdaptive and Autonomous architecturesAdaptive and Autonomous architectures

54

Page 53: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

An industrial An industrial An industrial An industrial practicepracticepracticepractice, , , , beingbeingbeingbeing

consolidatedconsolidatedconsolidatedconsolidated over 15 over 15 over 15 over 15 yearsyearsyearsyears! ! ! !

ButButButBut stillstillstillstill…………

55

MultiMultiMultiMulti----ViewViewViewView Boom!Boom!Boom!Boom!

0%

10%

20%

YEAR

1999YEAR

2001YEAR

2002YEAR

2003YEAR

2004YEAR

2005YEAR

2006YEAR

2007YEAR

2008YEAR

2009YEAR

2010YEAR

2011YEAR

2012YEAR

2013YEAR

2014YEAR

2015YEAR

2016

6% 7% 12%6% 10%

6%1% 7% 10% 11%

2%11%

8%7%

5%

16%

7%

View: % of papers

Page 54: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

56

IEEE Std 1471 (2000) ->ISO/IEC/IEEE 42010:2011

Using multiple views has

become standard practice in

industry!! [TSE2013]

� 85% uses multiple views

05

1015202530354045

Type of viewsType of viewsType of viewsType of views

Multi-view

consistency:

missing feature

Page 55: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

Analysis Analysis Analysis Analysis isisisis a big a big a big a big needneedneedneed… and … and … and … and

practicedpracticedpracticedpracticed… … … … butbutbutbut practitionerspractitionerspractitionerspractitioners are are are are

quitequitequitequite unhappyunhappyunhappyunhappy!!!!

57

PractitionersPractitionersPractitionersPractitioners’ ’ ’ ’ need need need need for for for for SASASASA----basedbasedbasedbased Analysis Analysis Analysis Analysis

0%

20%

40%

YEAR

1999YEAR

2001YEAR

2002YEAR

2003YEAR

2004YEAR

2005YEAR

2006YEAR

2007YEAR

2008YEAR

2009YEAR

2010YEAR

2011YEAR

2012YEAR

2013YEAR

2014YEAR

2015YEAR

2016

24%9% 18% 14% 18% 28% 28%

19% 27%17% 19% 28% 30%

23% 25% 27%26%

Analysis: % of papers

Page 56: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

58

-1+1

-1+1

05

10152025

Architectural Languages: Type of needs

63%37%

10%

Need for analysis

yes no blank

48%

4%8%

24%

12%

Kind of analyzed properties

Extra-functional

properties

Functional properties

HW/SW integration

Behavior

No info

35%

20%

45%

Level of satisfaction

Satisfied

Neutral

Not satisfied

Dissatisfaction

with ALs

Page 57: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

ArchitectingArchitectingArchitectingArchitecting = Group = Group = Group = Group DecisionDecisionDecisionDecision

MakingMakingMakingMaking and Collaborative and Collaborative and Collaborative and Collaborative

ArchitecturalArchitecturalArchitecturalArchitectural DesignDesignDesignDesign

59

ItItItIt isisisis time to «time to «time to «time to «ccccollaborate»!ollaborate»!ollaborate»!ollaborate»!

Serie1

0%

10%

20%

YEAR

1999YEAR

2001YEAR

2002YEAR

2003YEAR

2004YEAR

2005YEAR

2006YEAR

2007YEAR

2008YEAR

2009YEAR

2010YEAR

2011YEAR

2012YEAR

2013YEAR

2014YEAR

2015YEAR

2016

15%18%17%

4% 7% 6% 4% 5% 3% 5% 7%5% 11%

6% 8%5% 5%

Architecture Description: % of papers

Page 58: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

60

Data

View

oth

er

mo

dels

Hardwar

e View

Software

Architect

ure

Descripti

onBusin

ess

View

Structure

View

oth

er

mo

dels

oth

er

vie

ws

� 5555----10 10 10 10 peoplepeoplepeoplepeople involvedinvolvedinvolvedinvolved in in in in

decisiondecisiondecisiondecision makingmakingmakingmaking

� 21 different macro-

roles represented[WICSA2014]

NeedNeedNeedNeed::::� Collaborative (group)

decision making� Collaborative Design

Page 59: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

New views, new challenges

61

CPS, CPS, CPS, CPS, IoTIoTIoTIoT, Smart Systems: , Smart Systems: , Smart Systems: , Smart Systems:

From From From From Software to Software to Software to Software to System ArchitectureSystem ArchitectureSystem ArchitectureSystem Architecture

Serie1

0%

2%

4%

6%

YEAR

1999YEAR

2001YEAR

2002YEAR

2003YEAR

2004YEAR

2005YEAR

2006YEAR

2007YEAR

2008YEAR

2009YEAR

2010YEAR

2011YEAR

2012YEAR

2013YEAR

2014YEAR

2015YEAR

2016

0% 0% 0% 0% 0% 0% 1%0% 1% 0% 0% 0%

2%0% 1% 2%

4%

CPS: % of papers

Page 60: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

62

4

9

13

14

20

23

24

26

44

51

52

0 10 20 30 40 50 60

TESTABILITY

SECURITY

MAINTAINABI…

FLEXIBILITY

RELIABILITY

DEPENDABILITY

COMPATIBILITY

MODIFIABILITY

PORTABILITY

SURVIVABILITY

PERFORMANCE

[SANCS2015]

NeedNeedNeedNeed::::� Sensors and Actuators

� New Modelling Languages

� Control theory

� Physical components

Page 61: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

63

From dependable to resilient systems in From dependable to resilient systems in From dependable to resilient systems in From dependable to resilient systems in

the era of selfthe era of selfthe era of selfthe era of self----Adaptive and Autonomous Adaptive and Autonomous Adaptive and Autonomous Adaptive and Autonomous

architecturesarchitecturesarchitecturesarchitectures

Serie1

0%

10%

20%

YEAR

1999YEAR

2001YEAR

2002YEAR

2003YEAR

2004YEAR

2005YEAR

2006YEAR

2007YEAR

2008YEAR

2009YEAR

2010YEAR

2011YEAR

2012YEAR

2013YEAR

2014YEAR

2015YEAR

2016

9%7%

16%9% 11%

4% 6% 11%6% 8%

18%

5%

15%

10% 12% 13%10%

Adaptive: % of papers

SelfSelfSelfSelf----AdaptiveAdaptiveAdaptiveAdaptive applicationsapplicationsapplicationsapplications shallshallshallshall selfselfselfself----

fixfixfixfix themselvesthemselvesthemselvesthemselves????

Page 62: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

64

1992 1999 today

CPS

Style

Quality

Views

Analysis

Page 63: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

65

www.henrymuccini.com

http://mobilesoftconf.org/2017/

www.softwarearchitecture.org

Page 64: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Henry Muccini @ www.slideshare.net/henry.muccini/

[WICSA2014] V. Smrithi Rekha, Henry Muccini:A Study on Group DecisionA Study on Group DecisionA Study on Group DecisionA Study on Group Decision----Making in Software Making in Software Making in Software Making in Software Architecture.Architecture.Architecture.Architecture. WICSA 2014: 185-194

[TSE2013] Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, Antony Tang: WhatIndustry Needs from Architectural Languages: A Survey. IEEE Trans. Software Eng. 39(6): 869-891 (2013)

[SANC2015] Ivano Malavolta, Henry Muccini, Mohammad Sharaf: A Preliminary Study on ArchitectingCyber-Physical Systems. ECSA Workshops 2015: 20:1-20:6

66

Page 65: Exploring Exploring the Temporal the Temporal the Temporal ...€¦ · time” – exploring the temporal aspects of software architecture. continuity , evolution and decay , the

Università degli Studi dell’Aquila

Exploring Exploring Exploring Exploring the Temporal the Temporal the Temporal the Temporal Aspects Aspects Aspects Aspects

of Software Architectureof Software Architectureof Software Architectureof Software Architecture

Henry MucciniHenry MucciniHenry MucciniHenry MucciniDISIM, DISIM, DISIM, DISIM, UniversityUniversityUniversityUniversity of L’Aquila, of L’Aquila, of L’Aquila, of L’Aquila, ItalyItalyItalyItaly

[email protected]@[email protected]@univaq.it, @, @, @, @muccinihenrymuccinihenrymuccinihenrymuccinihenry, www.henrymuccini.com, www.henrymuccini.com, www.henrymuccini.com, www.henrymuccini.com

Keynote at ICSOFT 2016

Slides available at: http://www.slideshare.net/henry.muccini/