12/27/2023 0 Comments Visual paradigm suite rapidshareOnce we have modeled our meta model, the model transformations, the operational semantics and the consistency checks, we just need a graphical user interface for our new tool. So far we have dealt with the example statechart environment on the level of the abstract syntax only. ![]() Thus, the set of objects found in the step before, is reused in this step. Note, in the third activity the multi object is again a bound object. Once the set of reachable states is computed, the third graph rewrite rule of Figure 8 removes the unreachable markers from these nodes. More complex operators are not yet implemented. Note, in addition to dotted lists of edge labels and to the transitive closure operator, Fujaba path expressions provide an or operator computing the union of two path expressions. Note, the maybe clause allows the initial state to be contained in the set of reachable states. This set is collected in the multi-object reachables. Due to the transitive closure, the path expression computes the set of all successor states reached by traversing transitions zero, one, or multiple times. In the second graph rewrite rule of Figure 8 the path expression is applied to the initial state of our state machine. In our example, we use the * operator to compute the transitive closure of this basic path expression. Thus, the path sourceTrans.targetState leads from a given state to all its successor states. (In Fujaba, every edge has two labels, one for its forward direction and one for the reverse direction.) Accordingly, targetState edges lead from transitions to their target states. ![]() In our example, edges with label sourceTrans lead from states to outgoing transitions. It is evaluated by traversing the corresponding links. A simple path expression is just a dotted list of edge labels. In the second step we employ a so-called path expression (sourceTrans.targetState)*. Thus, the multi-object old collects all state elements of statechart sc. In the first step we just mark all states using an unreachable link. Our reachability test is done in three steps, cf. Again, for simplicity reasons, we first flatten the or-states in order to deal with simple state machines, only. Here, we focus on a little more challenging consistency check: each state should be reachable from the initial state. transitions need to have source and target, states must have unique names within their scopes, etc. Usually, there is quite a number of trivial yet useful checks, e.g. Consistency checking is an important functionality of a modeling environment. employ Java syntax and we could use a Java interpreter like the bean shell to actually execute the actions. For simplicity reasons, here this is simulated using. In addition, the transition action and the do-action of the target state are executed. If such a transition exists, the current edge is redirected to the target state of the transition. The maybe current=next clause allows to handle self transitions. If method handleEvent is called, it tries to identify an outgoing transition a with the label provided in parameter event. This simulator object has a current edge marking the currently active state. For handling events, we employ an object of type FSMSimulator. Then, the statechart may be executed using the graph transformation of Figure 7. Thus, to facilitate the example this chapter assumes that the state chart is first flattened and all or-states are properly replaced. However, this would need some more complicated rules. Of course we could interpret statecharts with (nested) or-states directly. This chapter provides the operational semantics for our statecharts. might have omitted the negative nodes of Figure 5. Thus, the proposed way of applying a set of graph transformation implies precedences on the transformation rules. This means, tran- sitionFromInner has higher priority than transitionToInner which again has higher priority than removeOuter. ![]() the boolean or operators connecting our three basic model transformations use left precedence and short circuit evaluation.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |