Dynamical System Modeling and Stability Investigation�DSMSI-2025
May 08-10, 2025, Kyiv, Ukraine
ARCHITECTURAL PRINCIPLES FOR IMPLEMENTING ADAPTIVE SOFTWARE BEHAVIOR STRATEGIES
Bychkov O., Taras Shevchenko National University of Kyiv
Moroz M., Taras Shevchenko National University of Kyiv
�
Introduction
Dynamical System Modeling and Stability Investigation, DSMSI-2025
Problem Statement
Dynamical System Modeling and Stability Investigation, DSMSI-2025
UML class diagram of the proposed pattern
Dynamical System Modeling and Stability Investigation, DSMSI-2025
UML sequence diagram of the proposed pattern
Dynamical System Modeling and Stability Investigation, DSMSI-2025
Static design metrics
Dynamical System Modeling and Stability Investigation, DSMSI-2025
Metric | Direct-call (baseline) | Event-driven (our design) |
Coupling Between Objects (CBO) | 14 | 4 |
Lack of Cohesion of Methods (LCOM) | 0.78 | 0.19 |
Response For Class (RFC) | 43 | 36 |
Depth of Inheritance Tree (DIT, max) | 2 | 3 |
The pattern eliminates most direct dependencies because publishers never name subscribers; responsibility is narrowed to well-defined strategy classes, raising cohesion and lowering communication complexity. The single extra inheritance level stems from interface extraction and does not materially influence understandability.
Change-impact comparison
Dynamical System Modeling and Stability Investigation, DSMSI-2025
Across scenarios the pattern confines edits to extension points and avoids cross-cutting refactors, confirming superior ease of extension and maintenance.
Scenario description | Changes in baseline | Relative impact on baseline | Changes in our design | Relative impact on our design |
1. New event type | Modify detector, tracker, controller logic; refactor conditional branches | high | Add enumeration constant, implement one strategy, register in selector | low |
2. Replace tracker algorithm | Alter tracker class | low | Insert new strategy; legacy strategy remains intact | low |
3. Introduce a monitoring module for logging events | Add logging calls into existing classes | moderate | Implement subscriber, subscribe to events; zero changes elsewhere | low |
Comparison of our pattern and other approaches/frameworks
Dynamical System Modeling and Stability Investigation, DSMSI-2025
Criterion | Proposed pattern | Self-healing loops (MAPE-K) [3,4] | Self-adaptive pattern catalogues [8,12,13] | Dynamic reconfiguration taxonomies [14,15] | Traditional fault-tolerant recovery technics [17] |
Adaptation trigger | Typed in-process events | External monitors & analysers | Explicit monitors or embedded sensors | Architectural state-machine guards | Error detectors, watchdogs |
Granularity of change | Strategy swap inside module | Component or service restarts | Varies (algorithm/service) | Component, connector, configuration | Whole module rollback |
Coupling level | Moderate (pub-sub decoupling) | Moderate (shared knowledge base) | Mixed; often direct callback links | Moderate (coordination controllers) | High (static bindings) |
Ease of extension | Moderate: add new strategy or event | Moderate: update knowledge rules | Moderate: integrate new pattern | Low-moderate: new states + guards | Low: code recompilation |
Stability guarantee | Strategy switch when event triggered; default fallback strategy; relies on designer | Rule-based; depends on plan quality | Heuristic – no formal bound | Often informal; relies on designer | Formal if recovery block correct |
Conclusions
Dynamical System Modeling and Stability Investigation, DSMSI-2025
Strengths of the proposed pattern:
Weaknesses and trade-offs:
Thank you for your attention