Title :
Knowledge-based automation of a design method for concurrent systems
Author :
Mills, Kevis L. ; Gomaa, Hassan
Author_Institution :
Nat. Inst. of Stand. & Technol., Gaithersburg, MD, USA
fDate :
3/1/2002 12:00:00 AM
Abstract :
This paper describes a knowledge-based approach to automate a software design method for concurrent systems. The approach uses multiple paradigms to represent knowledge embedded in the design method. Semantic data modeling provides the means to represent concepts from a behavioral modeling technique, called Concurrent Object-Based Real-time Analysis (COBRA), which defines system behavior using data/control flow diagrams. Entity-relationship modeling is used to represent a design metamodel based on a design method, called COncurrent Design Approach for Real-Time Systems (CODARTS), which represents concurrent designs as software architecture diagrams, task behavior specifications and module specifications. Production rules provide the mechanism for codifying a set of CODARTS heuristics that can generate concurrent designs based on semantic concepts included in COBRA behavioral models and on entities and relationships included in CODARTS design metamodels. Together, the semantic data model, the entity-relationship model, and the production rules, when encoded using an expert system shell, compose CODA, an automated designer´s assistant. CODA is applied to generate 10 concurrent designs for four real-time problems. The paper reports the degree of automation achieved by CODA. The paper also evaluates the quality of generated designs by comparing the similarity between designs produced by CODA and human designs reported in the literature for the same problems. In addition, it compares CODA with four other approaches used to automate software design methods
Keywords :
computer aided software engineering; diagrams; distributed object management; entity-relationship modelling; expert system shells; real-time systems; software architecture; software tools; COBRA; CODA; CODARTS; Concurrent Design Approach for Real-Time Systems; Concurrent Object-Based Real-time Analysis; automated reasoning; automated software engineering; concurrent systems; dataflow diagrams; entity-relationship modeling; expert-system shell; knowledge representation; knowledge-based software engineering; metamodel; module specifications; production rules; semantic data model; software architecture diagrams; software design; task behavior specifications; Automatic control; Data models; Design automation; Design methodology; Expert systems; Humans; Production systems; Real time systems; Software architecture; Software design;
Journal_Title :
Software Engineering, IEEE Transactions on