110 likes | 236 Views
Modeling Platform Specific Attributes of a System as Crosscutting Concerns using Aspect-Oriented Statecharts and Virtual Finite State Machines. Mark Mahoney Tzilla Elrad AOSD ’05 3/14/2005. Research Goals.
E N D
Modeling Platform Specific Attributes of a System as Crosscutting Concerns using Aspect-Oriented Statechartsand Virtual Finite State Machines Mark Mahoney Tzilla Elrad AOSD ’05 3/14/2005
Research Goals Extend current Object-Oriented and Aspect-Oriented modeling techniques to enable higher levels of abstraction and reuse. • Extend statechart semantics to handle crosscutting concerns. • Refine the modeling process to better abstract interactions between different types of concerns.
Modeling Dynamic Intra-Object Behavior with Statecharts Harel’s Statecharts • State- some persisting condition of existence. • Transition- event that causes a new state to be entered. • Action- unit of work to be done on entry/exit or on a transition
Modeling Dynamic Intra-Object Behavior with Statecharts Exclusive-Or vs. And composition • Orthogonal Regions • Broadcast events in a non-deterministic order
Aspect-Oriented Statechart Framework If the core statechart is in State ‘X’ and event ‘y’ is introduced, and if the aspect statechart is in State ‘A’, treat ‘y’ exactly as if it were event ‘b’. The aspect statechart can handle the event before or after the core statechart.
Crosscutting Behavior in the Framework • Weave disparate Statecharts by reinterpreting events from one Statechart to another • Add additional Statecharts without the core being aware by mapping events from the core into the aspect Statechart • Introduce events into the core • Alter event data • Consume events to prevent the core from handling them
Virtual Finite State Machines (VFSM) • Executable VFSM models • Virtual events • Virtual actions • Input and Output processors • Input processors translate real events to virtual events • Output processors react to virtual actions with actual actions • Coupled with particular VFSM’s
Generic Input/Output Statecharts Input Processor Output Processor
Conclusions Statecharts are an excellent way to model core and crosscutting concerns. Libraries of independent statecharts can be created and later woven into functioning systems in a non-invasive manner. Core concerns and crosscutting concerns can interact concurrently.