Formal Specification and Modeling Techniques of Component Workflow Variability

컴포넌트 워크플로우 가변성의 정형 명세 및 모델링 기법

  • Published : 2002.10.01

Abstract

It is well recognized that component-based development (CBD) is an effective approach to manage the complexity of modem software development. To achieve the benefits of low-cost development and higher productivity, effective techniques to maximize component reusability should be developed. Component is a set of related concepts and objects, and provides a particular coarse-grained business service. Often, these components include various message flows among the objects in the component, called 'business workflow`. Blackbox components that include but hide business workflow provide higher reusability and productivity. A key difficulty of using blackbox components with business workflow is to let the workflow be customized by each enterprise. In this paper, we provide techniques to model the variability of family members and to customize the business workflow of components. Our approach is to provide formal specification on the component variability, and to define techniques to customize them by means of the formalism.

컴포넌트는 소프트웨어 개발의 복잡성을 감소시키는 효과적인 방법으로 평가되고 있다. 그러나 소프트웨어 개발 시 컴포넌트를 사용하여 기간 단축과 비용 절감 효과를 얻기 위해서는 컴포넌트의 재사용성이 향상되어야 한다. 업무 단위로 컴포넌트를 설계하여 컴포넌트 안에 업무 워크플로우를 포함하는 것은 컴포넌트의 재사용성을 향상시키는 효과적인 방법이다. 워크플로우가 내장된 컴포넌트는 업무 단위로 재사용되기 때문에 개발 기간 단축과 비용 절감 효과가 크다. 몇 몇 컴포넌트 방법론에서 워크플로우를 내장한 컴포넌트 설계 기법의 필요성을 제시했다. 그러나 컴포넌트 개발에 적용하기 위해서는 좀 더 실용적이고 구체적인 기법이 요구된다. 본 논문에서는 컴포넌트를 통한 워크플로우의 재사용을 위해 패밀리 멤버간의 가변적인 워크플로우를 컴포넌트에 내장하여 재사용성을 높이는 기법을 제안한다. 제시된 기법은 워크플로우와 워크플로우 가변성에 대한 정형명세를 통해 복잡한 워크플로우의 설계를 단순화한다. 또한 정형 명세를 통해 워크플로우 가변성 간의 불일치를 해결하고 가변성의 결합도를 낮춘다. 정형 명세와 UML을 사용한 컴포넌트 모델링의 산출물은 컴포넌트 구현 소스 코드를 자동으로 생성하는 것을 돕는다. 따라서 제시된 설계 기법은 개발자의 생산성을 높이고 컴포넌트의 재사용성을 향상시킨다. 본 논문에서는 설계 기법과 함께 예제를 통해 컴포넌트 워크플로우 명세와 설계 기법의 타당성을 입증한다.

Keywords

References

  1. Heineman, G. T., Councill, W. T., Component-based Software Engineering, Addison Wesley, 2001
  2. Hopkins, J., 'Component Primer,' Communication of the ACM Vol. 43, No. 10, October 2000 https://doi.org/10.1145/352183.352198
  3. Kang, K., 'Issues in Component-Based Software Engineering,' International Workshop on Component-Based Software Engineering 1999
  4. Jacobson, I., Griss, M., Jonsson, P., Software Reuse Architecture Process and Organization for Business Success, ACM Press, 1997
  5. Lee, S. D., Yang, Y. J., Cho, E. S., Kim, S. D., 'COMO : A UML-Based Component Development Methodology,' Asia-Pacific Software Engineering Conference(APSEC99), Takamachu, Japan, PP. 54-61, Dec. 7-10, 1999 https://doi.org/10.1109/APSEC.1999.809584
  6. Herzum, P., Sims, O., Business Component Factory A Comprehensive Overview of Component-Based Development for the Enterprise, Wiley & Sons, 2000
  7. D'Souza, D. F., and Wills, A. G., Objects, Components, and Frameworks with UML, Addison Wesley, 1999
  8. Sterling Software, 'The COOL:Gen Component Standard3.0,' Sept.1999
  9. Allen, P., Frost, S., Component-Based Development for Enterprise Systems, Cambridge, 1998
  10. Atkinson, C., Component-Based Product Line Engineering with UML, Addison Wesley, 2002
  11. Allen, P., Realizing e-Business with Components, Addison-Wesley, 2000
  12. Jacobson, I., Booch, G., Rumbaugh, J., The Unified Software Development Process, Addison Wesley, 1999
  13. Bergner, K., Rausch, A., Sihling, M., Vilbig, A., Broy, M., 'A Formal Model for Componentware,' Foundations of Component-based System, pp. 189-210, Cambridge, 2000
  14. Achermann, F., Lumpe, M., Schneider, J., Nierstrasz, O., 'Piccola - a Small Composition Language,' Formal Methods for Distributed Processing - A Survey of Object-Oriented Approaches, Howard Bowman and John Derrick (Eds.), pp. 403-426, Cambridge University Press, 2001
  15. Garlan, G., Monroe, R. T, Wile, D., 'Acme: Architectural Description of Component-Based Systems,' Foundations of Component-based Systems, pp. 47-67, Cambridge, 2000
  16. UML Specification v1.4, OMG,Inc., September, 2001
  17. Finkbeiner, B., Kruger, I., 'Using Message Sequence Charts for Component-based Formal Verification,' OOPSLA, October 2001
  18. Warmer, J. B., Kleppe, A. G., The Object Constraint Language:Precise Modeling with UML, Addison-Wesley, 1999
  19. Smith, G., The Object-Z Specification Language, Kluwer Academic Publishers, 2000
  20. Mahony, B., Jin, S.D., 'Timed Communicating Object Z,' IEEE Transaction on Software Engineering, Vol.26, No.2, February 2000 https://doi.org/10.1109/32.841115
  21. Smith, G., The Object Specification Language, Kluwer Academic Publisher, 1999
  22. Leavens, G. T., Sitraman, M., Foundation of Component-based Systems, Cambridge, 2000
  23. Spivey, J.M., The Z Notation A Reference Manual, URL : http://spivey.oriel.ox.ac.uk/~mike/zrm/, 1992