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