arteon: architectural and technology ontology

37
GESSI Software Engineering for Information Systems Group Arteon ARchitectural and TEchnology ONtology

Upload: gessi-upc

Post on 14-Jun-2015

101 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Arteon: Architectural and Technology Ontology

GESSISoftware Engineering for Information Systems Group

Arteon

ARchitectural and TEchnology ONtology

Page 2: Arteon: Architectural and Technology Ontology

2

Arteon presentation

Outline• Context• Method• Arteon• Ongoing work

Page 3: Arteon: Architectural and Technology Ontology

3

Arteon presentation

CONTEXTThe things we must know before we enter into details

Page 4: Arteon: Architectural and Technology Ontology

4

Arteon presentation

Context: Related concepts

Page 5: Arteon: Architectural and Technology Ontology

5

Arteon presentation

Context: Related concepts

Page 6: Arteon: Architectural and Technology Ontology

6

Arteon presentation

Context: Overview

Knowledge

Arteon

SRSNF

Current and other systems

Human support

Architectural decisions

ArchiTech

Method

Architectural views

LogicalDeployment

PhysicalProcess

Code

SRSF

Views Generation

Page 7: Arteon: Architectural and Technology Ontology

7

Arteon presentation

Context: Method

Requirements analysis

Human support

SRSNF

Current and other systems

Constraints and Quality

goals

Architectural decision making

Architectural decisions

ARTEON

Page 8: Arteon: Architectural and Technology Ontology

8

Arteon presentation

METHODUnderstanding the method with examples

Page 9: Arteon: Architectural and Technology Ontology

9

Arteon presentation

Method: The requirements

Requirements analysis

Human support

SRSNF

Current and other systems

Constraints and Quality

goals

Architectural decision making

Architectural decisions

ARTEON

Page 10: Arteon: Architectural and Technology Ontology

10

Arteon presentation

Method: The requirements• Non-Functional Requirements:

NF1: The system should be developed with Open Source Software (OSS)

NF2: The data should be stored in each organization

NF3: The system should allow operation from each organization

Page 11: Arteon: Architectural and Technology Ontology

11

Arteon presentation

Method: Requirements analysis

Requirements analysis

Human support

SRSNF

Current and other systems

Constraints and Quality

goals

Architectural decision making

Architectural decisions

ARTEON

Page 12: Arteon: Architectural and Technology Ontology

12

Arteon presentation

Method: Requirements analysis• Requirements analysis:

NF1: The system should be developed with Open Source Software (OSS)• C1: Property “License type” equal to “OSS”• G1: Community involvement

NF2: The data should be stored in each organization• C2: Property “Persistence” equal to “distributed”

• G2: Security

NF3: The system should allow operation from each organization• C3: Property “Access type” includes “remote access”

• G3: Availability

Page 13: Arteon: Architectural and Technology Ontology

13

Arteon presentation

Method: Decision making

Requirements analysis

Human support

SRSNF

Current and other systems

Constraints and Quality

goals

Architectural decision making

Architectural decisions

ARTEON

Page 14: Arteon: Architectural and Technology Ontology

14

Arteon presentation

Method: Decision making• Making decisions (two ways):

Constraint satisfaction decisions (quantitative)• Constraints over properties of the elements of the

system

Quality-oriented decisions (qualitative)• Knowledge of decisions• Relation between decisions and quality attributes

• We think that both ways can be used together

Page 15: Arteon: Architectural and Technology Ontology

15

Arteon presentation

Decide to use

elements

Add new constraints

Evaluate constraints

Decision making: 1st way• Constraint satisfaction decisions (1st way)

• Four iterations: Architectural styles Architectural

components

Technological styles Technologies

Page 16: Arteon: Architectural and Technology Ontology

16

Arteon presentation

1st way

Arch. styles C1 C2 C3

3-Layer

SOA

Blackboard

Pipe and filter

MVC

• C1: Property “License type” equal to “OSS”• C2: Property “Persistence” equal to “Distributed”• C3: Property “Access type” includes “Remote access”

AllowDeny

Human support

Evaluate constraints

Decide to use

elements

Add new constraints

Page 17: Arteon: Architectural and Technology Ontology

17

Arteon presentation

AllowDeny

1st way

Arch. Components C1 C2 C3 C4 C5 C6

Presentation layer

Remote presentation

Persistence layer

Distributed persistence

Domain layer

• C4: “3-Layer” requires “Presentation layer”• C5: “3-Layer” requires “Domain layer”• C6: “3-Layer” requires “Persistence layer”

Evaluate constraints

Decide to use

elements

Add new constraints

Page 18: Arteon: Architectural and Technology Ontology

18

Arteon presentation

1st way

Tech. styles C1 C2 C3

Java

LAMP

.NET

• C1: Property “License type” equal to “OSS”• C2: Property “Persistence” equal to “Distributed”• C3: Property “Access type” includes “Remote access”

• No new constraints.

Human support

Evaluate constraints

Decide to use

elements

Add new constraints

LAMP is an acronym of a set of software subsystems used to build a global solution.

AllowDeny

Page 19: Arteon: Architectural and Technology Ontology

19

Arteon presentation

1st way• C7: “LAMP” requires “Web server” implemented by “Apache”

• C8: “LAMP” requires “DBMS” implemented by “MySQL”

Technologies C7 C8

Web server

Apache

DBMS

MySQL

Evaluate constraints

Decide to use

elements

Add new constraints

AllowDeny

Page 20: Arteon: Architectural and Technology Ontology

20

Arteon presentation

Decision making: 2nd way• Quality-oriented decisions (2nd way)

Select decisions

Increase knowledge

Evaluate quality

Page 21: Arteon: Architectural and Technology Ontology

21

Arteon presentation

2nd way• Which are the quality goals?

Community involvement Security Availability

• In a real case it will be similar to: 50% security related requirements 30% usability related requirements 20% efficiency related requirements

Human support

Evaluate quality

Select decisions

Increase knowledge

Page 22: Arteon: Architectural and Technology Ontology

22

Arteon presentation

2nd way• Security related decisions

Authentication facilities Secure communication User account management …

• Selecting one or more decisions will impact on new constraints E.g. secure communications will require some

technology such as SSL.

Evaluate quality

Select decisions

Increase knowledge

Page 23: Arteon: Architectural and Technology Ontology

23

Arteon presentation

2nd way• Two ways to increase the knowledge:

Learning: when a new decision is made from a constraint imposed by a NFR. The decision is related to the quality property where the NFR was classified.

Reliability: when a decision is selected in the quality-oriented decisions process its reliability is increased in relation to the quality property.

Evaluate quality

Select decisions

Increase knowledge

Page 24: Arteon: Architectural and Technology Ontology

24

Arteon presentation

ARTEONModel representation of Arteon

Page 25: Arteon: Architectural and Technology Ontology

25

Arteon presentation

Arteon: Overview• We have 3 in 1 ontologies

Requirements Architectural elements Reasoning

• The ontology is build in UML

• More than 20 interrelated concepts

Page 26: Arteon: Architectural and Technology Ontology

26

Arteon presentation

Arteon: Requirements• Totally simplified to reuse existing works

• The ontology can represent all kinds of requirements, but we only consider NFRs.

• The requirements (NFRs) should be: Measurable / Checkable Classified in a quality model Formalized (e.g. i*)

Page 27: Arteon: Architectural and Technology Ontology

27

Arteon presentation

Arteon: Architectural elements• “3-Layer”, “Layered”• “3-Layer” specializes “Layered”• “Presentation layer”, “Domain layer”, etc.• “3-Layer” use “Presentation layer”, etc.• “Distributed persistence”, “Remote presentation”• “Distributed persistence” combinable with “Remote

presentation”• “Distributed persistence” variation for “3-layer”

Page 28: Arteon: Architectural and Technology Ontology

28

Arteon presentation

Arteon: Architectural elements• “LAMP”, “Stack solution”• “LAMP” specializes “Stack solution”• “BDMS”, “Web server”, etc.• “Stack solution” use “BDMS”, etc.• “Distributed DBMS”• “Apache”, “MySQL”, etc.• “DBMS” implementable by “MySQL”

Page 29: Arteon: Architectural and Technology Ontology

29

Arteon presentation

Arteon: Architectural elements• There are many similarities between

architecture and technology

• So, we put it all together

Page 30: Arteon: Architectural and Technology Ontology

30

Arteon presentation

Arteon: Reasoning• Which is the relationship with requirements?

Page 31: Arteon: Architectural and Technology Ontology

31

Arteon presentation

Arteon: Reasoning• Which is the relationship with architectural

elements?

Page 32: Arteon: Architectural and Technology Ontology

32

Arteon presentation

Arteon: Reasoning• C1: Property “License type” equal to

“OSS”

• Element “LAMP” have the property “License type” with the

value “OSS”

Page 33: Arteon: Architectural and Technology Ontology

33

Arteon presentation

Arteon: Reasoning• C1 is satisfied by element “LAMP”

• We make the decision “D1” to use element “LAMP” We know that the “Community involvement” quality is helped by

the decision “D1” (Knowledge acquisition!)

Human support

Page 34: Arteon: Architectural and Technology Ontology

34

Arteon presentation

Arteon: Reasoning• “LAMP” requires “SGBD”

• Really means: “LAMP” impose the decision to use “SGBD”

Page 35: Arteon: Architectural and Technology Ontology

35

Arteon presentation

ONGOING WORKWhat are we going to do from now on

Page 36: Arteon: Architectural and Technology Ontology

36

Arteon presentation

Ongoing work• Exploratory work: Survey, interviews• Ontology design improvements• Analysis of the ontology quality• Population of the ontology (knowledge)• Validation (case of study)• Tool support

Page 37: Arteon: Architectural and Technology Ontology

GESSISoftware Engineering for Information Systems Group

Comments and questions

David Ameller <[email protected]>