4 research outputs found

    Partition refinement of Component Interaction Automata

    Get PDF
    Component Interaction Automata provide a fitting model to capture and analyze the temporal facets of hierarchically-structured component-oriented software systems. However, the rules governing composition typically suffer from combinatorial state explosion, an effect that can impede modeling languages, like Component Interaction Automata, from being successful in real-world scenarios. We must, therefore, find some appropriate ways to counteract state explosion, one of which is partition refinement through bisimulation, in particular, weak bisimulation. While this technique can yield the desired state space reduction, it does not consider synchronization cliques, that is, groups of states that are interconnected solely by internal synchronization transitions. Synchronization cliques give rise to action prefixes, local states that encapsulate pre-conditions for a component's ability to interact with the environment. Furthermore, both the existence and the size of synchronization cliques can be used as an indicator for the success of partition refinement. In particular, the more frequent synchronization cliques are and the more states they entail, the more likely it is that partition refinement can reduce the state space. But, there may be other factors that impact the refinement process. For this reason, we study, in this paper, how partition refinement behaves under weak bisimulation, how synchronization cliques emerge when using weak bisimulation, how we make state space reduction through partition refinement aware of the existence of synchronization cliques, and what other attributes of Component Interaction Automata specifications can provides us with additional cues to forecast the possible outcome of the partition refinement process

    Partition Refinement of Component Interaction Automata: Why Structure Matters More Than Size

    No full text
    Automata-based modeling languages, like Component Interaction Automata, offer an attractive means to capture and analyze the behavioral aspects of interacting components. At the center of these modeling languages we find finite state machines that allow for a fine-grained description how and when specific service requests may interact with other components or the environment. Unfortunately, automata-based approaches suffer from exponential state explosion, a major obstacle to the successful application of these formalisms in modeling real-world scenarios. In order to cope with the complexity of individual specifications we can apply partition refinement, an abstraction technique to alleviate the state explosion problem. But this technique too exhibits exponential time and space complexity and, worse, does not offer any guarantees for success. To better understand as to why partition refinement succeeds in some cases while it fails in others, we conducted an empirical study on the performance of a partition refinement algorithm for Component Interaction Automata specifications. As a result we have identified suitable predictors for the expected effectiveness of partition refinement. It is the structure, not the size, of a specification that weighs heavier on the outcome of partition refinement. In particular, Component Interaction Automata specifications for real-world systems are capable of producing scale-free networks containing structural artifacts that can assist the partition refinement algorithm not only converge earlier, but also yield a significant state space reduction on occasion
    corecore