On Adequate Behavior-based Architecture Conformance Checks
1. On Adequate Behavior-based
Architecture Conformance Checks
Ana Nicolaescu
Horst Lichter
RWTH Aachen University
Veit Hoffmann
Generali Deutschland Informatik Services
2. What is a Software Architecture (Description)
“fundamental concepts or properties of a system in its environment embodied in its
elements, relationships, and in the principles of its design and evolution” (ISO/IEC/IEEE 42010)
2
Logical/Static View Development View
Physical ViewProcess/Behavior View
Scenarios
Kruchten’s 4+1
5. Static vs. Behavior View
5
Relation Behavior View Static View
Method Invocation / Instantiation Yes Yes
Extends / Implements / Import /
Variable Access
No Yes
Multi-process / Heterogenuos
Subsystems
Yes No
Remoting (REST, Queue, ...) /
Dynamic Usage (Reflection, DI, ...)
Yes No
Execution Frequency / Time / Order Yes No
6. Behavior-based Conformance Checks
6
● “It is a challenge for dynamic compliance checking to select
the right system execution scenario“ (Knodel et et al., 2008)
● “A challenge faced by any dynamic program monitoring tool
is ensuring sufficient execution coverage” (De Silva and Balasubramaniam, 2013)
● The extracted architectural facts are as good as the code
coverage (Ganesan et al., 2008)
8. Static vs. Behavior-based Conformance Checking
8
3
1217
ARAMIS Sonargraph
Architect
4 are in the scope of ARAMIS
ARAMIS vs. Sonargraph - number of violation types
file-systems violations
performance issues
use of external dependencies
9. ARAMIS
9
● ARchitectural Analysis and Monitoring InfraStructure
● Behavior-based architecture conformance checking
● Monitor & analyze communication
● Detect violations against specified
architecture rules
ARAMIS
11. Communication Rules in ARAMIS - Example
11
ValidatingMappingAdapting
Extracting
Implemented
Architecture
Description
Communication
Violations
ARAMIS
Workflow
Communication
Rules
Intended
Architecture
Description
12. Communication Rules in ARAMIS - Example
12
ValidatingMappingAdapting
Extracting
Implemented
Architecture
Description
Communication
Violations
ARAMIS
Workflow
Communication
Rules
Intended
Architecture
Description