My Speech at Saturn 2019. This presentation is about
the SEI Architecture Tradeoff Analysis Method (ATAM) based architectural analysis of a IIOT system that collects data from thousands of end devices for recording, analysis and display,
and its risks, sensitivity points, and tradeoffs identified during scenario-based analysis.
Developing IIOT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
1. 1
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
SATURN 2019
Developing IIOT System Using
Microservices and Its Architectural
Evaluation Using
ATAM (Architectural Trade Off
Method)
Sercan Cidem
Expert Software Engineer
Aselsan
2. 2
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
About me
• @sercancidem
• Expert Developer at Aselsan
• Architecture, DevOps, 8 years of experience
• Works on experimenting with the cutting edge of cloud technologies
like Kubernetes & Microservices
• Interested in the Cloud, Big Data, Iot Technologies and improving
company culture
3. 3
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
About Aselsan Inc.
• ASELSAN is the largest defense electronics company of Turkey.
• Listed as one of the top 100 defense companies of the world (Defense News
Top 100).
• ASELSAN UGES specialized on IIOT products for Transportation, Security,
Energy and Medical systems.
4. 4
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Outline
• Introduction
• Architectural Design and Analysis
• Business Drivers
• Quality Attributes, Scenarios and Architectural Analysis
• Result
5. 5
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Introduction
Product Owner: Aselsan Transportation, Security, Energy and Automation Systems Sector
Presidency (UGES)
Project: An infrastructure project aimed to control field assets from various domains
remotely. (energy, manufacturing, pipeline, etc.)
Converting the data received from the remote terminal units on the relevant protocols to the
common data model and storing & analyzing of this data
Primary Target: Electricity network grid management (Energy Distribution, Generation,
Transmission Systems)
Project Model: Working with subcontractor for design, software development and execution
of tests
Project Type: I-Iot Application(Distribution Network-Power grid quality monitoring system),
developed for one of the biggest electricity distribution utility in Turkey. (Türkiye - BEDAS)
6. 6
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Endüstriyel Nesnelerin İnterneti Referans Mimarisi
Rabbit MQ
Devices
Sensors
Remote
Terminal Unit
Adapter Topologies
Standard Middleware
Current Protocol
CIM Data ModelCurrent Protocol
Web Based User Interface
Dashboard
Alarm Manager
Communication
Manager
User Manager
Topology
Docker Swarm
Overall Architecture (Implementation Viewpoint)
7. 7
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Software Architectural Design Process
8. 8
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Architecture Tradeoff Analysis Method
“The Architecture Tradeoff Analysis Method (ATAM) is a
method for evaluating software architectures relative to
quality attribute goals. ATAM evaluations expose
architectural risks that potentially inhibit the
achievement of an organization's business goals”
- Software Engineering Institute
9. 9
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
ATAM Process
Presentation
1. Present the ATAM
2. Present business drivers
3. Present Architecture
Investigation and Analysis
4. Identify Architectural Approaches
5. Generate Quality Attribute Utility Tree
6. Analyze Architectural Approaches
Testing
7. Brainstorm and Prioritize Scenarios
8. Analyze Architectural Approaches
Reporting
9. Present Results
10. 10
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensitivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
Impacts
Distilled
into
11. 11
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensitivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
• Stakeholders and their
Effects on Architecture
• Scope of Work
• Main Use Cases
affecting architecture
• Architectural
Concerns
• Limitations
Analysis
12. 12
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarious
Conceptual Flow of ATAM-Based Architectural Analysis
• Stakeholders and their
Effects on Architecture
• Scope of Work
• Main Use Cases
affecting architecture
• Architectural
Concerns
• Limitations
Analysis
Aselsan UGES Sector Presidency:
• Owns product and architectural design.
• Reuse reference architecture in multiple project as an
objective,
• Determines system requirements,
• Creates and directs the architecture,
• Technical orientation of software development activities,
• Participates in software development activities in certain
areas.
Subcontractor:
• The company conducts architectural design activities
with Aselsan,
• Develops software.
End Customer:
• Distribution utility operators, determines user rqmts
13. 13
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarious
Conceptual Flow of ATAM-Based Architectural Analysis
• Stakeholders and their
Effects on Architecture
• Scope of Work
• Main Use Cases
affecting architecture
• Architectural
Concerns
• Limitations
Analysis• All kinds of supply management (energy, natural
gas, water, etc.)
• First: electricity network grid management
(distribution, generation, transmission)
• High service availability 🡪 can be used for mission
critical systems
• A marketable product with interoperable and easy
installation
• Medium-term online stream analytics (alarm
generation) and machine learning
14. 14
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarious
Conceptual Flow of ATAM-Based Architectural Analysis
• Stakeholders and their
Effects on Architecture
• Scope of Work
• Main Use Cases
affecting architecture
• Architectural
Concerns
• Limitations
Analysis
UC-1. Real-time display of data
UC-2. Saving to the database
UC-3. Creation of graphics
UC-4. Establishment and display of alarm conditions
UC-5 Sending command or configuration data
UC-6 Data analytics algorithms operation
15. 15
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarious
Conceptual Flow of ATAM-Based Architectural Analysis
• Stakeholders and their
Effects on Architecture
• Scope of Work
• Main Use Cases
affecting architecture
• Architectural
Concerns
• Limitations
Analysis• Work on both local servers and cloud
• Scalability
• 7/24 working
• Redundant infrastructure
• Infrastructure capable of working clustered
• Support new protocols on external interfaces
• Service error / health etc. monitor their status
• Configure different external interfaces and
capabilities in projects
• Elimination of new software services
16. 16
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensitivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
• Stakeholders and their
Effects on Architecture
• Scope of Work
• Main Use Cases
affecting architecture
• Architectural
Concerns
• Limitations
Analysis
• Prototype product within 1 year from the start of
the project
• The product supports the CIM [14] standard data
model
• Independent of operating system
• Multisite and multiteam development (teams
working in different companies)
• Use of only open source software libraries (such as
GPL, LGPL, Apache)
17. 17
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensitivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
No Quality Attribute Scenario Importance
H: High
M: Moderate
L: Low
Difficulty
H: High
M: Moderate
L: Low
Perf-1 Performance-presentation time Lossless processing of data from IIOT Edge Devices. H H
Cont-1 Availability Server software should be able to work redundant. H H
Intc-1
Interoperability New IIOT Edge devices and Energy Systems can be
integrated to the system through different protocols.
H M
Ext-1 Extensibility
New capabilities can be added to the system and / or existing
services can be closed.
H M
Usab-1 Usability
Monitoring and management with a minimum number of
operators.
M M
Main-1 Maintainability
Providing the recording infrastructure for monitoring of service
error / health etc. status.
M L
18. 18
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensitivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
Scenario #: Ext-1 | New capabilities can be added to the
system and / or existing services can be closed.
Environment: Maintenance and warranty period
Stimulus: Demand of a new feature
Response Measure: Number of modified services
19. 19
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensitivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
AnalysisMicroservices Architecture
RabbitMQ Message Queue
Container Structure
20. 20
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
Architectural decisions Sensitivity Tradeoff Risks Non-risks
Microservices Architecture
RabbitMQ Message Queue S1
Container Structure
21. 21
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensitivity Points
Trade offs
Risks
Risk Themes
Scenarious
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
Sensitivity / Compensation / Risk / Non-risk Definition
S1
Pay attention to be no other services
dependent on likely close services
22. 22
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Considering the micro service architecture,
performance, changeability and continuity are
prioritized.
In the upcoming period, more detailed analysis of
the existing scenarios will be made and the
security quality attribute scenarios will be worked
on.
It is aimed to analyze the data stored in the
subsequent stages of the project by techniques
such as deep learning, big data analysis and
machine learning.
Result
23. 23
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
SATURN 2019
Thank You
24. 24
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
SATURN 2019
Other Scenarios &
Overall Architecture Detailed
25. 25
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
Scenario #: Perf-1 | Lossless processing of data from transformers
Environment: Integrated working environment of the system
Stimulus: Providing data to the system at the prescribed frequency in
the given number of stations
Response Measure: Reference load status for lossless data: A state of
use: 15000 stations, 3500 measuring points per station, average 64
bytes of data from each measuring point (time, type, measurement
value, etc.), update every 10 minutes
26. 26
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
AnalysisRecording of data as time
series in the Elasticsearch
Database
Defining device connections,
database registration
mechanism and alarm
generation mechanisms as
Apache Storm topologies
27. 27
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarios
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
Architectural decisions Sensitivity Tradeoff Risks Non-risks
Recording data as time
series to Elasticsearch
database
S1 , S2
Defining device
connections, database
registration mechanism and
alarm generation
mechanisms as Apache
Storm topologies
S3
28. 28
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Business
Drivers
Quality
Attributes
Software
Architecture
Architectural
Approaches
Architectural
Decisions
Non-risks
Sensivity Points
Trade offs
Risks
Risk Themes
Scenarious
Conceptual Flow of ATAM-Based Architectural Analysis
Analysis
Sensitivity / Compensation / Risk / Non-risk Definition
S1 The disk system to be used for efficiently
storing of very high volume of data is also
important.
S2 Similarly, the disk size should be determined
by considering the data recording period.
S3 For performance viewpoint, the most critical
measurement data and the transfer between
modules should be optimized.
29. 29
Developing I-IoT System Using Microservices and Its Architectural Evaluation Using ATAM (Architectural Trade Off Method)
Overall Architecture Detailed