![]()
![]()
Software designers use visual models, such as data flow/control flow diagrams or object collaboration diagrams, to express system behavior in a form that can be understood easily by users and by programmers, and from which designers can generate a software architecture. The research described in this paper is motivated by a desire to provide an automated designer’s assistant that can generate software architectures for concurrent systems directly from behavioral models expressed visually as flow diagrams. To achieve this goal, an automated designer’s assistant must be capable of interpreting flow diagrams in semantic, rather than syntactic, terms. While semantic concepts can be attached manually to diagrams using labels, such as stereotypes in the Unified Modeling Language (UML), this paper considers the possibility of providing automated assistance to infer appropriate tags for symbols on a flow diagram. The approach relies upon constructing an underlying meta-model that defines semantic concepts based upon: (1) syntactic relationships among visual symbols and (2) inheritance relationships among semantic concepts. Given such a meta-model, a rule-based inference engine can, in many situations, infer the presence of semantic concepts on a flow diagram, and can tag symbols accordingly. Further, an object-oriented query system can compare semantic tags on diagram instances for conformance with their definition in the meta-model.
To illustrate the approach, the paper describes a meta-model for data flow/control flow diagrams used in the context of a specific software modeling method, Concurrent Object-based Real-time Analysis (COBRA). The meta-model is implemented using an expert-system shell, CLIPS V6.0, which integrates an object-oriented language with a rule-based inference engine. The paper applies the implemented meta-model to design software for an automobile cruise-control system and provides an evaluation of the approach based upon results from four case studies. For the case studies, the implemented meta-model recognized, automatically and correctly, the existence of 86% of all COBRA semantic concepts within the flow diagrams. Varying degrees of human assistance were used to correctly identify the remaining semantic concepts within the diagrams: in two percent of the cases the implemented meta-model reached tentative classifications that a designer was asked to confirm or override; in four percent of the cases a designer was asked to provide additional information before a concept was classified; in the remaining eight percent of the cases the designer was asked to identify the concept.
![]()