Aspect-Oriented State Machines
Beschreibung
vor 13 Jahren
UML state machines are a widely used language for modeling software
behavior. They are considered to be simple and intuitively
comprehensible, and are hence one of the most popular languages for
modeling reactive components. However, this seeming ease to use
vanishes rapidly as soon as the complexity of the system to model
increases. In fact, even state machines modeling ``almost trivial''
behavior may get rather hard to understand and error-prone. In
particular, synchronization of parallel regions and history-based
features are often difficult to model in UML state machines. We
therefore propose High-Level Aspect (HiLA), a new, aspect-oriented
extension of UML state machines, which can improve the modularity,
thus the comprehensibility and reusability of UML state machines
considerably. Aspects are used to define additional or alternative
system behaviors at certain ``interesting'' points of time in the
execution of the state machine, and achieve a high degree of
separation of concerns. The distinguishing feature of HiLA w.r.t.
other approaches of aspect-oriented state machines is that HiLA
aspects are defined on a high, i.e. semantic level as opposed to a
low, i.e. syntactic level. This semantic approach makes \HiLA
aspects often simpler and better comprehensible than aspects of
syntactic approaches. The contributions of this thesis include 1)
the abstract and the concrete syntax of HiLA, 2) the weaving
algorithms showing how the (additional or alternative) behaviors,
separately modeled in aspects, are composed with the base state
machine, giving the complete behavior of the system, 3) a formal
semantics for HiLA aspects to define how the aspects are activated
and (after the execution) left. We also discuss what conflicts
between HiLA aspects are possible and how to detect them. The
practical applicability of HiLA is shown in a case study of a
crisis management system.
behavior. They are considered to be simple and intuitively
comprehensible, and are hence one of the most popular languages for
modeling reactive components. However, this seeming ease to use
vanishes rapidly as soon as the complexity of the system to model
increases. In fact, even state machines modeling ``almost trivial''
behavior may get rather hard to understand and error-prone. In
particular, synchronization of parallel regions and history-based
features are often difficult to model in UML state machines. We
therefore propose High-Level Aspect (HiLA), a new, aspect-oriented
extension of UML state machines, which can improve the modularity,
thus the comprehensibility and reusability of UML state machines
considerably. Aspects are used to define additional or alternative
system behaviors at certain ``interesting'' points of time in the
execution of the state machine, and achieve a high degree of
separation of concerns. The distinguishing feature of HiLA w.r.t.
other approaches of aspect-oriented state machines is that HiLA
aspects are defined on a high, i.e. semantic level as opposed to a
low, i.e. syntactic level. This semantic approach makes \HiLA
aspects often simpler and better comprehensible than aspects of
syntactic approaches. The contributions of this thesis include 1)
the abstract and the concrete syntax of HiLA, 2) the weaving
algorithms showing how the (additional or alternative) behaviors,
separately modeled in aspects, are composed with the base state
machine, giving the complete behavior of the system, 3) a formal
semantics for HiLA aspects to define how the aspects are activated
and (after the execution) left. We also discuss what conflicts
between HiLA aspects are possible and how to detect them. The
practical applicability of HiLA is shown in a case study of a
crisis management system.
Weitere Episoden
vor 11 Jahren
vor 11 Jahren
vor 11 Jahren
In Podcasts werben
Kommentare (0)