6.3  Similarity Measurement of  
State-based Specifications 
Retrieval schemes proposed in the literature can be 
classed based upon the technique used to index cases 
during the search process (Atkinson, 1998): (a) 
classification-based schemes, which include 
keyword or feature-based controlled vocabularies; 
(b) structural schemes, which include signature or 
structural characteristics matching; and (c) 
behavioral schemes; which seek relevant cases by 
comparing input and output spaces of components. 
The problem to be solved arises how to measure 
the similarity of state-based specifications for 
retrieval. Incidentally, similarity measurements for 
relational specifications have been resolved by 
Jilani, et al. (2001). The primary approach to the 
current application includes some equivalents of 
abstract data type signatures, belonging to structural 
schemes, and keywords, belonging to classification 
schemes. While the first alternative means for this 
purpose to quantify the similarity by the topological 
characteristics of associated finite automata state-
transition graphs, such as number and placement of 
loops, the second one is based on a properly selected 
set of keywords with subsets identifying individual 
patterns. The current research task of our group 
focuses on experiments enabling to compare those 
alternatives. 
7 CONCLUSIONS 
The original contribution of this paper consists in 
proposal how to represent a system’s formal 
specification as an application pattern structure of 
specification fragments. Next contribution deals 
with the approach how to measure similarity of 
formal specifications for retrieval in frame of case-
based reasoning support. The above-presented case 
studies, which demonstrate the possibility to 
effectively reuse concrete application pattern 
structures, have been excerpted from two realized 
design cases.  
The application patterns, originally introduced as 
“configurations” in the design project of petrol 
pumping station control technology based on 
multiple microcontrollers (Sveda, 1996), were 
effectively -- but without any dedicated development 
support -- reused for the project of lift control 
technology (Sveda, 1997). The notion of application 
pattern appeared for the first time in (Sveda, 2000) 
and developed in (Sveda, 2006). By the way, the 
first experience of the authors with case-based 
reasoning support to knowledge preserving 
development of an industrial application was 
published in (Sveda, Babka and Freeburn, 1997).  
ACKNOWLEDGEMENTS 
The research has been supported by the Czech 
Ministry of Education in the frame of Research 
Intention MSM 0021630528: Security-Oriented 
Research in Information Technology, and by the 
Grant Agency of the Czech Republic through the 
grants GACR 102/05/0723: A Framework for 
Formal Specifications and Prototyping of 
Information System’s Network Applications and 
GACR 102/05/0467: Architectures of Embedded 
Systems Networks. 
REFERENCES 
Alexander, C. (1977) A Pattern Language: Towns / 
Buildings / Construction, Oxford University Press. 
Alur, R. and T.A. Henzinger (1992) Logics and Models of 
Real Time: A Survey. In: (de Bakker, J.W., et al.) 
Real-Time: Theory in Practice. Springer-Verlag, 
LNCS 600, 74-106. 
Arora, A. and S.S. Kulkarni (1998) Component Based 
Design of Multitolerant Systems. IEEE Transactions 
on Software Engineering, 24(1), 63-78. 
Atkinson, S. (1998) Modeling Formal Integrated 
Component Retrieval. Proceedings of the Fifth 
International Conference on Software Reuse, IEEE 
Computer Society, Los Alamitos, California, 337-346. 
Coad, P. and E.E. Yourdon (1990) Object-Oriented 
Analysis, Yourdon Press, New York. 
Frakes, W.B. and K. Kang (2005) Software Reuse 
Research: Status and Future. IEEE Transactions on 
Software Engineering, 31(7), 529-536. 
Gamma, E., R. Helm, R. Johnson and J. Vlissides (1995) 
Design Patterns -- Elements of Reusable Object-
Oriented Software, Addison-Wesley. 
Geppert, B. and F. Roessler (2001) The SDL Pattern 
Approach – A Reuse-driven SDL Design 
Methodology. Computer Networks, 35(6), Elsevier, 
627-645. 
Henninger, S. (1997) An Evolutionary Approach to 
Constructing Effective Software Reuse Repositories. 
Transactions on Software Engineering and 
Methodology, 6(2), 111-140. 
Henninger, S. (1998) An Environment for Reusing 
Software Processes. Proceedings of the Fifth 
International Conference on Software Reuse, IEEE 
Computer Society, Los Alamitos, California, 103-112. 
Holtzblatt, L.J., R.L. Piazza, H.B. Reubenstein, S.N. 
Roberts and D.R. Harris (1997) Design Recovery for 
PATTERN-DRIVEN REUSE OF EMBEDDED CONTROL DESIGN - Behavioral and Architectural Specifications in
Embedded Control System Designs
415