Title :
Behavior protocols for software components
Author :
Plasil, Frantisek ; Visnovsky, Stanislav
Author_Institution :
Inst. of Comput. Sci., Acad. of Sci. of the Czech Republic, Prague, Czech Republic
fDate :
11/1/2002 12:00:00 AM
Abstract :
In this paper, we propose a means to enhance an architecture description language with a description of component behavior. A notation used for this purpose should be able to express the "interplay" on the component\´s interfaces and reflect step-by-step refinement of the component\´s specification during its design. In addition, the notation should be easy to comprehend and allow for formal reasoning about the correctness of the specification refinement and also about the correctness of an implementation in terms of whether it adheres to the specification. Targeting all these requirements together, the paper proposes employing behavior protocols which are based on a notation similar to regular expressions. As proof of the concept, the behavior protocols are used in the SOFA architecture description language at three levels: interface, frame, and architecture. Key achievements of this paper include the definitions of bounded component behavior and protocol conformance relation. Using these concepts, the designer can verify the adherence of a component\´s implementation to its specification at runtime, while the correctness of refining the specification can be verified at design time.
Keywords :
formal specification; object-oriented programming; software architecture; software reusability; SOFA architecture description language; architecture; behavior protocols; bounded component behavior; component interfaces; component specification refinement; correctness; formal reasoning; frame; protocol conformance relation; regular expressions; software component behavior; Access protocols; Architecture description languages; Automata; Computer Society; Object oriented modeling; Object oriented programming; Programming profession; Runtime; Software architecture; Software reusability;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2002.1049404