Browse > Article

Techniques for Designing Logic and Workflow Variability in Software Component Development  

정광선 (숭실대학교 컴퓨터학과)
김수동 (숭실대학교 컴퓨터학부)
Abstract
A Software Component is a module that is reused among a lot of projects, systems, and companies rather than a single application. Components can be reused in various systems if they provide not only the common functionalities required in many applications but also the diverse aspects to be customized for being suitable for customers' demands. From the development phase, components should be designed and developed considering the variable aspects they have for convenient customization. Easily customized components can be frequently reused in lots of applications. In the literature, there are some modeling and customizing techniques. But they suggested only conceptual or basic methods based on Object-Oriented. And the practical instructions for reusing component were not provided sufficiently. Moreover, there are few techniques that consider the proper variability types components have. Thus, those techniques are not appropriate for applying to black box component completely developed and released. In this paper, we classify variabilities that components have in functional aspect into two categories. The one is logic variability, and the other is workflow variability. For each classified variability, we propose the three kind of modeling techniques, which are selection, plug in and externalization. Also detailed instructions for practical design and application are provided.
Keywords
Component; Reuse; Variability Modeling Techniques; Customize; Required Interface;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 D'Souza D. and Wills A., Objects, Components, and Frameworks with UML, Addison Wesley, 1999
2 Keepence, B. jand Mannion, M., 'Using patterns to model variability in product families,' IEEE Software, Volume: 16 Issue: 4, pp.102-108, July-Aag. 1999   DOI   ScienceOn
3 유영란, 박동혁, 김수동, 'COM 컴포넌트의 다양성(Variability) 구현 기법', 한국정보과학회 소프트웨어 공학지, Vol. 27, No. 3, pp.227-240, 2000년3월
4 Heineman, G. T. and Council, W. T., Component-based Software Engineering, Addison Wesley, 2001
5 Van Ommering, R., 'The Koala Component Model,' Building Reliable Component-Based Software Systems, Artech House, pp. 223-236, 2002
6 Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wust, J., Zettel, J., Component-based Product Line Engineering with UML, Addison Wesley, 2001
7 OMG, 'CORBA Components,' Version 3.0, Object Management Group, June, 2002, http://www.omg.org
8 Geyer, L., Becker, M., 'On the Influence of Variabilities on the Application Engineering Process of a Product Family,' SPLC 2, San Diego, CA, USA, August 19-22, 2002
9 Bachmann, F. and Bass L., 'Managing variability in software architectures,' ACM SIGSOFT Software Engineering Notes, Proceedings of the 2001 symposium on Software reusability: putting software reuse in context, Volume 26 Issue 3, May, 2001   DOI
10 Becker, M., Geyer, L.,Gilbert, A., and Becker, K., 'Comprehensive Variability Modelling to Facilitate Efficient Variability Treatment,' PFE-4 2001, LNCS 2290, pp. 294-303, 2002
11 Sun Microsystems, Enterprise JavaBeans Specification Version 2.1, http://java.sun.com/products/ejb/docs.html, Sun, Jun. 2002
12 Gacek, C. and Anastasopoules, M., 'Implementing Product Line Variabilities,' ACM SIGSOFT Software Engineering Notes, Proceedings of the 2001 symposium on Software reusability: putting software reuse in context, Volume 26 Issue 3, May 2001   DOI
13 Sharp, D.C., 'Exploiting object technology to support product variability,' IEEE Proceedings, Oct. 1999   DOI
14 소동섭, 신석규, 김수동, '컴포넌트 가변성 유형 및 Scope에 대한 정형적 모델', 한국정보과학회논문지 소프트웨어 및 응용, Vol 30, No. 05, pp. 414-429, 2003년 6월   과학기술학회마을
15 Takeshi Inoue, 'From Class Libraries to Component-Based Development,' ICSE Workshop on Component-Based Software Engineering, Apr. 1998
16 Heineman, G. t., 'An Evaluation of Component Adaptation Techniques,' 2nd Annual Workshop on Component-Based Software Engineering, May 17-18 1999