GESSISoftware Engineering for Information Systems Group
Arteon
ARchitectural and TEchnology ONtology
2
Arteon presentation
Outline• Context• Method• Arteon• Ongoing work
3
Arteon presentation
CONTEXTThe things we must know before we enter into details
4
Arteon presentation
Context: Related concepts
5
Arteon presentation
Context: Related concepts
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
7
Arteon presentation
Context: Method
Requirements analysis
Human support
SRSNF
Current and other systems
Constraints and Quality
goals
Architectural decision making
Architectural decisions
ARTEON
8
Arteon presentation
METHODUnderstanding the method with examples
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
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
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
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
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
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
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
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
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
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
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
20
Arteon presentation
Decision making: 2nd way• Quality-oriented decisions (2nd way)
Select decisions
Increase knowledge
Evaluate quality
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
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
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
24
Arteon presentation
ARTEONModel representation of Arteon
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
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*)
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”
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”
29
Arteon presentation
Arteon: Architectural elements• There are many similarities between
architecture and technology
• So, we put it all together
30
Arteon presentation
Arteon: Reasoning• Which is the relationship with requirements?
31
Arteon presentation
Arteon: Reasoning• Which is the relationship with architectural
elements?
32
Arteon presentation
Arteon: Reasoning• C1: Property “License type” equal to
“OSS”
• Element “LAMP” have the property “License type” with the
value “OSS”
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
34
Arteon presentation
Arteon: Reasoning• “LAMP” requires “SGBD”
• Really means: “LAMP” impose the decision to use “SGBD”
35
Arteon presentation
ONGOING WORKWhat are we going to do from now on
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
GESSISoftware Engineering for Information Systems Group
Comments and questions
David Ameller <[email protected]>
Top Related