CARD - Controlling Architectural Degradation in Real life Applications
1. CArD: Controlling
Architectural
Degradation in Real
life Applications
2. Overview
Software Architecture defines the structure of the system
in terms of its components, connectors and interactions.
It is a key tool widely used in the industry because:
Improves communication with stakeholders;
Facilitates early design decisions;
Promotes transferable abstractions of a system;
Considered as the basis for implementation
3. Overview(2)
Original design that is created prior the system’s
implementation is known as the prescriptive
architecture
The architecture reflecting the current implementation is
called the descriptive architecture.
The inconsistency between both architectures results in
architectural degradation.
5. Proposed System
Mapping of an entity in the model to its corresponding entity in
the implementation, and vice-versa.
Compare and conform involves the detection of any architectural
property violation between the two descriptions.
Master and Slave. The master can alternate between model and
implementation. The respective slave has to conform to the
master.
6. What is conformance?
Ensures that the model conforms to the implementation
or vice-versa.
A set of rules have been designed and implemented, such
as Inheritance Relationship Rule:
Definition: DA conforms to PA
if and only if every entity that
inherits from another entity in PA
is required to inherit an identical
entity type in its corresponding DA.
7. More Structural Rules…
Definition: Communication Integrity – Absent Link Rule.
DA conforms to PA if and only if every entity that communicates
with another entity
in PA is required to
have the same
association relationship
in its corresponding DA.
+ 19 more rules.
8. Extension - Interaction Rules
Definition: Temporal Rule. PA conforms to DA if and only if
the same sequence of method calls is maintained between PA and
DA.