SEED 프로세스 중심 소프트웨어 개발 환경을 위한 프로세스 프로그래밍 언어 및 수행지원 시스템

A Process Programming Language and Its Runtime Support System for the SEED Process-centered Software Engineering Environment

  • 김영곤 ((주) 퓨쳐시스템 연구원) ;
  • 최혁재 (다우인터넷(주) 연구원) ;
  • 이명준 (울산대학교 컴퓨터정보통신공학부) ;
  • 임채덕 (한국전자통신연구원) ;
  • 한우용 (한국전자통신연구원 전자거래연구팀 연구원)
  • 발행 : 1999.12.01

초록

프로세스 중심 소프트웨어 개발 환경(PSEE : Process-centered Software Engineering Environment)은 소프트웨어 개발자를 위한 여러가지 정보의 제공과 타스크의 수행, 소프트웨어 개발 도구의 수행 및 제어, 필수적인 규칙이나 업무의 수행등과 같은 다양한 행위를 제공하는 프로세스 모형의 수행을 통하여 소프트웨어 개발 행위를 지원한다. SEED(Software Engineering Environment for Development)는 효율적인 소프트웨어 개발과 프로세스 모형의 수행을 제어하기 위해 ETRI에서 개발된 PSEE이다.본 논문에서는 SEED에서 프로세스 모형을 설계하기 위해 사용되는 SimFlex 프로세스 프로그래밍 언어와, 수행지원시스템인 SEED Engine의 구현에 대하여 기술한다. SimFlex는 간단한 언어 구조를 가진 프로세스 프로그래밍 언어이며, 적절한 적합화를 통하여 다른 PSEE에서 사용될 수 있다. SimFlex 컴파일러는 SimFlex에 의해 기술된 프로세스 모형을 분석하고, 모형의 오류를 검사하며, SEED Engine에 의해 참조되는 중간 프로세스 모형을 생성한다. 중간 프로세스 모형을 사용하여 SEED Engine은 외부 모니터링 도구와 연관하여 사용자를 위한 유용한 정보뿐만 아니라 SimFlex에 의해 기술된 프로세스 모형의 자동적인 수행을 제공한다. SimFlex 언어와 수행지원 시스템의 지원을 통하여 소프트웨어 프로세스를 모형화하는데 드는 비용과 시간을 줄일 수 있으며, 편리하게 프로젝트를 관리하여 양질의 소프트웨어 생산물을 도출할 수 있다. Abstract Process-centered Software Engineering Environments(PSEEs) support software development activities through the enaction of process models, providing a variety of activities such as supply of various information for software developers, automation of routine tasks, invocation and control of software development tools, and enforcement of mandatory rules and practices. The SEED(Software Engineering Environment for Development) system is a PSEE which was developed for effective software process development and controlling the enactment of process models by ETRI.In this paper, we describe the implementation of the SimFlex process programming language used to design process models in SEED, and its runtime support system called by SEED Engine. SimFlex is a software process programming language to describe process models with simple language constructs, and it could be embedded into other PSEEs through appropriate customization. The SimFlex compiler analyzes process models described by SimFlex, check errors in the models, and produce intermediate process models referenced by the SEED Engine. Using the intermediate process models, the SEED Engine provides automatic enactment of the process models described by SimFlex as well as useful information for agents linked to the external monitoring tool. With the help of the SimFlex language and its runtime support system, we can reduce cost and time in modeling software processes and perform convenient project management, producing well-qualified software products.

키워드

참고문헌

  1. 한국정보처리학회논문지 v.4 no.11 객체기반 프로세서 프로그래밍을 위한 SimFlex 언어의 구조 김영곤;이명준;강병도
  2. Software Process Modeling and Technology A.Finkelstein (et al.)
  3. ACM Transactions on Software Engineering and Methodology v.6 no.3 Assessing Process-Centered Software Engineering Environment Vincenzo A.mbriola;Redar Conardi;Alfonso Fuggetta
  4. In Proceedings of the 4th International Conference on Software Engineering and Knowledge Engineering Software Process Representation Languages: Survey and Assessment P.Armenise;S.Bandinelli;C.Ghezzi;A.Morzenti
  5. 한국정보과학회논문지 v.3 no.6 프로세스 중심 소프트웨어공학 환경을 이용한 소프트웨어 프로세스 관리 강병도(외 7명)
  6. 98년 가을 학술발표논문집 v.25 no.2 SEED 시스템에서의 소프트웨어 feedback 기능 지원 최혁재;김영곤;이명준;한우용
  7. In Proceedings of the 2nd International Conference on the Software Process Process Modeling in-the-large with SLANG Bandinelli, S.;Fuggetta, A.;Grigolli, S.
  8. IEEE Transactions on Software Engineering Software Process Model Evolution in the SPADE Environment S.Bandineli (et al.)
  9. IEEE Transactions on Software Engineering Techniques for Process Model Evolution in EPOS M.L.Kaccheri;R.Conradi
  10. ACM Transactions on Software Engineering and Methodology v.14 no.3 APPL/A: A language for software process programming Sutton, S.;Heimbigner D.;Osterweil, L.
  11. In Proceedings of the 2nd International Conference on the Software Process(ICSP2) Software process development and enactment : Concept and definitions Feiler, P.;Humphrey, W.