Browse > Article

Component-Z: A Formal Specification Language Extended Object-Z for Designing Components  

이종국 (숭실대학교 컴퓨터학과)
신숙경 (숭실대학교 컴퓨터학)
김수동 (숭실대학교 컴퓨터학과)
Abstract
Component-based software engineering (CBSE) composes reusable components and develops applications with the components. CBSE is admitted to be a new paradigm that reduces the costs and times to develop software systems. The high quality of component designs can be assured if the consistency and correctness among the elements of a component are verified with formal specifications. Current formal languages for components include only some parts of contracts between interfaces, structural aspects and behavioral aspects of component, component-based system, component composition and variability. Therefore, it is not adequate to use current formal languages in all steps of a component design process. In this paper, we suggest a formal language to specify component designs Component-Z. Component-Z extends Object-Z, adds new notations to specify components. It can be possible to specify interfaces, the inner structure of a component, inner workflows, and workflows among interfaces with Component-Z. In addition, Component-Z provides the notations and semantics to specify variability with variation points, variants and required interfaces. The relation between interfaces and components is defined with mapping schemas. Parallel operator is used to specify component composition. It can be possible to describe deployed components with the specifications of component-based systems. Therefore, the formal specification language proposed in this paper can represent all elements to design components. In the case study, we specify an account management system in a bank so that we show that Component-Z can be used in all steps of component design.
Keywords
Object-Z; CSP; Component-Based Software Engineering (CBSE); Formal Specification; Variability; Object-Z; CSP; Composition;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Szyperski, C., Component Softwarebeyond Object-Oriented Programming, pp. 21, Addison Wesely, 2002
2 Lders, F., Lau, K.K. and Ho, S.M., Building Reliable Component-Based Software Systems, pp. 2338, Artech House, 2002
3 D'Souza, D.F., and Wills, A.C., Objects, Components, and Frameworks with UML: The Catalysis Approach, pp. 91, Addison-Wesley, 1998
4 Cheesman, J. and Daniels, J., UML Components: A Simple Process for Specifying Component-Based Software, pp. 50, Addison-Wesley, 2000
5 Kreuz, D., 'Fromal Specification of CORB Services using Object-Z,' Second IEEE International Conference on Formal Engineering Methods, September, 1998
6 Heisel, M., Santen, T. and Souquie'res, J., 'Toward a Formal Model of Software Components,' International Conference on Formal Engineering Methods(ICFEM) 2002, pp. 57-68, 2002
7 Medvidovic, N. and Taylor, R.N., 'A Classification and Comparison Framework for Software Architecture Description Languages,' IEEE Transaction of Software Engineering, Vol.26, No.1, 2000   DOI   ScienceOn
8 Mahony, B.and Dong, J.S., 'Timed Communicating Object-Z,' IEEE Transaction of Software Engineering, Vol.26, No.2, 2000   DOI   ScienceOn
9 Derrick, J. and Boiten, E., 'Combining Component Specifications in Object-Z and CSP,' Formal Aspects of Computing, Vol.13, pp.111-137, 2002   DOI
10 Fischer, C., 'Combination and Implementation of Processes and Data: from CSP-OZ to Java,' PhD Thesis, University of Oldenburg, 2000
11 Achermann, F., Lumpe, M., Schneider, J. and Nierstrasz, O., A Survey of Object-Oriented Approaches, pp. 403-426, Cambridge University Press, 2001
12 Alencar, P.S.C. and Cowan, D.D., 'A Logical Theory of Interfaces and Objects,' IEEE Transaction on Software Engineering, Vol.28, No.6, 2002   DOI   ScienceOn
13 Fillipe, J.K., 'Foundations of Module Concept for Distributed Object System,' PhD Thesis, Minster University, 2000
14 Aguirre, N. and Maibaum, T., 'A Logical Basis for the Specification of Reconfigurable Component-Based Systems,' Fundamental Approach to Software Engineering(FASE) 2003, pp. 37-51, 2003
15 Sousa, P.J. and Garlan, D., 'Formal Modeling of the Enterprise JavaBeans Component Integration Framework,' Intermation and Software Technology, Vol. 43, No. 3, 2001   DOI   ScienceOn
16 Huaikou, M., Chuanjiang, Y. and Li, L., 'A Formalized Abstract Component Object Model Z-COM,' 36th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS-Asia'00), November, 2000   DOI
17 Bergner, K., Rausch, A., Sihling, M., Vilbig, A. and Broy, M., Foundations of Component-based Systems, pp. 189-210, Cambridge University Press, 2000
18 Ivers, J., Sinha, N. and Wallnau, K., 'A Basis for Composition Language CL,' Technical Note, CMU/ SEI-2002-TN-026, Carnegie Mellon Software Engineering Institute, 2002
19 Lopes, A..Wernelinger, M. and Fiadelio, J.L., 'Higher-Order Architectural Connector,' ACM Transaction on Software Engineering and Methodology, Vol.12, No. 1, 2003   DOI
20 Xie, X. and Shatz, S.M., 'An Approach for Modeling Components with Customization for Distributed Systems,' International Journal of Informatica, Special issue on Component Based Software Development, Vol. 25, No. 4, pp. 465-474, 2001
21 Deline, R., 'Avoiding Packing Mismatch with Flexible Package,' IEEE Transactions on Software Engineering, Vol.27, No.2, 2001   DOI   ScienceOn
22 Abmann, U., Invasive Software Composition, pp. 167-187, Springer-Verlag, 2003
23 Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, O., Uthing, U., Paech, B., Wuest, J. and Zettel, J., Component-based Product Line Engineering with UML, pp. 319, Addison-Wesley, 2001
24 Smith, G., The Object-Z Specification Language, pp. 133-142, Academic Publishers, 2000
25 Smith, G., 'An Object-Oriented Approach to Formal Specification,' PhD Thesis, University of Queensland, 1992
26 Smith, G. and Derrick, J., 'Refinement and Verification of Concurrent systems specified in Object-Z and CSP,' Proceedings of the 1st International Conference on Formal Engineering Methods, 1997   DOI
27 Plasil, F. and Visnovsky, S., 'Behavior Protocols for Software Components,' IEEE Transactions oF Software Engineering, Vol.28, No.11, 2002   DOI   ScienceOn
28 Canal, C., Fuentes, L., Pimentel, E., Troya, J.M. and Vallecillo, A., 'Adding Roles to CORBA Objects,' IEEE Transaction on Software Engineering, Vol. 29, No 3, 2003   DOI   ScienceOn