Yoshiyuki Shinkawa



One of the major activities in component based software development is to identify the adaptable components to the given requirements. We usually compare requirement specifications with the component specifications, in order to evaluate the equality between them. However, there could be several differences between those specifications, e.g. granularity, expression forms, viewpoints, or the level of detail, which make the component evaluation difficult. In addition, recent object oriented approaches require many kinds of models to express software functionality, which make the comparison of the specification complicated. For rigorous component evaluation, it is desirable to use concise and simple expression forms of specifications, which can be used commonly between requirements and components. This paper presents a formal evaluation technique for component adaptation. In order to relieve the granularity difference, the concept of a virtual component is introduced, which is the reusable unit of this approach. A virtual component is a set of components that can acts as single component. In order to express requirements and components commonly and rigorously, algebraic specification and Colored Petri Nets (CPNs) are used. Algebraic specification provides the theoretical foundation of this technique, while CPNs help us to use it intuitively.


  1. Fensel, D. and Groenboom, R. (1995). Formal specification languages in knowledge and software engineering. In The Knowledge Engineering Review. 10(4) pp.303-317.
  2. Fischer, B. (1998). Specification-based browsing of software component libraries. In Proc. of Thirteenth International Conference on Automated Software Engineering pp.74-83. ACM.
  3. Goguen, J. A. and Malcolm, G. (1996). Algebraic Semantics of Imperative Programs. MIT Press.
  4. Guttag, J. V. and Horning, J. J. (1993). Larch: Languages and Tools for Formal Specification. Springer.
  5. Coloured Petri Nets Volume 1-3.
  6. Jensen, K. (1997). Springer.
  7. Michail, A. and Notkin, D. (1999). Assessing software libraries by browsing similar classes, functions and relationships. In Proc. of International Conference on Software Engineering, pp.463-472.
  8. Mosses, P. D. (1999). Casl: A guided tour of its design. In Proc. Workshop on Abstract Datatypes pp.216-240.
  9. Prieto-Diaz, R. and Freeman, P. (1987). Classifying software for reuse. In IEEE Software. 4(1) pp.6-16. IEEE.
  10. Shinkawa, Y. and Matsumoto, M. J. (2000). Knowledgebased software composition using rough set theory. In IEICE Trans. on Inf. and Syst, Vol.E83-D. No.4,pp.691-700. IEICE.
  11. Zaremski, T. M. and Wing, J. M. (1993). Signature matching: A key to reuse. In Proc. of the ACM SIGSOFT 7893 Symposium on the Foundations of Software Engineering, pp182-190. ACM.
  12. Zaremski, T. M. and Wing, J. M. (1995). Specification matching of software components. In ACM Trans. on Software Engineering and Methodology. 6(4), pp333- 369. ACM.

Paper Citation

in Harvard Style

Shinkawa Y. (2006). CPN BASED COMPONENT ADAPTATION . In Proceedings of the Eighth International Conference on Enterprise Information Systems - Volume 3: ICEIS, ISBN 978-972-8865-43-6, pages 261-268. DOI: 10.5220/0002456502610268

in Bibtex Style

author={Yoshiyuki Shinkawa},
booktitle={Proceedings of the Eighth International Conference on Enterprise Information Systems - Volume 3: ICEIS,},

in EndNote Style

JO - Proceedings of the Eighth International Conference on Enterprise Information Systems - Volume 3: ICEIS,
SN - 978-972-8865-43-6
AU - Shinkawa Y.
PY - 2006
SP - 261
EP - 268
DO - 10.5220/0002456502610268