분산 컴포넌트 기반의 소프트웨어 분석 및 설계 방법

An Approach to Software Analysis and Design based on Distributed Components

  • 최유희 (한국전자통신연구원 컴소원 S/W 공학연구부 연구원) ;
  • 염근혁 (부산대학교 컴퓨터공학과)
  • 발행 : 2001.12.01

초록

현재 새롭게 개발되는 소프트웨어는 50% 이상이 분산 플랫폼에서 개발되고 있다. 또한 분산 컴포넌트 기반의 소프트웨어 개발을 가능하게 하는 EJB(Enterprise Java Beans)[1] COM(Component Object Model )[2]. CORBA(Common Object Request Broker Architecture)[3] 와 같은 기술이 급격히 발전하고 있다. 따라서 분산 플랫폼 상에서 컴포넌트 기반의 응용 소프트웨어 개발을 위한 체계적인 개발 프로세스가 요구된다. 그러나 현재의 일반적인 컴포넌트 기반 소프트웨어 개발 방법론은 각 작업들간의 관 계와 각 작업의 산출물간의 관계를 명확히 제시하지 않는다. 또한 분산 응용 소프트웨어 개발에 있어서 고려되어야 할 분산 이슈에 대해서도 체계적으로 다루지 않고 있다. 본 논문에서는 분산 컴포넌트 기반의 응용 소프트웨어 개발을 위한 분석 및 설계 방법을 제시한다. 본 논문에서 제시하는 방법에서는 UMI 기반의 프로세스인 Unified process를 바탕으로 하여 체계적인 개발 지침과 산출물의 관계를 제시한다 또한 플랫폼과 프로그래밍 언어에 독립적인 CORBA 환경을 고려하여 성능. 결함 방지, 안전성, 분산 트랜잭션의 분산 이슈를 명시적으로 다루는 지침을 제시한다.

Recently, above 50 percentages of software are being developed based on distributed application platforms. And recent technologies such as EJB(Enterprise Java Beans)[1]COM(Component Object Model)[2] CORBA(Common Object Request Broker Architecture)[3] have been advanced for distributed component-based software development . Therefore a systematic development process is necessary to develop component based applications using distributed application platforms. However, most of component-base software development processes do not define concrete flows between tasks and relationships among artifacts of each task Also, distribution issues are not considered explicitly in most of component-based software development In this paper, we present an approach to analyze and design software based on distributed components. In this approach, we propose systematic guidelines for developing a software based on Unified process and the relationships among artifacts which are produced, Also we explicitly consider the distribution issues such as performance, fault tolerance, security, distributed transaction of CORBA environments.

키워드

참고문헌

  1. Sun Microsystems, 'Enterprise JavaBeans Specification 1.1.' http://java.sun.com/.
  2. Box. D .. Essential COM, p.440. Addison-Wesley. January 1998
  3. OMG. The Component Object Request Broker: Architecture and Specification. 1999
  4. OMG. OMG Unified Modeling Language Specifi- cation. version 1.3. March 1999
  5. D'Souza. D. and Wills. A. C. Objects. Frameworks. and Components with UML. Addison-Wesley. 1998
  6. Jacobson. I.. Booch. G.. and Rumbaugh. J.. The Unified Software Development Process, Addison-Wesley. January 1999
  7. Sterling, The CBD96 Standard Version 2.1. Sterling. July 1998
  8. Harmon. P.. 'Visual Modeling Tools. Case Vendors. and Component Methods.' Component Development Strategies, pp, 1 - 16. June 1999
  9. 김수동, '컴포넌트 정의 및 관련 기술 동향', 소프트웨어 공학회지, 12권, 3호, pp. 5-18. 1999
  10. Chelliah, M. and Aharnad, M., 'System mechanisms for distributed object-based fault-tolerant computing,' Proceedings of IEEE Workshop on Fault-Tolerant Parallel and Distributed Systems, pp, 234-241, 1995 https://doi.org/10.1109/FTPDS.1994.494495
  11. Microsoft. 'Understanding How Distributed Components Affect Performance.' http://msdn.microsoft. com/ library, 1999
  12. Yau. S. S. and Bing X., 'Object-oriented distributed component software development based on CORBA.' COMPSAC '98. pp. 246 - 251. 1998 https://doi.org/10.1109/CMPSAC.1998.716662
  13. Cicalese, C. D. T. and Rotenstreich, S .. 'Behavioral specification of distributed software component interfaces.' IEEE Computer, Vol. 32. No.7. pp. 46-53. July 1999 https://doi.org/10.1109/2.774918
  14. Hofmann, H. D. and Stynes, J.. 'Implementation reuse and inheritance in distributed component systems,' COMPSAC '98, pp. 496-501. 1998 https://doi.org/10.1109/CMPSAC.1998.716701
  15. Donaldson. D. I. and Magee. J. N.. 'Distributed system design using CORBA components.' International Conference on System Sciences, pp. 4-13, 1997 https://doi.org/10.1109/HICSS.1997.667172
  16. Lee, S. D .. Yang. Y. J.. Cho, F. S., Kim. S. D., and Rhew, S. Y., 'COMO: a UML-based component development methodology,' APSEC '99. pp. 54-61, 1999 https://doi.org/10.1109/APSEC.1999.809584
  17. Kobryn. C., 'Modeling enterprise software architectures using UML'. EDOC '98. pp. 25-34. 1998 https://doi.org/10.1109/EDOC.1998.723239
  18. Chen. H. B.. Bimber. O.. Chhatre, C.. Poole. E.. and Buckley, S. J., 'eSCA: a thin-client/server/ Web-enabled system for distributed supply chain simulation,' Winter Simulation Conference Proceedings, Vol. 2, pp. 1371-1377, 1999 https://doi.org/10.1109/WSC.1999.816867
  19. Sanz, I. and MazzuccheIli, L., 'Distributed objects in a large scale text processing system (industrial case study)', Proceedings of the International Symposium on Distributed Objects and Applications, pp. 224-229, 1999 https://doi.org/10.1109/DOA.1999.794033
  20. 최유희, 염근혁, '분산 컴포넌트 기반의 소프트웨어 설계 방법', 한국정보과학회 추계 학술 발표 논문집, pp. 498-500, 2000
  21. Slama, D., Grabis, J' and Russel, P., Enterprise COREA, Prentice Hall PTR, March, 1999
  22. Acton, D., Coatta, Too Phillips, P., and Sample, M., 'A development framework for building fine-grained CORBA applications,' EDOC '98, pp. 183-193, 1998 https://doi.org/10.1109/EDOC.1998.723254
  23. Gokhale, A. S. and Schmidt, D. C, 'Measuring and optimizing CORBA latency and scalability over high-speed networks,' IEEE Transactions on Computers, Vol. 47, No.4, pp. 391-413, April 1998 https://doi.org/10.1109/12.675710
  24. Arora, A. and Kulkarni, S. S., 'Detectors and correctors: a theory of fault-tolerance components,' International Conference on Distributed Computing Systems, pp. 436-443, 1998
  25. OMG, Fault Tolerant COREA, December, 1999
  26. Olawsky, D., Payne, C., Sundquist, T., Apostal, D., and Fine, T., 'Using composition to design secure, fault-tolerant systems,' DARPA Information Survivability Conference and Exposition, pp. 380-390, 2000 https://doi.org/10.1109/DISCEX.2000.821535
  27. OMG, Security Service Specification, December 1998
  28. IONA Technologies, OrbixSecurity 3,0 White Paper, September 1999
  29. OMG, COREAServices: Common Object Service Specification, December 1998