KR100229775B1 - A people oriented work environment tool and data processing system - Google Patents

A people oriented work environment tool and data processing system Download PDF

Info

Publication number
KR100229775B1
KR100229775B1 KR1019950056858A KR19950056858A KR100229775B1 KR 100229775 B1 KR100229775 B1 KR 100229775B1 KR 1019950056858 A KR1019950056858 A KR 1019950056858A KR 19950056858 A KR19950056858 A KR 19950056858A KR 100229775 B1 KR100229775 B1 KR 100229775B1
Authority
KR
South Korea
Prior art keywords
project
state
transition
programming language
oriented programming
Prior art date
Application number
KR1019950056858A
Other languages
Korean (ko)
Other versions
KR960029972A (en
Inventor
블랫 사라
마틴 햄브릭 제프리
정-슈 리 포린
브라이트웰 리곤 랜드맨
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR960029972A publication Critical patent/KR960029972A/en
Application granted granted Critical
Publication of KR100229775B1 publication Critical patent/KR100229775B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Abstract

본 발명은 인간 지향 작업 환경을 지원하는 데 사용되는 데이타 프로세싱 시스템에서 프로젝트 및 동봉된 라이프사이클을 효율적으로 표시하고, 유지하며 관리하는 방법 및 장치에 관한 것이다. 객체 지향 언어 환경은 객체로서 프로젝트, 프로세스, 상태, 전이 및 동작을 나타내는데 활용될 수 있다. 프로세스 객체는 프로젝트 객체로 부터 계승한다. 전이 객체는 상태 객체로 부터 계승한다. 이 시스템은 특정한 프로세스의 삽입을 허용한다.The present invention is directed to a method and apparatus for efficiently displaying, maintaining, and managing a project and its associated lifecycle in a data processing system used to support a human-oriented work environment. Object-oriented language environments can be used to represent projects, processes, states, transitions, and actions as objects. Process objects inherit from project objects. Transition objects inherit from state objects. This system allows the insertion of specific processes.

Description

인간 지향 작업 환경 표현 방법 및 데이타 프로세싱 시스템Human-oriented work environment representation method and data processing system

제1도는 본 발명을 구현하도록 구성가능한 분산 프로세싱 시스템을 도시하는 도면.1 illustrates a distributed processing system configurable to implement the present invention.

제2도는 본 발명을 구현하는 데이타 프로세싱 시스템을 도시하는 도면.2 illustrates a data processing system implementing the present invention.

제3도는 본 발명을 정적 모델을 도시하는 도면.3 illustrates a static model of the present invention.

제4도는 프로젝트의 동적 모델을 도시하는 도면.4 shows a dynamic model of a project.

제5도는 프로세스의 동적 모델을 도시하는 도면.5 shows a dynamic model of a process.

제6도는 천이의 동적 모델을 도시하는 도면.6 shows a dynamic model of transition.

제7도는 특정 시스템과 연관된 모든 사용자를 나타내는 시스템 사용자 뷰의 그래픽 사용자 인터페이스 표시를 도시하는 도면.FIG. 7 illustrates a graphical user interface representation of a system user view representing all users associated with a particular system.

제8, 9 및 10도는 제7도에 도시한 사용자 인터페이스와 연관된 드롭 다운 메뉴를 도시하는 도면.8, 9 and 10 illustrate drop down menus associated with the user interface shown in FIG.

제11도는 본 발명에서 구현된 프로세스를 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.11 illustrates a graphical user interface representing a process implemented in the present invention.

제12, 13 및 14도는 제11도에 도시한 사용자 인터페이스와 연관된 드롭 다운 메뉴를 도시하는 도면.12, 13, and 14 illustrate drop down menus associated with the user interface shown in FIG.

제15도는 프로젝트를 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.15 illustrates a graphical user interface representing a project.

제16, 17 및 18도는 제15도에 도시한 사용자 인터페이스와 연관된 드롭 다운 메뉴를 도시하는 도면.16, 17, and 18 illustrate drop down menus associated with the user interface shown in FIG.

제19도는 소유권을 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.19 illustrates a graphical user interface representing ownership.

제20 및 21도는 제19도에 도시한 사용자 인터페이스와 연관된 드롭 다운 메뉴를 도시하는 도면.20 and 21 illustrate drop down menus associated with the user interface shown in FIG. 19;

제22도는 특정 사용자와 연관된 개시를 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.FIG. 22 illustrates a graphical user interface representing an initiation associated with a particular user.

제23도는 특정 사용자와 연관된 동작을 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.FIG. 23 illustrates a graphical user interface representing an action associated with a particular user.

제24도는 특정 사용자와 연관된 whatnext를 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.24 illustrates a graphical user interface representing whatnext associated with a particular user.

제25도는 프로세스 bulkslip를 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.25 illustrates a graphical user interface representing a process bulkslip.

제26 및 제27도는 제25도에 도시한 사용자 인터페이스와 연관된 드롭 다운메뉴를 도시하는 도면.26 and 27 illustrate drop down menus associated with the user interface shown in FIG. 25;

제28도는 라이프사이클을 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.28 illustrates a graphical user interface representing a life cycle.

제29, 30 및 31도는 제28도에 도시한 것과 연관된 드롭 다운 메뉴를 도시하는 도면.29, 30, and 31 illustrate drop down menus associated with that shown in FIG. 28;

제32도는 특정 프로젝트 시점으로부터의 프로세스를 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.FIG. 32 illustrates a graphical user interface representing a process from a particular project perspective. FIG.

제33 내지 36도는 제32도에 도시한 사용자 인터페이스와 연관된 드룹 다운 메뉴를 도시하는 도면.33-36 illustrate a droop down menu associated with the user interface shown in FIG. 32;

제37도는 프로세스의 계층적 관점을 나타내는 그래픽 사용자 인터페이스를 도시하는 도면.FIG. 37 illustrates a graphical user interface representing a hierarchical view of a process. FIG.

<도면의 주요 부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

100 : 분산 처리 시스템 106 : 네트워크100: distributed processing system 106: network

10 : CPU 14 : RAM10: CPU 14: RAM

16 : ROM 18 : 입/출력 어댑터16: ROM 18: I / O Adapter

20 : 디스크 장치 22 : 사용자 인터페이스 어댑터20 Disk Unit 22 User Interface Adapter

24 : 키보드 34 : 통신 어댑터24: keyboard 34: communication adapter

36 : 디스플레이 어댑터 38 : 디스플레이 장치36: display adapter 38: display device

51, 61 : 준비 상태 52, 62 : 완료 상태51, 61: ready state 52, 62: complete state

701 : 윈도우 702 : 타이틀 바 영역701: Windows 702: Title Bar Area

707, 1101 : 디스플레이 영역 803 : 프로세스707, 1101: display area 803: process

894 : 프로젝트 903 : 최소화 동작894: Project 903: Minimize Behavior

1001 : 복제 1104 : 뷰1001: clone 1104: view

1106 : 선택부 1402 : 개방 프로젝트1106: selection unit 1402: open project

1403 : 개방 테스트 프로젝트 1804 : 스케쥴1403: Open Test Project 1804: Schedule

2101 : 생성 프로젝트 2602 : 라이프사이클2101: creation project 2602: lifecycle

2606 : 작업 제품 정의 3310 : 컨테이너2606: Work Product Definition 3310: Containers

108, 110, 112, 114, 116, 118, 120, 122, 124, 126 및 128 : 데이타 프로세싱 시스템108, 110, 112, 114, 116, 118, 120, 122, 124, 126 and 128: data processing system

본 발명은 인간 지향 작업 환경(people oriented work environment)을 지원하는데 사용되는 데이타 프로세싱 시스템에서 프로젝트(project)및 그 라이프사이클(lifecycle)을 효율적으로 나타내고, 유지하며, 관리하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for efficiently representing, maintaining, and managing a project and its lifecycle in a data processing system used to support a people oriented work environment.

프로젝트의 관리는 병참학적(logistical)이고 관료적인(bureaucratic) 문제가 될 수 있다. 종종 사람의 수, 태스크, 이들의 상호관계 및 프로젝트내의 작업 흐름을 통제하는 정책은 프로젝트의 성공적인 진행을 어렵게 하거나 방해할 수도 있다.Managing a project can be a logistical and bureaucratic problem. Often, policies governing the number of people, their tasks, their interrelationships, and the workflow within a project can make it difficult or even disrupt the project's success.

이러한 문제점은 특정한 기구 조직(organization)에 의해 인식되어, 주어진 프로젝트의 최종 제품과는 연관되지 않지만, 이 최종 제품을 개발하는데 사용되는 프로세스와 연관되는 품질 표준화로 귀착된다. 이러한 기구의 일예는 국제 표준화기구(International Standards Organization : ISO) 및 그 표준안 ISO 9000으로서, 마찬가지로 개발된 제품보다는 개발 프로세스에 관심이 모아지고 있다.This problem is recognized by a particular organization and results in quality standardization that is not associated with the end product of a given project but is associated with the process used to develop this end product. An example of such an organization is the International Standards Organization (ISO) and its standard ISO 9000, which likewise draw attention to the development process rather than the developed product.

ISO 9000 표준안의 기본적인 개념은, 개발 프로세스가The basic idea behind the ISO 9000 standard is that the development process

(1) 잘 정의되고, 문서화되어야 하며, (2) 반복가능하며, 측정가능해야 하고, (3) 그 측정이 프로세스를 개선시키는데 사용되어져야 한다는 것이다.(1) it must be well defined, documented, (2) repeatable and measurable, and (3) the measurement used to improve the process.

이론적으로, 프로세스가 에러를 검출하고 교정한 후, 이 에러를 전적으로 방지하는 기능을 개선하면 제품의 품질이 향상될 것이다.Theoretically, after the process detects and corrects an error, improving the functionality that prevents this error entirely will improve product quality.

실질적으로 이러한 개념은 점차적으로 품질에 관심을 갖기 시작하는 산업 분야에서 지지를 얻고 있다. 예를 들면, 유럽 시장에서는 ISO 9000 인증이 없이는 많은 프로젝트가 판매되지 못할 수도 있다. 이러한 인증은 독립적인 감사 기구에 의한 프로젝트 팀의 다양한 구성원의 감사 결과에 따라 성취될 수 있다.In practice, this concept is gaining support in an industry that is increasingly beginning to pay attention to quality. In the European market, for example, many projects may not be sold without ISO 9000 certification. Such certification may be achieved based on the audit results of various members of the project team by independent auditors.

이러한 감사는 매우 힘들고 시간 소모적인 작업이 될 수 있는데, 그 이유는 구성원이 그들이 생산하는 제품이 무엇이며, 그 제품을 생산하는 이유가 무엇인지, 또한 품질 관리에 적합한 단계를 그들이 따르고 이해하고 있는지, 또한 프로세스를 수정(또는 최적화)하는 성능 결과를 그들이 사용할 수 있는지를 입증하기 위한 많은 질문이 주어지고, 서류들이 요구되기 때문이다. 프로젝트 팀 구성원의 "절대다수"가 이 감사를 통과하게 되면, 인증서가 수여된다.Such audits can be very laborious and time-consuming, because they know what products they produce, why they produce them, and whether they follow and understand the appropriate steps for quality control, Also, many questions are asked to prove that they can use the performance results of modifying (or optimizing) the process, and documentation is required. If an "absolute majority" of project team members pass this audit, a certificate is awarded.

이러한 인증 요건의 여부에 관계없이, 프로젝트의 라이프 사이클에 걸쳐 프로젝트를 감시하고, 지지하며, 구성하고 관리하는 몇몇 종류의 툴(tool) 또는 메카니즘을 갖는 것이 여전히 바람직하다. 많은 종래 기술의 툴이 프로젝트를 지원하기 위한 시도로서 발전되어 왔다. 또한, 컴퓨터의 출현 및 확산과 함께, 프로젝트의 작업 흐름 및 프로세스 측면에서 문서가 제공되고 관리하는데 도움을 주는 많은 프로그램이 작성되었다.Regardless of these certification requirements, it is still desirable to have some sort of tool or mechanism that monitors, supports, organizes, and manages the project throughout its life cycle. Many prior art tools have evolved in an attempt to support projects. In addition, with the advent and proliferation of computers, a number of programs have been written to help provide and manage documentation in terms of project workflow and processes.

대부분의 종래 기술의 툴(예를 들면, 1990년 9월, 오하이오주 더블린(Dublin, Ohio)에 소재한 유니버설 에너지 시스템즈(Universal Energy Systems)사에 의해 개발된 KI Shell, 버전 1.1)은 프로젝트 지원을 위한 그 접근 방안에 있어서 "프로세스"지향적이다. 즉, 프로세스 지향 툴은 이들간의 동작 및 제어 흐름상에 집중된다. 예를 들면, 소프트웨어 시스템을 개발하기 위한 프로세스 지향 접근 방안은Most of the prior art tools (e.g., KI Shell, Version 1.1, developed by Universal Energy Systems, Dublin, Ohio, September 1990) are available to support the project. It is "process" oriented in that approach. In other words, process-oriented tools focus on the flow of operations and control between them. For example, a process-oriented approach to developing software systems

(a) 분석(analysis),(a) analysis,

(b) 설계(design),(b) design,

(c) 코드(code),(c) code,

(d) 테스트(test)(d) test

(e) 전송(delivery)(e) delivery

과 같은 동작을 포함한다.Include operations such as:

프로세스(또는 "방법") 지향 방안을 지원하는 툴은 프로젝트가 하나의 상태에서 다른 상태로 흐르도록 하는 것을 포착하는 동작이 정의되도록 하는 수단을 제공할 수 있다. 예를 들면, 테스트 동작의 결과로서, (큰 문제점이 존재하지 않으면), 다음의 동작은 (발견된 문제점의 종류에 따라) "전송", 또는 "코드", "설계" 또는 "분석"이 될수 있다.Tools that support a process (or "method") oriented approach can provide a means by which actions to be defined that capture the project from one state to another are defined. For example, as a result of a test operation (if there are no significant problems), the following behavior may be "transfer", or "code", "design" or "analysis" (depending on the type of problem found). have.

인증 관점에서 뿐만 아니라, 프로세스를 최적화하고 비용을 절감하도록 시도하는 프로젝트 팀 구성원의 관점에서, 이러한 접근 방안의 단점은 고품질의 출력을 성취하는 동작과 재작업이 요구되는 동작을 구별할 수 있는 방법이 존재하지 않는다는 것이다. 즉, 프로세스를 최적화하기 위해서는 프로세스를 통한 "전진(foward)" 및 "후진(backward)" 이동 모두를 트래킹해야 할 필요성이 존재하게 된다.Not only from a certification standpoint, but from a project team member who tries to optimize processes and reduce costs, a disadvantage of this approach is that there is a way to distinguish between actions that achieve high quality output and those that require rework. It doesn't exist. In other words, there is a need to track both "foward" and "backward" movements through the process to optimize the process.

이를 위한 간단한 해결책은 이 동작이 "전진"동작을 나타내는지 또는 "후진" 동작을 나타내는 지를 표시하는 각 동작에 속성을 부가하는 것이다. 그러나, 이러한 방안에 의한 해결책은 다수의 잉여 동작(extra activities)을 갖는 라이프 사이클 모델의 정의를 혼란스럽게 하는 경향이 있다. 앞서 인용된 미국 특허 출원서(AT9-92-077)는 해결책을 개시하는데, 이 해결책에서 라이프사이클을 통한 "천이(transition)"가 더 이상 그 자체로 표시되지 않고, 하나의 상태에서 다른 하나의 상태로의 흐름을 나타내며, 이 흐름은 양방향성으로 가정된다. 각각의 천이는 타겟 상태로 제어 흐름이 전진하고 소스 상태로 제어 흐름이 후진하게 하는 개별적인 연관 동작을 갖는다.A simple solution for this is to add an attribute to each action that indicates whether this action represents a "forward" action or a "reverse" action. However, the solution by this approach tends to confuse the definition of a life cycle model with a large number of extra activities. The previously cited US patent application (AT9-92-077) discloses a solution in which a "transition" through the lifecycle is no longer represented by itself, but from one state to another. This flow is assumed to be bidirectional. Each transition has a separate associative action that causes the control flow to advance to the target state and back to the source state.

이러한 해결책의 주요 장점은 프로세스에 관련된 사람이 자신의 프로세스에서 작업 생산을 "완료"했다고 생각하여 다음 상태로 이동시키거나, 또는 생산 완료를 저해하는 에러를 발견하여 이전 사람이 작업을 "거부"하여 이전 상태로 다시 이동시키는 것을 가능하게 하는 것이다. 구체적인 의미를 갖는 제한된 수의 천이를 가지므로써, 프로세스는 정의, 수행, 관리, 최적화가 보다 용이하게 성취될 수 있다.The main advantage of this solution is that the person involved in the process thinks that the work production is "completed" in his or her process and either moves to the next state, or finds an error that prevents the completion of the work and "rejects" the work. It makes it possible to move back to a previous state. By having a limited number of transitions with specific meaning, processes can be more easily defined, performed, managed, and optimized.

그러나, 이 해결책은 한 단계 더 나아가서, 시스템이 "프레임(frame)" 기반으로 되어 있는 종래 기술의 시스템에 존재하는 다른 문제점들을 해결했다. 프레임 기반 동작은 상태 변환 동작을 통제(허가)하는 정책 및 단일 프로그램에서 상태 변화를 함께 야기하는 코드를 나타내는 모든 로직(logic)을 포함한다.However, this solution goes one step further and solves other problems present in prior art systems in which the system is based on a "frame". Frame-based behavior includes all the logic that represents the policy that governs (permits) the state transition behavior and the code that together causes the state change in a single program.

지정, 테스트 및 유지가 어려워질수록 프레임 기반 시스템과 연관된 프로그램이 한층 더 복잡해질 뿐만 아니라, 상기 정책 및 상태 변화 동작은 통상 프로세스를 정의하는 여러 사람에 의해 "소유된다(owned)". 통상적으로, 관리 팀은 상태변화를 허가하는 정책을 소유하는 반면, 기술 팀은 상태 변화를 야기하는 특정 동작을 소유하는 경향이 있다. 예를 들면, 관리자는 최종 상태로 이동하기 위해 코드가 99% 테스트되도록 결정할 수도 있지만, 기술 팀은 고객으로의 전송을 준비하는데 필요한 "구축 및 패키지(build and package)"를 정의하는 책무를 지게 된다.The more difficult it is to specify, test, and maintain, the more complex the program associated with the frame-based system is, and the policy and state change behaviors are typically "owned" by the people who define the process. Typically, the management team owns a policy that allows for a change of state, while the technical team tends to own a specific action that causes the state change. For example, an administrator may decide to have 99% of the code tested to move to the final state, but the technical team is responsible for defining the "build and package" needed to prepare for delivery to the customer. .

미국 특허 출원서(AT-92-077)에 개시된 해결책은 상태 변화가 실행되기 전에 우선되어야 하는 "가드(guard)" 조건을 나타내는 각 천이와 연관된 제3"프로그램 프래그먼트(program fragment)"가 부가되게 하는 것이었다. 또한, 제어가 다음 상태로 넘겨질 때, 제4프로그램 프래그먼트는 그 상태와 연관된 동작을 완료해야 하는 책무를 가진 합법적인 "소유자"의 리스트를 결정하였다. 이와 함께, 가드 조건 및 소유자 동작이 프로세스와 연관된 정책을 정의하는 토대로서 기능하였다. 상기 정책을 기술하고 이해하도록 하는 것은 ISO 9000 인증 감사의 일부로서만 필요한 것이 아니고, 고품질의 제품을 개발하기 위해서 필수불가결하다. 실제로, 후진 동작을 차단하므로써 프로세스를 최적화하는 성능은 상태 변화 동작을 수정하기 보다는, 가드 조건을 강화하고/하거나 소유권을 유지하는 사람에 대한 제어를 강화하는 성능에 보다 의존한다. 따라서, 이러한 해결책이 사용될 때 프로세스의 변화가 보다 더 국소적이 될 것으로 예상된다.The solution disclosed in U.S. Patent Application (AT-92-077) allows a third "program fragment" associated with each transition representing a "guard" condition that must be prioritized before a state change is executed. Was. Also, when control is passed to the next state, the fourth program fragment has determined a list of legitimate "owners" with the responsibility to complete the actions associated with that state. In addition, guard conditions and owner actions served as the basis for defining the policies associated with the process. It is not only necessary as part of the ISO 9000 certification audit to describe and understand these policies, but it is indispensable to develop high quality products. Indeed, the performance of optimizing processes by blocking backwards behavior is more dependent on the ability to enforce guard conditions and / or control over who owns ownership than to modify state change behavior. Thus, it is expected that the process change will be more local when such a solution is used.

그러나, 이러한 "확장된" 프로세스 지향 접근 방안은 충분하지 않은데, 그 이유는 이 시스템이 프로젝트 팀에게 단지 그들이 수행해야 할 것만을 알려주며, 그들이 생산하고자 하는 제품의 관점에서 그들이 수행하는 것을 이해하는 데에는 도움을 주지 않기 때문이다.However, this “extended” process-oriented approach is not sufficient because the system only tells the project team what they need to do and helps them understand what they are doing in terms of the product they are trying to produce. Because it does not give.

많은 경우에 있어서 다른 문제점은 다수의 동시적인 동작간의 상호작용을 관리하기 위해 프로젝트가 매우 복잡한 라이프사이클을 갖는다는 점이다. 프레임/방법 기반의 종래 기술 시스템에서는 이러한 환경을 처리하기 위해 "순차(sequences)", "교번(alternatives)" 및 "병렬(parallel) 동작"과 같은 특정한 종류의 프레임에 의존한다. 몇몇 경우에, 동작의 종류 및 동작의 수는 미리 정확히 정의되지 못할 수도 있다. 임의의 경우에, 라이프사이클은 매우 복잡하게 되어 프로세스가 이해되거나 처리되지 못할 수가 있다.In many cases, another problem is that a project has a very complex lifecycle to manage the interaction between multiple concurrent operations. Prior art systems based on frames / methods rely on certain kinds of frames such as "sequences", "alternatives" and "parallel operations" to handle this environment. In some cases, the type of operation and the number of operations may not be accurately defined in advance. In any case, the lifecycle may be so complex that the process may not be understood or handled.

또한, 또다른 문제점은 종종 프로젝트와 연관된 상태가 복잡해질 수도 있다는 것이다. 즉, "분석"과 같은 주어진 상태가 "계획", "분석", "검토", "재작업" 또는 "수용"과 같은 보다 상세한 상태로 분해될 수도 있다는 것이다.Another problem is that often the state associated with a project can be complicated. That is, a given state, such as "analysis", may be broken down into more detailed states, such as "plan", "analysis", "review", "rework" or "accept".

또다른 문제점은 하나 또는 두 동작을 제외하고는 많은 상태가 매우 유사한 복잡한 브레이크다운(breakdown)을 종종 갖는다는 점이다. 예를 들면, "분석" 및 "설계"는 ("설계"보다는 "분석" 면에서) 관련된 제2동작을 제외하고는 동일할 수도 있다.Another problem is that many states, except one or two operations, often have very similar complex breakdowns. For example, "analysis" and "design" may be the same except for the second action involved (in terms of "analysis" rather than "design").

요컨대, 이러한 문제점은 시스템이 매우 복잡하고 중복되게 하며, 시스템이 우선적으로 설정되고, 차후에 유지되고/되거나 최적화되는 것을 어렵게 한다.In short, this problem makes the system very complex and redundant and makes it difficult for the system to be set up first, and then maintained and / or optimized.

본 발명의 목적은 이러한 문제점을 해결하는데 있다.The object of the present invention is to solve this problem.

본 발명의 목적은 프로젝트 구성요소의 작업 제품 및 명백하고 명확한 방식으로 이들 구성을 통제하는 라이프사이클의 관점에서 프로젝트를 정의하는 컴퓨터 구현 인터페이스(computer implemented interface)를 사용하여 프로젝트를 구성하고 관리하는 것을 지원하는 데 있다.The object of the present invention is to assist in organizing and managing a project using a computer implemented interface that defines the project in terms of the work products of the project components and the lifecycle of controlling these configurations in a clear and unambiguous way. There is.

본 발명은 바람직하게 본 발명의 각종 부분이 객체로 구성되는 객체 지향 프로그래밍 언어 환경(object-oriented programming language environment)에서 구현된다. 당업자에게 잘 알려진 바와 같이, 이러한 구성으로 인해 프로그램이 수정이 비교적 용이하게 되며, 시스템 구성요소의 동작 및 상호관계가 보다 용이하게 기술될 수 있다. 객체 지향 프로그래밍에 대해 보다 자세한 정보를 원한다면, 본 발명에서 참조로 인용되는 Object-Oriented Technology: A Manager's Guide, Taylor, D., Addison-Wesley 1994 및 Object-Oriented Analysis and Design, Booch, G., 2nd Edition, The Benjamin Cummings Publishing Co. 1994를 참조하기 바란다.The invention is preferably implemented in an object-oriented programming language environment in which various parts of the invention are composed of objects. As is well known to those skilled in the art, this configuration makes the program relatively easy to modify, and the operation and interrelationships of the system components can be more easily described. For more information on object-oriented programming, see Object-Oriented Technology: A Manager's Guide, Taylor, D., Addison-Wesley 1994 and Object-Oriented Analysis and Design, Booch, G., 2nd, which are hereby incorporated by reference. Edition, The Benjamin Cummings Publishing Co. See 1994.

이러한 환경내의 객체는 프로젝트, 작업 제품, 상태, 천이로 구성될 수 있다. 프로젝트는 최종 제품을 나타내며, 선택사양적으로 작업 제품으로 구성된다. 프로젝트는 상태에 의해 정의된 라이프사이클을 가지며, 이 라이프사이클을 통한 진행은 천이 동작에 의해 통제되고, 이 프로젝트는 본 발명의 참조로 인용되는 미국 특허 출원서(AT-92-077)에 따라, 가드, 소유자, 라이프사이클을 통한 전진 및 후진 이동을 기술하는 연관된 코드 프래그먼트를 갖는다.Objects within these environments can consist of projects, work products, states, and transitions. The project represents the final product and optionally consists of the working product. The project has a lifecycle defined by state, the progression through this lifecycle is controlled by the transition operation, which project is guarded according to US patent application (AT-92-077), which is incorporated herein by reference. , Has an associated code fragment describing the owner, forward and backward movement through the lifecycle.

또한, 프로젝트들은 다른 프로젝트들에 의해 정의되며, 다른 프로젝트에 의존하거나 또는 다른 (서브) 프로젝트로 구성될 수 있다. 상태들은 그들 자신의 권리내의 한 종류의 서브프로젝트이며, 이들의 차이점은 프로젝트(또는 서브 프로젝트)라이프사이클의 상태내에서 발생할 수 있는 천이(동작)를 식별하도록 기능한다는 것이다. 천이는 또한 프로젝트의 특정한 종류로서, 상태 변화를 야기하는데 필요한 코드를 유지한다.In addition, projects are defined by other projects and can depend on or be organized into other (sub) projects. States are a kind of subproject in their own right, the difference being that they function to identify transitions (actions) that can occur within the state of the project (or subproject) lifecycle. Transitions are also a specific kind of project, which keeps the code necessary to cause a state change.

또한, "소스" 및 "구성요소"작업 제품과 연관된 라이프사이클이 (프로젝트자원이 허용될 경우 병렬로) 뒤따른다고 가정하는 모든 복잡한 프로젝트(즉, 세분된 프로젝트)에 대해 "디폴트(default)" 프로세스가 가정된다.In addition, the "default" process for all complex projects (i.e., subdivided projects) assuming that the lifecycle associated with the "source" and "component" work products follows (in parallel if project resources are allowed). Is assumed.

본 발명은 바람직하게 동작 프로젝트의 구성원에게 수행되어야 할 동작이 무엇인지를 통보하는 컴퓨터 지원 환경을 제공한다. 이러한 정보는 통상적으로 컴퓨터 시스템내에서 활용되는 다양한 사용자 인터페이스 기법중 임의의 하나의 기법으로 프로젝트 구성원에게 전달된다. 이러한 사용자 인터페이스의 일예는 "윈도우즈" 프로그램과 같은 그래픽 사용자 인터페이스가 될 수 있으며, 이 인터페이스는 사용자에 대해 요구되는 태스크(task) 및 책무를 결정하기 위해 사용자가 아이콘 및 다른 다양한 윈도우를 통해 "클릭"하는 것을 허용한다. 본 발명은 사용자의 태스크에 대해 불필요한 정보를 가진 특정 사용자를 혼란시키지 않고, 이 특정 사용자에 대한 책무에 촛점을 두는 방식으로, 조건, 세부사항(particulars), 상태, 아이덴티티(identities), 할당과 같은 프로젝트 정보를 구성한다.The present invention preferably provides a computer-assisted environment that informs members of an action project what actions should be performed. This information is typically communicated to project members in any one of a variety of user interface techniques utilized within computer systems. An example of such a user interface may be a graphical user interface, such as a "windows" program, which the user "clicks" through icons and various other windows to determine the tasks and tasks required for the user. Allow to do The present invention does not confuse a particular user with unnecessary information about a user's task, but rather focuses on the responsibility for that particular user, such as conditions, details, states, identities and assignments. Configure project information.

따라서, 이러한 사용자 인터페이스를 통해, 사용자는 프로젝트 전송가능성 및 라이프사이클을 정의하기 위해 본 발명의 요약된 구성요소를 활용할 수도 있으며, 프로세스가 정의된 바와 같이 행해지는 것을 보장하도록 시스템을 이용할 수도 있다.Thus, through this user interface, the user may utilize the summarized components of the present invention to define project deliverability and lifecycle, and may use the system to ensure that the process is done as defined.

프로젝트가 다른 프로젝트에 의해 정의되어 성취할 수 있는 장점은 세부사항을 재정의하지 않고도 다른 지정 프로젝트에 의해 재사용될 수 있다는 것이다.The advantage that a project can be defined and achieved by another project is that it can be reused by another designated project without redefining the details.

제품이 다른(서브) 프로젝트로 구성되어 성취할 수 있는 장점은 개발되는 주요 중간 작업 제품의 관점에서 프로젝트가 정의될 수 있으며, 시스템을 사용하여 각 단계에서 무엇이 개발되는지를 이해하는 것이 보다 용이하게 되고, 심지어 구성요소내에서도 전술한 재사용을 활용할 수 있게 된다는 점이다.The benefits that a product can achieve by being composed of other (sub) projects can be defined in terms of the main intermediate work product being developed, and it becomes easier to understand what is being developed at each stage using the system. In other words, the reuse described above can be utilized even within the component.

프로젝트가 다른 프로젝트에 의존하여 성취할 수 있는 장점은 작업 제품들간의 종속성이 명시적으로 이루어짐에 따라, 시스템은 요구될 때 자동적으로 순차적인 동작을 수행할 수 있게 되며(즉, "소스" 작업 제품이 먼저 개발되고, 이후 구성요소가 개발되며), 종속성이 식별되지 않을 때에는 병렬 동작이 허용되므로, 프로세스의 정의 및 최적화를 보다 용이하게 성취할 수 있다는 점이다.The advantage that a project can achieve by relying on another project is that as dependencies between work products are explicitly made, the system can automatically perform sequential actions when required (ie, "source" work products). This is developed first, then components are developed), which allows parallel operation when no dependencies are identified, making it easier to define and optimize the process.

프로젝트와 같은 상태를 취급하여 성취할 수 있는 장점은 이들 상태가 다른 보다 일반적인 상태에 의해 정의될 수 있는 성능을 이용할 수 있게 되고, 또한 재사용이 이용되며, 정의 프로세스가 임의의 세밀한 레벨에 대해 취해질 수 있기 때문에, 이들 프로젝트들이 연관된 작업 제품으로 용이하게 분해될 수 있으며, 이들을 조합하는데 적합한 라이프사이클을 지원할 수 있다는 것이다.The benefits that can be achieved by dealing with states such as projects are that these states can take advantage of the performance that can be defined by other, more general states, reuse is also used, and the definition process can be taken at any granular level. As such, these projects can be easily broken down into associated work products and support the appropriate lifecycle for combining them.

프로젝트가 같은 천이를 취급하여 성취할 수 있는 장점은, 필요하다면, 이들 상태가 분해될 수 있고, 시스템의 정책이 요구하면, 중간 작업 제품을 갖는 복잡한 라이프사이클을 지원할 수 있다는 것이다. 본 발명의 시스템은 재사용을 활용할 뿐 아니라 "긴 실행(long running)"천이의 정의 및 실행을 지원하는 것을 허용한다.The advantage that a project can achieve by dealing with the same transition is that if necessary, these states can be broken down and, if required by the system's policy, can support complex lifecycles with intermediate work products. The system of the present invention not only utilizes reuse, but also allows the definition and execution of "long running" transitions.

본 발명의 상세한 설명을 보다 잘 이해할 수 있도록 하기 위해, 본 발명의 특성 및 기술적인 장점이 개략적으로 넓은 범위에서 기술되었다. 이하 본 발명의 청구 범위의 요지를 형성하는 본 발명의 부가적인 특징 및 장점이 기술될 것이다.In order that the detailed description of the present invention may be better understood, the characteristics and technical advantages of the present invention have been described in a broad, broad manner. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention.

이하 개시되는 설명에서, 본 발명의 전체적인 이해를 제공하기 위해 다수의 특정 세부 사항이 개시된다. 그러나, 당업자라면 이러한 특정 세부 사항 없이도 본 발명이 실시될 수 있음을 충분히 이해할 것이다. 다른 예로서, 불필요한 세부사항으로 본 발명을 불명료하지 않도록 하기 위해 잘 알려진 회로가 블럭도로 도시된다. 대부분의 경우, 본 발명의 완전한 이해를 성취하는데 필요하지 않으며, 당업자에게 이미 잘 알고 있는 분야인 경우, 타이밍 고려 등에 관한 세부 사항은 생략되었다.In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, those skilled in the art will fully appreciate that the present invention may be practiced without these specific details. As another example, well-known circuits are shown in block diagram form in order not to obscure the present invention in unnecessary detail. In most cases, it is not necessary to achieve a thorough understanding of the present invention, and details of timing considerations and the like have been omitted when the field is well known to those skilled in the art.

도면을 참조하면, 도시된 구성요소는 본래의 축적대로 도시되지는 않았으며, 동일하거나 유사한 구성요소는 각 도면에서 동일한 도면 부호로서 표시된다.Referring to the drawings, the components shown are not drawn to scale, and the same or similar components are denoted by the same reference numerals in each of the drawings.

제1도를 참조하면, 데이타 프로세싱 시스템(108, 110, 112, 114, 116, 118, 120, 122, 124, 126 및 128)을 갖고, 이들 시스템이 통상적인 방식으로 접속되어 있는 분산 프로세싱 시스템(100)이 도시되어 있다. 네트워크(106)는 국소 영역 네트워크, 광역 네트워크 또는 인터넷과 같은 전국적인 또는 국제적인 데이타 전송 네트워크가 될 수도 있다.Referring to FIG. 1, a distributed processing system having data processing systems 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, and 128, to which these systems are connected in a conventional manner ( 100 is shown. The network 106 may be a national or international data transfer network such as a local area network, wide area network or the Internet.

제2도를 참조하면, 대표적인 하드웨어 환경이 도시되어 있으며, 본 발명에 따라, 통상적인 마이크로프로세서와 같은 중앙 처리 장치(10)와, 시스템 버스(12)를 통해 상호접속된 다수의 다른 장치를 갖는 데이타 프로세싱 시스템(108)(제1도 참조)의 전형적인 하드웨어 구성이 도시되어 있다. 제2도에 도시한 시스템(108)은 랜덤 액세스 메모리(RAM)(14)와, 판독 전용 메모리(ROM)(16)와, 디스크 장치(20) 및 테이프 드라이브(40)와 같은 주변 기기를 버스(12)에 접속하는 입/출력 어댑터(18)와, 키보드(24), 마우스(26), 스피커(28), 마이크로폰(32) 및/또는 터치스크린 장치(도시하지 않음)등의 다른 사용자 인터페이스 장치를 버스(12)에 접속하는 사용자 인터페이스 어댑터(22)와, 시스템(108)을 네트워크(106)에 접속하는 통신 어댑터(34), 및 버스(12)를 디스플레이 장치(38)에 접속하는 디스플레이 어댑터(36)를 포함한다.Referring to FIG. 2, a representative hardware environment is shown and, in accordance with the present invention, having a central processing unit 10, such as a conventional microprocessor, and a number of other devices interconnected via a system bus 12. A typical hardware configuration of data processing system 108 (see FIG. 1) is shown. The system 108 shown in FIG. 2 busses peripheral devices such as random access memory (RAM) 14, read-only memory (ROM) 16, disk device 20 and tape drive 40. Input / output adapter 18 connected to 12, and other user interfaces such as keyboard 24, mouse 26, speaker 28, microphone 32, and / or touch screen device (not shown) A user interface adapter 22 that connects the device to the bus 12, a communication adapter 34 that connects the system 108 to the network 106, and a display that connects the bus 12 to the display device 38. Adapter 36.

제3도를 참조하면, 본 발명을 룸보 스타일(rumbaugh style)로 도시한 모델이 도시되어 있다. 룸보 표시는 당 분야에서는 잘 알려진 기법이며, 제임스 룸보(James Rumbaugh), 마이클 블라하(Michael Blaha), 윌리엄 프레멜라니(William Premerlani), 프레드리히 에디(Frederich Eddy), 윌리엄 로렌센(Willian Lorensen)에 의해 발명되어 1991년 프렌티스 홀(Prentice Hall)사에 의해 출판된 Object-Oriented Modeling and Design를 참조하길 바라며, 이는 본 발명의 전 범위에서 참조로서 인용한다.Referring to FIG. 3, there is shown a model depicting the present invention in a rumbaaugh style. Rumbo marking is a technique well known in the art and is described by James Rumbaugh, Michael Blaha, William Premerlani, Fredderich Eddy, and William Lorensen. Reference is made to Object-Oriented Modeling and Design, which was invented and published by Prentice Hall, 1991, which is incorporated by reference in its entirety.

제3도는 프로젝트 라이프사이클을 관리하기 위한 프로세스의 정적 모델을 도시한다. 정적 모델의 목적은 프로젝트 라이프사이클 관리 시스템에 수반된 프로젝트, 사용자, 동작 및 프로세스의 정적 구성을 도시하는 것이다. 관심있는 주요객체는 프로젝트(301)이다. 이후 프로젝트(301)를 논의하는데 있어서, 프로젝트(301)가 자신의 동작을 구동할 시스템내의 다른 객체와 갖는 관계를 주시하는 것이 바람직하다. 프로젝트(301)는 (1) 사용자(301)"에 의해 개시"되고, (2) 사용자(303)"에 의해 소유"되며, (3) 실질적으로 다른 프로젝트인 작업 제품의 리스트를 포함할 수 있고, (4) 자신이 대기하는(즉, 의존하는) 프로젝트 리스트를 가질 수 있으며, (5) 역으로, 완료되었을 때 통보되어야 하는 프로젝트(301)(즉, 자신을 지원하는 프로젝트)의 세트를 갖는 특성을 갖는다. 또한, 프로젝트(301)는 그 프로젝트(301)의 라이프사이클 동안 발생했던 동작(302)의 히스토리와 연관된다. 또한, 프로젝트(301)는 프로세스 객체(304)에 의해 정의되고 해당 프로세스(304)내의 주어진 상내(305)에 의해 또한 제어될 수 있다.3 shows a static model of the process for managing the project lifecycle. The purpose of a static model is to illustrate the static organization of projects, users, actions, and processes involved in a project lifecycle management system. The main object of interest is project 301. In discussing the project 301 later, it is desirable to note the relationship that the project 301 has with other objects in the system that will drive its operation. Project 301 may include (1) "initiated" by user 301, "(2) owned by user" 303, "and (3) a list of work products that are substantially different projects. (4) have a list of projects that they are waiting on (i.e., dependent), and (5) conversely, having a set of projects 301 (i.e., projects supporting them) that should be notified when completed. Has characteristics. In addition, project 301 is associated with a history of operations 302 that occurred during the lifecycle of that project 301. In addition, project 301 is defined by process object 304 and may also be controlled by a given bed 305 within that process 304.

전술한 사용자(303)에 대해 "개시되는"과 "소유되는" 관계간의 차이를 설명하자면, 사용자(303)"에 의해 개시되는" 것은 프로세스(304)또는 다른 수단으로부터 프로젝트(301)를 실질적으로 생성한 사용자(303)를 지칭하는 반면, 사용자"에 의해 소유되는" 것은 자신의 라이프사이클을 통해 프로젝트(301)를 이동시키는데 대한 책임을 지는 사용자(303)(즉, 프로젝트(301)의 실질적인 소유자)를 지칭하는 것이다.Explaining the difference between the "initiated" and "owned" relationship for user 303 described above, "initiated by user 303" substantially reduces project 301 from process 304 or other means. While referring to a user 303 that was created, "owned by a user" is the user 303 (ie, the actual owner of the project 301) who is responsible for moving the project 301 through his lifecycle. ).

역으로, 주어진 프로젝트(301)에 대해 "개시되는" 것은 사용자(303)가 개시된 프로젝트(301)의 세트를 가질 수 있다는 것이다. 또한, 사용자(303)는 주어진 시점에서 라이프사이클을 통해 이동하는 0 또는 그 이상의 프로젝터(301)를 소유할 수도 있다. 라이프사이클을 통해 프로젝트(301)를 이동함에 따라, 사용자(303)는 이러한 이동을 수행하기 위해 특정한 동작(302)세트를 실행한다. 이들 동작(302)은 또한 사용자(302)와도 연관된 것으로 기록된다.Conversely, what is "initiated" for a given project 301 is that user 303 can have a set of projects 301 initiated. In addition, user 303 may own zero or more projectors 301 moving through the lifecycle at a given point in time. As the project 301 moves through the lifecycle, the user 303 executes a specific set of operations 302 to perform this move. These actions 302 are also recorded as being associated with the user 302.

동작(302)은 그 히스토리의 일부로서 프로젝트(302)와 연관되지만, 동작(302)은 프로세스(304)의 라이프사이클내의 천이(306)에 의해 선택사양적으로 정의된다. 또한, 동작(302)은 모두 사용자(303)에 의해 선택사양적으로 수행된다. 이러한 동작은 선택사양적인데, 그 이유는 사용자(303)가 명시적으로 이 동작을 초기화할 필요없이, 시스템이 실질적으로 동작(302)을 직접 수행할 수 있기 때문이다. 라벨(307)은 동작(302)이 실질적으로 프로젝트(301)의 한 종류임을 나타내는 계승 관계를 나타낸다. 이 계승(307)은 동작(302)이 실질적으로 자신과 연관된 라이프사이클을 갖는 성능으로부터 이점을 얻을 수 있을 뿐 아니라, 다른 프로젝트(301)또는 동작(302)의 "대기", "통보", 이와 연관된 "작업 제품의 보유" 및 주어진 상태(305)"에 의해 제어되는" 등의 프로젝트(301)의 모든 특성을 포함하는 것을 도시한다. 이로 인해 시스템의 사용자(303)는, 필요하다면 매우 복잡한 프로세스를 생성할 수 있게 된다.Although operation 302 is associated with project 302 as part of its history, operation 302 is optionally defined by transition 306 in the lifecycle of process 304. In addition, operations 302 are all optionally performed by user 303. This operation is optional because the system can substantially perform the operation 302 directly, without the user 303 having to explicitly initiate this operation. Label 307 represents a factorial relationship that indicates that operation 302 is substantially one type of project 301. This factorial 307 can benefit from the performance that the operation 302 has substantially a lifecycle associated with it, as well as the "waiting", "notification" of other projects 301 or operation 302, and the like. It includes all properties of the project 301, such as the associated "retention of work product" and "controlled by a given state 305". This allows the user 303 of the system to create very complex processes if needed.

프로세스(304)는 또한 계승(307)에 의해 프로젝트(301)로부터 계승하여, 프로세스(304)가 또한 자신의 라이프사이클을 통해 이동하는 프로젝트(301)로서 인식될 수 있음을 의미한다. 프로세스(304)가 프로젝트(301)에 대해 우위에 있는 부가적인 특성에 대해, 프로세스(304)는 0 또는 그 이상의 프로젝트(301)를 정의하게 된다. 즉, 프로세스(304)의 목적은 일반적인 속성, 관계 및 프로젝트(301)의 상태 및 라이프사이클을 정의하는 것인 한편, 프로젝트(301) 자체는 실질적인 프로젝트(301)가 자신의 라이프사이클을 통해 이동할 때 예시 변수를 유지하는 것을 의미한다. 프로젝트(301)에는 종속 관계를 통해 프로젝트(301)를 함께 결합하는 "대기" 및 "통보" 관계가 존재하게 된다. 프로세스(304)에서, "~로부터의 입력" 및 "~로의 출력"을 수행하는 아날로그가 존재하게 된다. 즉, 주어진 프로세스(304)는 실질적으로 다른 프로세스(304)에 출력을 제공할 수 있다. 역으로, 프로세스(304)는 다른 프로세스(304)"로부터의 입력"을 수신할 수 있다. 이러한 관계는 이후 다른 프로세서(304)"로부터의 입력"이, 프로세서(304)에 의해 정의된 프로젝트(301)가 정의 프로세서(304)의 "~로부터의 입력" 관계를 나타낸 유형의 프로젝트(301)를 대기해야 한다는 것을 암시하도록 전개된다.Process 304 also inherits from project 301 by factorial 307, meaning that process 304 can also be recognized as a project 301 moving through its lifecycle. For additional properties where process 304 is superior to project 301, process 304 will define zero or more projects 301. That is, the purpose of process 304 is to define general attributes, relationships, and the state and lifecycle of project 301, while project 301 itself is the actual project 301 as it moves through its lifecycle. It means keeping the example variables. Project 301 will have a "wait" and a "notification" relationship that joins the project 301 together through a dependency relationship. In process 304, there will be an analog that performs "input from" and "output to". That is, a given process 304 may provide output to substantially other processes 304. Conversely, process 304 can receive input from another process 304. This relationship is then the type of project 301 in which "input from another processor 304" represents a "input from" relationship of the project 301 defined by the processor 304. To imply that it should wait.

"~로의 출력" 관계는 프로젝트(301)내의 "통보"에 대한 아날로그이다. 즉, 프로젝트(301)가 프로세스(304)에 의해 정의될 때, 다른 프로세스(304)로 출력을 제공하는 프로세스(304)는 이후 이들 프로젝트(301)에게 프로세스가 종료하여 더 이상 프로세스(304)를 대기하지 않음을 통보할 것이다.The "output to" relationship is an analog to "notification" in project 301. That is, when project 301 is defined by process 304, the process 304 that provides output to other processes 304 may then terminate those processes 301 and no longer process 304. You will be notified to not wait.

또한, 여기서 프로젝트(301)는 작업 제품을 가지며, 프로세스(304)는 "작업 제품 정의"라 칭해지는 정의적인 아날로그를 포함하게 되며, 이러한 사실은 프로세스(304)가 실질적으로 세부작업(subwork)제품으로 나누어져서, 프로젝트(301)가 프로세스(304)에 의해 정의될 때, 프로젝트(301)와 연관된 작업 제품 정의가 존재하면, 이들 작업 제품 프로젝트가 또한 생성되고 이와 동시에 이들 프로젝트는 그들의 프로세스(304)를 통해 이동해야 할 것이라는 사실을 암시한다. 프로세스(304)의 정의적인 측면 및 프로젝트(301)에서 실질적인 예시적 관점으로부터의 이들 4개의 구성요소의 중요한 측면은 이들 구성요소에 의해 사용자가 특정한 프로세스(304)를 정의하도록 허용한다는 것이다. 즉, 프로세스(304)에 대해서는 아직 논의되지 않았지만, 정의된 라이프사이클을 갖지 않고서도, 사용자는 실질적으로 특정한 방식으로 프로젝트(301)의 라이프사이클을 갖고 제어할 수 있다는 것이다. 이러한 사실은 ISO 9000컴플라이언스에 매우 중요한 요인이 되며 여기서 프로젝트(301)를 구성하는 작업 제품에 대해서 및 프로젝트(301)들간의 종속성에 대해서 양호한 이해를 가질 수 있지만, 개발을 도출하는 상태(305) 및 천이(306)의 매우 특정한 라이프사이클에 대해서는 양호한 이해를 가질 수가 없게 된다. 이로 인해 사용자는 프로세스(304)를 구축하여 진행시킬 수 있으며, 이후 이 프로세스를 최적화 할 수 있게 된다.In addition, the project 301 has a work product here, and the process 304 includes a definite analog called a "work product definition", which is why the process 304 is substantially a subwork product. Divided by, when project 301 is defined by process 304, if there is a work product definition associated with project 301, these work product projects are also created and at the same time these projects are their process 304. It suggests that you will have to go through. An important aspect of these four components from the defining aspect of process 304 and the practical example aspects in project 301 is that these components allow a user to define a particular process 304. That is, although process 304 has not been discussed yet, without having a defined lifecycle, a user can control and have a lifecycle of project 301 in a substantially specific manner. This is a very important factor for ISO 9000 compliance where we can have a good understanding of the work products that make up the project 301 and the dependencies between the projects 301, but the state that leads to development 305 and There is no good understanding of the very specific lifecycle of transition 306. This allows the user to build and proceed with process 304, which then optimizes the process.

라이프사이클에 대해, 프로세스(304)는 상태(305)의 라이프사이클을 포함한다. 상태(305)는 또한 프로세스(304)에 대한 계승 관계(308)를 갖는다. 즉, 상태(305)는 한 종류의 프로세스(304)이다. 이러한 사실은 상태(305)가 정의된 입력 및 출력을 가질 수 있고, 정의된 세부작업 제품을 가질 수 있다는 점에서 중요하다. 그리고, 가장 중요한 특성중의 하나는 상태(305)가 서브라이프사이클(sublifecycle)을 가짐에 따라 사용자는 단계적 방식으로 프로젝트(301)의 개발을 나타내는 매우 복잡한 라이프사이클을 구축할 수 있고, 또한 많은 재사용을 취득할 수 있다는 것이며, 이에 대해서는 이하에 기술되어 있다.For the lifecycle, process 304 includes the lifecycle of state 305. State 305 also has a factorial relationship 308 to process 304. That is, state 305 is one kind of process 304. This fact is important in that state 305 can have defined inputs and outputs, and can have defined detail products. And one of the most important characteristics is that as the state 305 has a sublifecycle, the user can build a very complex lifecycle representing the development of the project 301 in a phased manner, and also a lot of reuse. Can be obtained, which is described below.

프로세스(304)로 복귀하면, 프로세스(304)는 수퍼클래스(superclass)를 가질 수도 있다. 또한, 역으로 프로세스(304)는 서브클래스(subclasses)를 가질 수도 있다. 이러한 관계는 사용자가 프로세스(304)의 계층(hierarchies)을 구축하는 것을 허용한다. 또한, 이러한 관계는 시스템이 종래 기술의 임의의 흐름 제어 시스템에서 볼 수 없었던 높은 정도의 재사용을 어떻게 제공할 것인가에 대한 것이다.Returning to process 304, process 304 may have a superclass. Conversely, process 304 may also have subclasses. This relationship allows the user to build hierarchies of process 304. This relationship is also how the system provides a high degree of reuse that has not been seen in any flow control system of the prior art.

상태(305)의 관점으로부터, 상태(305)는 몇몇 프로세스(304) 라이프사이클내에 포함되며, 계승(308)에 의해 상태(305)는 프로세스(304)가 되도록 허용하기 때문에, 상태 및 서브상태를 갖는 계층적으로 네스트된(nested) 프로세스(304)가 존재할 수 있게 된다. 상태(305)는 프로세스(304)의 모든 속성을 계승하게 되어 있으므로, 프로젝트(301)로부터 계승하는 프로세스(304)에 의해 상태(305)는 프로젝트(301)의 모든 속성을 계승하며, 상태(305)와 연관된 단지 소수의 특정한 속성만이 존재하게 된다. 첫째는 상태(305)가 실질적으로 0 또는 그 이상의 프로젝트(304)를 제어할 수 있는 것이다. 즉, 프로젝트(301)는 그 라이프사이클내의 주어진 상태(305)내에 존재하게 되며, 따라서 이 상태(305)는 현재 그 상태(305)에 존재하는 이들 프로젝트(301)의 리스트를 유지하게 된다. 이는 사용자가 시스템을 통해 스캐닝하여 어떠한 객체 및 어떠한 프로젝트가 준비 상태에 있는지 등을 알기를 원할 때 매우 유용하게 이용된다. 이것은 프로젝트(301)를 발견하는 신속한 방법을 사용자에게 제공하여, 이들 프로젝트의 라이프사이클상에서 이들 프로젝트를 이동시키는데 도움을 줄 수 있게 된다.From the point of view of state 305, state 305 is included in some process 304 lifecycle, and by inheritance 308 allows state 305 to be a process 304, so state and substates are There may be a hierarchically nested process 304 having. Since state 305 is supposed to inherit all attributes of process 304, by process 304 inheriting from project 301, state 305 inherits all attributes of project 301, and state 305 There are only a few specific attributes associated with). The first is that state 305 can control substantially zero or more projects 304. That is, project 301 will be in a given state 305 within its lifecycle, and thus this state 305 will maintain a list of those projects 301 currently present in that state 305. This is very useful when the user wants to scan through the system and know which objects and which projects are in the ready state. This provides the user with a quick way to discover the project 301, which may help to move these projects through the lifecycle of these projects.

다른 중요한 특성은 상태(305)가 다수의 천이(306)를 가질 수 있다는 것이다. 상태(305)에 관한 중요한 사실은 상태(305)가, 그 상태(305)동안 발생할 수 있는 천이(306)의 콜렉터(collector)라는 점이다. 천이(306)는 실질적으로 하나의 상태(305)로부터 다음 상태로의 제어 흐름이기 때문에, 천이(306)는 또한 상태(305)의 한 종류가 될 수 있으며, 그 주요 목적은 현재 상태(305)로부터 다음 상태(305)로 두 상태(305)를 함께 부착하고, 또한 참조로 인용된 미국 특허 출원서(AT9-92-077)에 개시된 바와 같이 정보 리스트를 유지하는 것으로, 이 정보 리스트는 천이(306)를 보호하고, 전진 방향 또는 후진 방향, 즉 프로세스(304)를 통한 전진 이동을 나타내는 완료 동작 및 프로세스(304)를 통한 후진 움직임을 나타내는 복귀 동작을 취하는 코드 프레그먼트를 기술한다.Another important characteristic is that state 305 can have multiple transitions 306. An important fact about state 305 is that state 305 is a collector of transitions 306 that may occur during that state 305. Since transition 306 is substantially the control flow from one state 305 to the next, transition 306 can also be a type of state 305, the main purpose of which is current state 305. And attach the two states 305 together from one state to the next state 305, and also maintain a list of information as disclosed in US Patent Application (AT9-92-077), which is incorporated by reference. ) And a code fragment that takes a complete action indicative of a forward or backward direction, i.e., a forward movement through process 304, and a return action indicative of a backward movement through process 304.

천이(306)가 상태(305)이고 상태(305)는 프로세스(304)의 한 종류라는 점에서 천이(306)는 프로세스(304)와 유사하다. 그 주요한 차이점은 천이(306)는 동작을 정의한다는 것이다. 따라서, 제3도에 도시된 예시적인 측면에서 볼 때, 사용자(303), 프로젝트(301), 동작(302), 프로세스(304), 상태(305), 천이(306)간에 완전한 루프가 존재하며, 동작(302)은 프로젝트(301)"에 의해 정의되는" 관계로 프로세스(304)에 접속되고, 천이(306)에 의해 정의되며, 상태(305)는 프로젝트(301)"에 의해 제어되는" 관계에 있다.Transition 306 is similar to process 304 in that transition 306 is state 305 and state 305 is a type of process 304. The main difference is that transition 306 defines the behavior. Thus, in the exemplary aspect shown in FIG. 3, there is a complete loop between the user 303, the project 301, the operation 302, the process 304, the state 305, the transition 306, Operation 302 is connected to process 304 in a relationship defined by project 301, defined by transition 306, and state 305 controlled by project 301. In a relationship.

제4도를 참조하면, 프로젝트(301)의 동적 모델이 도시되어 있다. 동적 모델의 목적은 제3도에 도시한 객체와 연관되는 동작의 제어를 도시하는 것이다. 제4도는 제3도에 도시한 바와 같이 프로젝트(301) 객체의 예시와 연관된다. 프로젝트(301)와 연관된 동작은 (새로운 프로젝트(301)가 존재하도록 야기하는) 천이 또는 방법을 생성하고, 검색(프로젝트(30)의 각종 속성을 검색)하며, 갱신(프로젝트(301)와 연관된 다양한 속성을 갱신함)하고, 파괴(프로젝트(301)가 시스템으로 부터 제거되도록 함)로 요약될 수 있다. 이들 방법은 단지 객체 지향 시스템에서의 임의의 객체와 연관되는 원시적인 방법이며, 제4도의 설명의 일부로서 기술될 이들 방법과 연관된 동작에 대한 특정의 무시(overrides)가 존재할 수 있다.Referring to FIG. 4, a dynamic model of project 301 is shown. The purpose of the dynamic model is to show the control of the motion associated with the object shown in FIG. 4 is associated with an example of a project 301 object as shown in FIG. Actions associated with project 301 create a transition or method (which causes a new project 301 to exist), retrieve (retrieve various attributes of project 30), and update (various associated with project 301). Update properties) and break down (which causes project 301 to be removed from the system). These methods are merely primitive methods associated with any object in an object oriented system, and there may be certain overrides for the operations associated with these methods to be described as part of the description of FIG.

이러한 원시적 세트에는 존재하지 않는 몇몇 부가적인 동작이 존재한다. 예를 들면, "대기" 천이 또는 방법은 두 가지 경우, 즉 실질적인 프로젝트(301)가 주어진 프로젝트(301)의 "대기" 리스트에 부가될 경우 및 새로운 프로젝트(301)가 주어진 프로젝트(301)의 작업 제품 리스트에 부가될 경우에 호출된다. 이 경우, "대기" 방법은 주어진 프로젝트(301)상에 호출된다.There are some additional operations that do not exist in this primitive set. For example, the "waiting" transition or method is two cases: the actual project 301 is added to the "wait" list of a given project 301 and the work of the project 301 given the new project 301. Called when added to a product list. In this case, the "wait" method is called on a given project 301.

"통보"은 "대기"의 역 개념이다. 프로젝트(301)가 완료될 때 마다, 프로젝트(301)는 그 프로젝트(301)상에 호출되어 취해지는 "통보" 방법을 전송하여 프로젝트(301)가 주어진 프로젝트(301)내의 "통보" 리스트내의 작업 제품 및 전체 제품에 대한 것일 경우, 그 "통보" 방법을 포함한다. "통보" 및 "대기"은 동일한 관계의 역 개념이다. "통보" 및 "대기"은 자동적으로 실행되는 천이 또는 방법으로 인식될 수 있는 한편, 프로젝트(301)의 라이프사이클을 통해 명시적인 움직임을 야기하는 두가지 방법, 즉 "완료 천이" 및 "복귀 천이"가 존재하게 되며, 이러한 방법은 미국 특허 출원서(AT9-92-077)에 기술된 바와 같은 프로세스에서 하나의 전진 및 후진을 취하도록 적합하게 조정된다."Notification" is the inverse concept of "waiting." Each time project 301 is completed, project 301 sends a "notification" method that is called and taken on that project 301 to work in the "notification" list in project 301 given project 301. If it is for a product and for the whole product, the "notice" method is included. "Notification" and "waiting" are the inverse concepts of the same relationship. While "notifications" and "waits" can be recognized as transitions or methods that are executed automatically, there are two ways to cause explicit movement throughout the life cycle of the project 301, namely "complete transitions" and "return transitions". And the method is suitably adjusted to take one forward and backward in a process as described in US patent application (AT9-92-077).

또다른 천이는 "whatnext" 천이로서, 이 천이는 주어진 시간에서 주어진 프로젝트(301)에 대해 동작이 수행될 수 있는 지의 여부를 기술한다. 이것은 사용자(303)가 소유하며 그 사용자로부터 현재 어떤 종류의 동작을 대기하고 있는 프로젝트(301)가 무엇인지 알기 위해 사용자로부터 "whatnext" 뷰(view)를 구축할 때 유용하다.Another transition is a "whatnext" transition, which describes whether an operation can be performed for a given project 301 at a given time. This is useful when building a "whatnext" view from a user to know what project 301 owns and is currently waiting for some kind of action from that user.

임의의 주어진 시간에서 주어진 프로젝트(301)상에 호출될 수 있는 전술한 동작 세트가 주어졌을 경우, 동적 모델의 목적은 프로젝트(301)의 라이프사이클 모델의 전역 상태에 의존하는 이들 각 방법의 특정 동작을 기술하는 것이다. 제4도는 임의의 주어진 프로젝트(301)에 대해 가능한 디폴트 프로세스(304) 모델이 도시되어 있다. 제4도에서의 핵심 사항은 이 도면에서 사용자에 의해 명시적으로 지정된 프로세스(304)를 갖는 특정한 디폴트 프로세스(304)의 조정 작용을 도시하는 것이다. 이것은 사용자가 작업이 시작되기 전에 적절하게 사전정의된 프로세스를 갖지 않고 스크래치로부터의 프로젝트(301) 및 프로세스(304)를 신속하게 구축하는 것을 가능하게 하는 이점이 있다.Given the set of operations described above that can be invoked on a given project 301 at any given time, the purpose of the dynamic model is the specific behavior of each of these methods depending on the global state of the lifecycle model of the project 301. To describe. 4 shows a possible default process 304 model for any given project 301. The key point in FIG. 4 is to illustrate the adjustment behavior of a particular default process 304 with a process 304 explicitly specified by the user in this figure. This has the advantage that it allows a user to quickly build a project 301 and process 304 from scratch without having a properly predefined process before work commences.

일반적으로, 사용자는 3개의 주요한 상태 범주, 즉 자동적, 명시적 및 비활성적인 3개의 주요한 카테고리가 존재함을 고려할 수 있다. 제1자동 상태, 즉 입력 대기(41)는 프로젝트(301)가 그 프로젝트(301)상에서 또다른 동작이 발생되기 전에 완료되어야 하는 그 "대기" 리스트에서 프로젝트(301)의 리스트를 가짐을 나타낸다. "대기"리스트에서 프로젝트(301)를 가진다는 의미는 대기중인 모든 프로젝트(301)가 부가적인 작업이 발생하기 전에 완료된 상태에서 존재할 것을 요구하는 것이다.In general, a user may consider that there are three major status categories, namely three major categories that are automatic, explicit and inactive. The first automatic state, i.e., the input wait 41, indicates that the project 301 has a list of projects 301 in its "wait" list that must be completed before another action on that project 301 occurs. Having a project 301 in the "waiting" list requires that all pending projects 301 be in a completed state before additional work takes place.

다음의 자동 상태는 작업 제품 대기 상태 대기로서, 프로젝트(301)가 이 상태에 포함되었을 경우에 정의된 작업 제품을 가질 수 있는 상태가 주어진다. 이 의미는 프로젝트(301)가 모든 작업 제품이 완료될 때까지는 완료될 수 없다는 것이다. 이것은 이들 작업 제품 자체가 완료되기 전에 프로젝트(301)상에서 병렬로 발생하는 작업을 저해하지는 않는다. 이것은 컨테이너쉽 대 참조 관점을 넘어선 "대기" 및 "통보" 관계간의 동적 관점 및 프로젝트(301)들간의 작업 제품 관계와 다른 차이점의 하나이다. 작업 제품 대기 상태(43)에서, 일단 모든 작업 제품이 완료되면, 프로젝트(301)상으로의 또다른 진행이 발생될 수 있는 것으로 간주된다.The next automatic state is the work product waiting state wait, which is given a state that may have a defined work product when the project 301 is included in this state. This means that project 301 cannot be completed until all work products have been completed. This does not prevent the work that occurs in parallel on the project 301 before these work products themselves are completed. This is one of the dynamic differences between the "wait" and "notify" relationships and the work product relationships between projects 301 and other differences beyond the containership versus reference perspective. In the work product standby state 43, once all work products are completed, it is considered that another progression on the project 301 may occur.

다음에, 두개의 명시적인 상태가 존재한다. 이들 상태는 사용자가 복귀 또는 완료 천이를 통해 명시적으로 상태 변화를 야기하도록 예상되는 프로젝트(301)의 동적 모델의 상태이다. 사용자는 다음 상태로의 상태 변화를 완료하고, 이전 상태로 상태 변화를 복귀시킨다. "진행중인(in progress)" 상태(42)에서는, 프로젝트(301)가 그 프로젝트의 완료전에 후속되어야 하는 복잡한 라이프사이클을 가진다는 것을 나타낸다. 준비 상태(45)는 다음의 명시적 상태에 존재한다(또한, 완료는 다음 상태로 이동되는 것이 요구된다). 준비 상태(45)에서, 대기중인 모든 프로젝트(301)가 완료되고, 모든 작업 제품이 완료되며, 임의의 복잡한 라이프사이클이 존재하면, 그 복잡한 라이프사이클이 또한 완료될 것이다. 따라서 준비 상태(45)에서, 프로젝트(301)는 검토가 준비되어 있으며, 프로젝트(301)팀에 의해 완료된다.Next, there are two explicit states. These states are the states of the dynamic model of the project 301 that the user is expected to cause a state change explicitly through a return or completion transition. The user completes the state change to the next state and returns the state change to the previous state. In the "in progress" state 42, it is indicated that the project 301 has a complex lifecycle that must be followed before completion of the project. The ready state 45 is in the next explicit state (and completion is required to be moved to the next state). In the ready state 45, all pending projects 301 are completed, all work products are completed, and if there is any complex lifecycle, the complex lifecycle will also be completed. Thus, in the ready state 45, the project 301 is ready for review and is completed by the project 301 team.

그 다음에, 두 비활성 상태가 존재한다. 프로젝트(301)가 준비 상태(45)에 있을 때, 완료 상태(46)가 발생하며, 프로젝트(301)가 완료될 때, 준비 상태(45)에서 완료된 방법이 호출된다. 따라서, 완료된 상태(46)는 프로젝트(301)가 성공적으로 완료되었음을 나타낸다. 취소 상태(44)는 프로젝트(301)가 프로세스(304)내의 제1상태를 통해 다시 복귀될 때마다 발생한다. 즉, 복잡한 라이프사이클의 바로 제1상태에서 진행(42)중 임의의 입력 대기(41) 상태 또는 작업 제품 대기상태(43)에서, 이러한 복잡한 라이프사이클이 존재하지 않는 경우, 프로젝트(301)가 취소된다. 프로젝트(301)의 취소 개념은 라이프사이클을 완료시킬 의도가 없다는 것이다.Then there are two inactive states. When the project 301 is in the ready state 45, a completion state 46 occurs, and when the project 301 is completed, the completed method in the ready state 45 is called. Thus, completed state 46 indicates that project 301 completed successfully. The cancel state 44 occurs whenever the project 301 returns back through the first state in the process 304. That is, in any of the input wait 41 states or work product wait states 43 of the progress 42 in the very first state of the complex life cycle, if such a complex life cycle does not exist, the project 301 is cancelled. do. The concept of cancellation of project 301 is that there is no intention to complete the lifecycle.

요약하면, 입력 대기 상태(41)는 실질적으로 완료를 대기하는 프로젝트(301)가 존재한다는 것을 나타내며 이 프로젝트(301)가 입력 대기 상태(41)에 의존한다는 것을 나타낸다. 진행 상태(42)는 완료 대기중인 이러한 프로젝트(301)와 연관된 프로세스(304)의 복잡한 라이프사이클에 상태(305)가 존재한다는 것을 나타낸다. 작업 제품 대기 상태(43)는 완료를 대기하는 이 프로젝트(301)와 연관된 작업 제품이 존재한다는 것을 나타낸다. 준비 상태(45)는 프로젝트(301)가 실질적으로 완료 준비 상태에 있고, 그 프로젝트(301)와 연관된 모든 작업이 준비 상태에 있다는 것을 나타낸다. 취소 상태(44)는 프로젝트(301)가 완료될 의도가 없음을 나타낸다. 그리고, 완료 상태(46)는 프로젝트(301)가 성공적으로 완료되었음을 나타낸다.In summary, the input wait state 41 indicates that there is a project 301 that is substantially waiting for completion and that this project 301 depends on the input wait state 41. Progress state 42 indicates that state 305 exists in the complex lifecycle of process 304 associated with this project 301 awaiting completion. Work product wait state 43 indicates that there is a work product associated with this project 301 waiting to be completed. The ready state 45 indicates that the project 301 is in a substantially ready state for completion, and that all work associated with that project 301 is in the ready state. The canceled state 44 indicates that the project 301 has no intention of completing. And completion state 46 indicates that project 301 has completed successfully.

프로젝트(301)는 그 프로젝트(301)가 실질적으로 존재할 때 이 특정 프로젝트(301)가 대기중인 입력 대기 상태(41)에서 생성된다. "대기" 리스트는 비 널(non-null)이며, 프로젝트(301)가 이 상태(401)에서 생성되도록 야기할 것이다. 일단 이러한 상태(41)에서, 대기(402)는 기본적으로 어떠한 효과도 갖지 않을 것이다. 제어 흐름은 입력 대기 상태(41)에서 머무를 것이다. 마찬가지로, 완료 천이(448)는 어떠한 효과도 갖지 않으며 대기 입력 상태(41)로 흐름 제어를 다시 복귀시킨다. 또한 마찬가지로, "whatnext" 천이(406)는 이 프로젝트(301)가 소유자로부터 임의의 종류의 동작을 대기하는지의 여부를 나타내며, 그 "whatnext"천이(406)는 이 시점에서 특정 프로젝트(301)에 대해 수행되는 것이 아무것도 없음을 나타내는 빈 리스트르 복귀시킬 것이다.Project 301 is created in the input wait state 41 where this particular project 301 is waiting when the project 301 is substantially present. The "wait" list is non-null and will cause the project 301 to be created in this state 401. Once in this state 41, the atmosphere 402 will basically have no effect. The control flow will stay in the input wait state 41. Likewise, completion transition 448 has no effect and returns flow control back to standby input state 41. Likewise, the "whatnext" transition 406 indicates whether or not this project 301 is waiting for any kind of action from the owner, and the "whatnext" transition 406 is not associated with a particular project 301 at this point. It will return an empty list indicating that nothing is done on it.

입력 대기 상태(41)가 자동 상태중의 하나이기 때문에, 통보 천이(403)는 프로세스(304)에서 제어 흐름을 자동적으로 이동시키는 천이가 될 것이다. "통보" 천이는 일반적으로 프로젝트(301)에 의해 활성화되거나 또는 개시되며, 이 특정 프로젝트(301)는 그 "통보" 천이에 따른다. 이 천이는 프로젝트(301)의 "대기" 리스트내의 하나이거나 또는 프로젝트(301)의 "작업 제품" 리스트의 하나이다. "통보"은 "대기"리스트의 크기에 의전하는 가능한 두 개의 다른 효과를 갖는다. 통보 천이(403)는 입력 대기 상태(41)로 제어 흐름이 반전되도록 하며, 리스트로부터 이 통보 프로젝트(301)를 통지하고 있는 프로젝트(301)를 제거한 후 이 리스트가 아직 비어 있지 않다면, 이 리스트는 입력 대기 상태(41)에 남아 있게 된다. 이것은 어느 정도 정확한 방법이며, 여전히 대기중인 다른 프로젝트(301)가 존재하면, 통보 천이(403)는 단지 프로젝트가 완료되었다는 것을 나타냄으로써 리스트로부터 하나의 프로젝트를 제거하는 것이다. 그러나, 통보 프로젝트(301)를 제거하여 발생하는 리스트가 비어 있다면, 통보 천이(401)가 발생한다. 즉, 다른 프로젝트(301)가 대기중이지 않다면, 통보 천이(401)가 발생할 수도 있다. 이 경우 다음 상태가 비교적 복잡하게 된다. 이 상태는 진행 상태(42), 작업 제품 대기 상태(43)또는 준비 상태(45)로 진행될 수 있다. 전술한 바와 같이, 복잡한 라이프사이클이 존재하면, 통보(407)는 진행 상태(42)를 취할 것이고, 복잡한 라이프사이클이 존재하지 않거나 또는 복잡한 라이프사이클이 이미 완성되었으나 아직 완성되지 않은 프로젝트(301)와 연관된 작업 제품이 존재하면, 통보(409)는 작업 제품 대기 상태(43)를 취할 것이다. 완료되지 않은 라이프사이클내에 상태가 존재하지 않거나 또는 완료되지 않은 작업 제품이 존재하지 않을 때만, 통보(411)는 제어의 흐름을 입력 대기(41)로부터 준비 상태(45)로 취할 것이다. 즉, 대기중인 입력이 완료된 후 모든 것이 준비되었다면, 준비 상태로 바로 들어갈 것이다(천이(411)).Since the input wait state 41 is one of the automatic states, the notification transition 403 will be a transition to automatically move the control flow in the process 304. The "notification" transition is generally activated or initiated by the project 301, and this particular project 301 follows the "notification" transition. This transition is either one in the "wait" list of project 301 or one of the "work product" list of project 301. "Notifications" has two different effects possible, which depend on the size of the "wait" list. The notification transition 403 causes the control flow to be reversed to the input waiting state 41, and if the list is not yet empty after removing the project 301 which is notifying this notification project 301 from the list, this list is It remains in the input waiting state 41. This is somewhat accurate and if there are other projects 301 still waiting, notification transition 403 simply removes one project from the list by indicating that the project has completed. However, if the list resulting from removing the notification project 301 is empty, a notification transition 401 occurs. That is, a notification transition 401 may occur if another project 301 is not waiting. In this case, the following state becomes relatively complicated. This state may proceed to a progress state 42, a work product wait state 43, or a ready state 45. As mentioned above, if there is a complex lifecycle, the notification 407 will take a progress state 42, with the project 301 where no complex lifecycle exists or the complex lifecycle is already completed but not yet completed. If there is an associated work product, notification 409 will take the work product waiting state 43. Only when there is no state in the incomplete lifecycle or when there are no incomplete work products, the notification 411 will take the flow of control from the input wait 41 to the ready state 45. That is, if everything is ready after the pending input is complete, it will enter the ready state immediately (transition 411).

프로젝트(301)는 대기중인 입력이 없을 때, 진행 상태(42)에서 생성된다. 이들 프로젝트는 모두 완료되거나 또는 그 리스트에 하나도 존재하지 않게 된다. 이 경우, 수행되어야 할 복잡한 라이프사이클이 존재한다. 이 경우, 프로젝트(301)는 이하 기술되는 몇몇 라이프사이클 상태에서 생성된다. 이 천이는 생성(413)이다. 생성 천이(413)는 진행 상태(42)에서 프로젝트(301)를 생성할 것이다. 진행 상태(42)는 명시적 상태로서, 복귀 또는 완료 천이가 라이프사이클상에서 이동될 필요가 있다는 것을 뜻한다. 이 경우, 통보 천이는 일반적으로 아무런 효과도 갖지 못함에 따라, 통보 천이(444)는 단지 아무 효과없이 상태(42)로 바로 제어흐름을 전송할 것이다. 천이(414)에 대한 대기는 새로운 프로젝트(301)가 대기중인 이 프로젝트(301)와 연관되는 경우에 효과를 가질 수 있다. 작업 제품에 대해 "대기"이 발생하면, 제어 흐름이 입력 대기 상태(41)로 복귀되도록 할 이유가 없게 된다. 따라서 "대기"과 연관된 천이(414)는 진행중인 제어 흐름을 현재 상태로 복귀시키도록 할 것이며, 반면에 진행중인 유효한 종속성이 프로젝트(301)에 부가되면, "대기"은 천이(408)가 입력 대기 상태(41)로 복귀되도록 할 것이다. 이 경우, 대기는 입력 대기(41) 상태로 되돌려질 것이다.Project 301 is created in progress 42 when there is no input pending. All of these projects are completed or none of them are in the list. In this case, there is a complex lifecycle to be performed. In this case, project 301 is created in several lifecycle states described below. This transition is generation 413. The generation transition 413 will generate the project 301 in the progress state 42. Progress state 42 is an explicit state, meaning that a return or completion transition needs to be moved in the lifecycle. In this case, the notification transition generally has no effect, so the notification transition 444 will just send the control flow directly to the state 42 without any effect. Waiting for transition 414 may have an effect when a new project 301 is associated with this pending project 301. If a "wait" occurs for the work product, there is no reason for the control flow to return to the input wait state 41. Thus, transition 414 associated with "waiting" will cause the ongoing control flow to return to the current state, while if a valid dependency in progress is added to project 301, "waiting" means that transition 408 is waiting for input. Will return to (41). In this case, the wait will return to the input wait 41 state.

"복귀" 천이와 연관된 동작은 실질적인 라이프사이클에 의존한다. "복귀" 천이가 라이프사이클의 제1상태에 존재하면, "복귀"천이는 복귀 천이(419)에서 기술된 바와 같이 동작하며, 프로젝트(301)는 취소 상태(44)로 되이동될 것이다. 즉, 프로젝트(301)의 시작부에서 프로젝트가 복귀되면, 프로젝트는 개시자에게로 복귀될 것이다. "복귀"천이가 라이프사이클의 제1상태(305)에 존재하지 않으면, 복귀 천이(447)는 하이 레벨에서 진행 상태(42)의 제어내에 남게 될 것이며, "에 의한 제어" 링크는 라이프사이클에서 이전 상태(305)에 대한 리셋을 취한다. 이러한 동작은 히스토리를 통해 결정된다. 이는 본질적으로 동작(302)를 통해 지원되는 동작 및 어떠한 상태(305)가 수행되거나 또는 통과되어 그 상태(305)로 제어 흐름을 되돌리도록 하는 것을 결정하는 동작과 유사하다. 본 명세서에 참조로서 인용된 미국 특허 출원서(AT9-92-077)에 도시된 바와 같이, "복귀" 천이는 복귀 천이(447) 또는 복귀 천이(419)에서 수행되어, 발생할 수 있는 임의의 제어 흐름 이전에 임의의 동작을 실행 취소되게 하는 그 자신과 연관된 특정한 실행 취소 동작을 갖는다.The action associated with the "return" transition depends on the actual lifecycle. If the "return" transition is in the first state of the lifecycle, the "return" transition will operate as described in return transition 419 and project 301 will be moved back to the canceled state 44. That is, if a project is returned at the beginning of project 301, the project will be returned to the initiator. If the "return" transition is not present in the first state 305 of the lifecycle, the return transition 447 will remain within the control of the progress state 42 at the high level, and the "control by" link is in the lifecycle. A reset to the previous state 305 is taken. This behavior is determined by history. This is essentially similar to the operation supported through operation 302 and the operation of determining which state 305 is performed or passed through to return control flow to that state 305. As shown in US patent application AT9-92-077, incorporated herein by reference, a "return" transition is performed in return transition 447 or return transition 419 to generate any control flow that may occur. Has a specific undo action associated with itself that previously caused an action to be undone.

"완료" 천이는 전진 방향 관점에서는 매우 유사하다. 프로젝트(301)의 상태(305)에 따라 달라지는, "완료" 천이의 흐름이 있을 수 있는 가능한 3개의 다른 상태가 존재한다. 즉, 프로젝트(301)가 복잡한 라이프사이클의 중간에 존재하면, 완료 천이(415)는 단지 진행 상태(42)에 제어 흐름이 머물도록 한다. 그러나, 특정한 천이(306)가 수행될 때, 프로젝트(301)와 연관된 "~에 의한 제어" 기준을 연관된 다음 상태(305)에 대해 변경함으로써 상세한 상태가 표시된다. 상태(305)로부터 많은 천이(306)가 발생되면, "완료" 천이는 호출될 수 있는 천이 세트를 도시하는 리스트를 제공할 것이며, 이후 사용자는 하나의 천이를 선택할 수 있고, 이 선택된 천이가 수행될 것이다."Complete" transitions are very similar in terms of forward direction. There are three different possible states, where there may be a "complete" transition, depending on the state 305 of the project 301. In other words, if project 301 is in the middle of a complex lifecycle, completion transition 415 only allows control flow to remain in progress 42. However, when a particular transition 306 is performed, the detailed status is indicated by changing the "control by" criteria associated with the project 301 to the next associated state 305. If many transitions 306 have occurred from state 305, the "complete" transition will provide a list showing the set of transitions that can be invoked, after which the user can select one transition, and the selected transition is performed. Will be.

복잡한 라이프사이클의 마지막 상태(305)에서, 자신과 연관된 다음 상태(305)를 갖지 않는 천이(305)가 존재하며, 제어 흐름은 두 상태중의 하나로 진행된다. 제어 흐름은 아직 완료되지 않은 작업 제품이 존재할 경우, 완료(417)를 거쳐 작업 제품 대기 상태(43)로 진행한다. 모든 작업 제품이 완성되었다면, 제어 흐름은 완료 천이(445)를 통해 준비 상태(45)로 직접적으로 진행할 것이다. 본 명세서에서 참조러서 인용한 미국 특허 출원서(AT9-92-077)에 개시된 바와 같이, 완료(415)를 거치든지, 또는 완료(417)또는 완료(445)를 거치든지, 임의의 경우에서도, 천이는 동작이 발생하는데 필요한 조건인지 또는 그러한 조건이 아닌지를 결정하기 위한 그 자신과 연관된 가드를 갖는다. 따라서, 통과되지 않은 가드로 인한 "완료" 트랜잭션이 가능하다.In the last state 305 of the complex lifecycle, there is a transition 305 having no next state 305 associated with it, and the control flow proceeds to one of two states. If there is a work product that has not yet been completed, the control flow goes to completion 417 to work product wait state 43. Once all work products have been completed, the control flow will proceed directly to the ready state 45 via the completion transition 445. Transition, in any case, through completion 415, or completion 417 or completion 445, as disclosed in U.S. Patent Application (AT9-92-077), herein incorporated by reference. Has a guard associated with itself to determine whether or not the condition is required for the action to occur. Thus, a "complete" transaction is possible because of an unpassed guard.

팀에 대한 "whatnext" 천이(418)는 그 내부에 특정 프로젝트(301)를 갖는 리스트를 복귀시킨다. 이는 이러한 프로젝트(30)에 대해 수행되어야 할 작업이 존재한다는 것을 나타낸다.A "whatnext" transition 418 for the team returns a list with a particular project 301 therein. This indicates that there is work to be done for this project 30.

생성 천이(435)는 대기하고 있는 프로젝트(301)가 존재하지 않고, 완료되지 않은 복잡한 라이프사이클이 존재하지 않지만, 작업 제품이 존재하고 이 특정 프로젝트(301)가 아직 완료되지 않은 작업 제품을 포함할 때, 작업 제품 대기 상태(43)에서 제어 흐름이 개시되도록 한다. 따라서, 이 경우, 프로젝트(301)는 천이(435)를 거쳐서 작업 제품 대기 상태(43)에서 개시할 것이다. 이러한 작업 제품 대기상태(43)가 자동 상태이면, "대기" 및 "통보"의 동작은 큰 효과를 가지게 된다. 사용자가 이 프로젝트(301)를 직접 완료하도록 허용하지 않기 때문에, 완료 천이(424)는 이러한 점에서 효과를 가질 수 없게 된다. 완료 천이(434)는 통보 동작을 통해 자동적으로 준비 상태(45)로 이동할 것이다. 이 지점에서, 완료 상태(46)에 대한 프로젝트(301)천이와 연관된 각 작업 제품이 존재하고 이들이 통보 천이(430 또는 432)를 호출할 때는 통보가 발생한다. 다른 작업 제품이 잔존되어 완료될 때는 호출된 통보(430)가 취해진다. 완료되는 작업 제품이 더 이상 존재하지 않을 때는 호출된 통보(432)가 취해진다. 통보(432)의 경우, 준비 상태(45)에 대해 천이 또는 제어 흐름이 취해진다. 아무런 효과를 갖지 않는 완료 동작과는 상이하게, 복귀 동작은 천이(416)를 거쳐 진행 상태(42)또는 천이(427)를 거쳐 취소 상태(44)로의 제어 흐름을 야기할 것이다. 복귀 천이(416)는 작업 제품 대기 상태(43)로 들어가기 전에 완료된 복잡한 라이프사이클이 존재할 때 취해진다. 작업제품 대기는 프로젝트(301)와 연관된 이러한 라이프사이클이 존재하지 않을 때 취소 상태(44)로 복귀된다. 대기 천이(410)는 또한 가능한 두가지 효과를 갖는다. 새로운 프로젝트(301)가 그 프로젝트(301)와 연관된 작업 제품에 부가되면, 대기는 (429)를 통해 단지 작업 제품 대기 상태(43)로 제어 흐름을 되돌린다. 즉, 단지 수반되는 하나 이상의 작업 제품만이 존재한다는 것을 나타낸다. 그러나, 전술한 새로운 프로젝트(301)가 프로젝트와 연관된 작업 제품에 부가되지 않고, 그 대신 실질적인 대기 리스트에 부가되면(즉, 프로젝트(301)의 입력중 하나이면), 상기 새로운 프로젝트(301)가 아직 완료되지 않았을 경우, 제어 흐름은 입력 대기 상태(41)로 진행할 것이다.The generation transition 435 may include a work product in which there is no waiting project 301 and no complex lifecycle that is not completed, but a work product exists and this particular project 301 is not yet completed. At that time, control flow is initiated in the work product waiting state 43. Thus, in this case, the project 301 will begin in the work product waiting state 43 via the transition 435. If this work product standby state 43 is an automatic state, the operation of "waiting" and "notification" has a great effect. Because the user does not allow this project 301 to complete directly, the completion transition 424 may not have an effect in this regard. The completion transition 434 will automatically move to the ready state 45 through the notification operation. At this point, a notification occurs when each work product associated with the project 301 transition to completion status 46 is present and they invoke a notification transition 430 or 432. Called notification 430 is taken when another work product remains and is completed. Called notification 432 is taken when the work product to be completed no longer exists. In the case of notification 432, a transition or control flow is taken for the ready state 45. Unlike the completion operation, which has no effect, the return operation will cause a control flow to transition state 416 through transition state 42 or transition 427 to cancellation state 44. Return transition 416 is taken when there is a complex lifecycle completed before entering work product wait state 43. Work product wait is returned to canceled state 44 when there is no such lifecycle associated with project 301. Atmospheric transition 410 also has two possible effects. When a new project 301 is added to the work product associated with that project 301, the wait returns control flow only through 429 to work product wait state 43. That is, only one or more work products involved are present. However, if the new project 301 described above is not added to the work product associated with the project, but instead is added to the actual waiting list (ie one of the inputs of the project 301), the new project 301 is still If not complete, the control flow will proceed to input wait state 41.

"통보"은 또한 유사한 두 효과(또는 발생할 수 있는 두 흐름)를 갖는다. 통보(430)는 프로젝트(301)와 연관된 특정 작업 제품이 완료되었지만, 이 제품이 완료될 필요가 있는 최종 작업 제품이 아니라는 것을 나타낸다. 통보(432)는 프로젝트(301)와 연관된 최종 작업 제품이 완성되고 이 천이(432)가 준비 상태(45)로의 제어 흐름을 야기할 때 발생한다."Notifications" also have two similar effects (or two flows that may occur). Notification 430 indicates that the particular work product associated with project 301 has completed, but this product is not the final work product that needs to be completed. Notification 432 occurs when the final work product associated with project 301 is complete and this transition 432 causes a flow of control to the ready state 45.

작업 제품 대기 상태(44)에서는, 이에 수반하는 작업 제품을 주시하는 것을 제외하고는, 이 특정 프로젝트(301)의 소유자에 의해 취해질 수 있는 명시적인 동작이 발생하지 않는다. 따라서, 이 경우, "whatnext"는 빈 리스트로서 복귀한다.In the work product standby state 44, no explicit action may be taken that may be taken by the owner of this particular project 301 except for watching the work product accompanying it. Thus, in this case, "whatnext" returns as an empty list.

프로젝트(301)는 대기중인 프로젝트(301)가 존재하지 않고, 아직 완료되지 않은 작업 제품이 없으며, 아직 완료되지 않은 라이프사이클이 존재하지 않을 때, 준비 상태(45)에서 생성된다. 따라서, 전체적인 효과는 몇몇 프로젝트(301)가 단지 위치 소유자 또는 리마인더(reminder)가 되는 것이며, 따라서 이들 프로젝트는 준비 상태(45)에서 직접 생성되어 취해질 것이다. 따라서, 생성 천이(436)는 준비 상태(45)에 대한 직접적인 제어 흐름을 야기한다.Project 301 is created in ready state 45 when there are no pending projects 301, no work products that have not yet completed, and no lifecycles that have not yet completed. Thus, the overall effect is that some projects 301 will only be location owners or reminders, so these projects will be created and taken directly in the ready state 45. Thus, the transition 436 causes a direct control flow for the ready state 45.

준비 상태(45)와 연관된 "whatnext" 천이(437)는 비교적 간단하며, 또한 이 천이는 명시적인 상태가 될 수 있고, 그 내부에 특정 프로젝트(301)를 갖는 리스트를 복귀시켜, 소유자가 이 특정 프로젝트(301)를 실질적으로 완료하는데 대한 책임을 가짐을 나타낸다.The " whatnext " transition 437 associated with the ready state 45 is relatively simple, and this transition can also be an explicit state, returning a list with a particular project 301 therein, allowing the owner to specify this particular. Responsible for substantially completing the project 301.

자동화 기반으로부터 발생할 수 있는 "대기" 및 "통보" 동작이 주어진 경우에 대해, 이하 이들 동작이 개시될 것이다. 새로운 프로젝트(301)가 종속성으로서(즉, 입력 또는 작업 제품으로서) 부가될 때, "대기" 천이가 다시 발생한다. 부가된 종속부의 유형 및 프로젝트(301) 상태는 특정한 제어 흐름을 야기할 것이다. 이미 완료된 어느 유형이라도 부가되면, 대기(449)는 제어 흐름을 준비 상태(45)로 되돌릴 것이며, 프로젝트(301)의 상태에서는 변경이 존재하지 않는다. 프로젝트(301)와 연관된 "대기" 리스트를 거쳐 완료되지 않은 유효한 입력 종속성이 부가되면, 대기 천이(412)가 호출되어, 이로 인해 입력 대기 상태(41)로 제어 흐름을 되돌리도록 한다. 최종적으로, 완료되지 않은 작업 제품이 부가되는 경우에, 대기 천이(433)가 호출되어, 이로 인해 작업 제품 대기 상태(43)로 제어 흐름이 진행되도록 한다.Given the " waiting " and " notification " actions that can occur from the automation basis, these actions will now be described. When a new project 301 is added as a dependency (ie as an input or a work product), the "wait" transition occurs again. The type of dependency added and the state of the project 301 will result in a particular control flow. If any type has already been added, the wait 449 will return the control flow to the ready state 45, and no change exists in the state of the project 301. If a valid input dependency that has not been completed via the "wait" list associated with the project 301 is added, a wait transition 412 is called, causing it to return control flow to the input wait state 41. Finally, when an incomplete work product is added, wait transition 433 is invoked, thereby causing the control flow to proceed to work product wait state 43.

완료 천이(438)는 준비 상태(45)에서 하나의 목적을 가지며, 그 목적은 준비 상태(45)로부터의 제어 흐름이 완료되도록 하는 것이다. 이것은 사용자에 의해 수행되는 최소 작업량이며, 항상 명시적인 동작이 존재하게 된다. 즉, 프로젝트(301)가 생성될 때 마다, 이것은 완료 상태(46)또는 취소 상태(44)가 되어야 한다. "복귀"을 수행하므로써 취소 동작이 발생한다. 복귀 천이(425)가 수행되면, 그 천이는 취소 상태(44)로 제어 흐름이 진행되도록 한다. 그러나, 복귀(425)는 입력된 명시적으로 정의된 라이프사이클 상태가 존재하지 않는 경우에만, 취소 상태(44)로 진행된다. 수행된 복잡한 라이프사이클이 존재하면, 제어 흐름은 입력된 그 라이프사이클에서의 최종 상태로 복귀한다. 이러한 복귀는 상태 또는 제어 흐름을 천이(446)를 거쳐 진행 상태(42)로 되돌릴 것이다. 완료 상태(46)는 비활성 상태중의 하나이며, 여기서 "whatnext" 천이(443)는 단지 빈 리스트만을 복귀시킨다.Completion transition 438 has one purpose in the ready state 45, which is to allow the control flow from the ready state 45 to complete. This is the minimum amount of work performed by the user, and there will always be an explicit action. That is, each time project 301 is created, it should be in the completed state 46 or the canceled state 44. The cancel operation occurs by performing "return". When the return transition 425 is performed, the transition causes the control flow to proceed to the canceled state 44. However, return 425 proceeds to canceled state 44 only if there is no explicitly defined lifecycle state entered. If there is a complex lifecycle performed, the control flow returns to the final state in that lifecycle entered. This return will return the state or control flow to transition state 42 via transition 446. Completion state 46 is one of inactive states, where " whatnext " transition 443 only returns an empty list.

프로젝트(301)가 이미 완료되었기 때문에, 완료 천이(442)는 무시되고 아무런 효과도 없다. "통보" 및 "대기"는 상태(46)에 대해 아무런 효과도 갖지 않는다. 이것은 천이 갱신(440)에 의해 더욱 명시적으로 도시될 수 있다. 이 천이(440)는 완료 상태(46)에서 허용된 갱신이 존재하지 않는다는 것을 나타내기 위해 포함된다. 사용자는 "대기" 또는 다른 작업 제품이 완료 상태(46)에 일단 존재하면, 이들을 프로젝트(301)에 부가할 수 없다. 이 경우에는, 사용자는 복귀 천이(439)를 수행하여 준비 상태(45)로 제어 흐름을 되이동시켜야 한다. 이러한 동작이 사용자가 이후 전술한 바와 같이 준비 상태(45)에서 제어 흐름을 야기할 수 있는 새로운 "대기" 프로젝트(301) 또는 새로운 작업 제품을 갱신하거나 부가할 수 있는 방법이다.Since project 301 has already been completed, completion transition 442 is ignored and has no effect. "Notify" and "Wait" have no effect on state 46. This may be shown more explicitly by the transition update 440. This transition 440 is included to indicate that no update is allowed in the complete state 46. The user cannot add these to the project 301 once the "wait" or other work product is in the completed state 46. In this case, the user must perform a return transition 439 to bring the control flow back to the ready state 45. This operation is a way for the user to update or add a new "standby" project 301 or new work product, which may then cause a control flow in the ready state 45 as described above.

일단 프로젝트(301)가 생성되면, 이 프로젝트는 비활성 상태중의 하나에 도달할 때까지 파괴되지 않는다. 파괴 천이(441)는 프로젝트(301)가 이에 따르는 종속성을 갖지 않을 때만 발생할 수 있다. 그러나, 전술한 바와 같이 출력 종속성이 존재하지 않을 경우에는 다른 프로젝트의 작업 제품을 제거하는 것이 가능하다.Once project 301 is created, the project is not destroyed until one of the inactive states is reached. Destruction transition 441 can only occur when project 301 does not have a dependency thereon. However, as mentioned above, if there are no output dependencies, it is possible to remove the work product of another project.

취소 상태(44)는 비활성 상태(45)라는 점에서 완료 상태(46)와 매우 유사하다. 그러나, 또다른 동작이 발생할 수 있고, 준비 상태로 다시 복귀돌 수 있는 완료 프로젝트(46)와 유사하게, 취소 프로젝트(44)가 재개방(reopen)될 수 있다. 완료, 갱신 및 복귀 동작은 갱신 천이(420), 복귀 천이(424) 및 완료 천이(422)로 도시된 바와 같이 무시된다. 이들 동작은 프로젝트(301)의 특정 취소 상태 동안 이들 임의의 동작이 발생하지 않음을 나타낸다. 취소 상태(44) 동안 프로젝트(301)에 대해 발생할 수 있는 단지 3개의 실질적인 동작만이 존재한다. 이들 동작은 "검색"될 수 있는 것으로, 이는 임의의 이들 상태에서 명시적으로 나타나지 않으며, 또한 "재개방"되거나 "파괴"될 수 있다. 이 "파괴"은 포함된 모든 작업 제품이 파괴되도록 하고 또한 그 프로젝트(301)가 이 프로젝트(301)의 통보 리스트내의 모든 프로젝트(301)의 "대기" 리스트로부터 제거되도록 한다는 점에서 파괴 천이(423)와 매우 유사하다.The canceled state 44 is very similar to the completed state 46 in that it is inactive 45. However, another action may occur, and similar to the completion project 46, which may return back to the ready state, the cancel project 44 may be reopened. Complete, update, and return operations are ignored, as shown by update transition 420, return transition 424, and completion transition 422. These actions indicate that none of these actions occur during the particular canceled state of project 301. There are only three practical actions that can occur for the project 301 during the cancel state 44. These operations may be "searched", which does not appear explicitly in any of these states, and may also be "reopened" or "destroyed". This "destruction" causes the destruction transition 423 in that all contained work products are destroyed and the project 301 is removed from the "wait" list of all projects 301 in the notification list of this project 301. Very similar to)

프로젝트(301)를 활성 상태중의 하나로 되이동시키는 4개의 "재개방"유형이 존재한다. "대기" 리스트에서 완료되도록 대기하는 입력이 여전히 존재할 때, "재개방"에 의해 재개방 천이(404)가 호출되도록 하여 제어 흐름이 입력 대기 상태로 진행되도록 한다. 복잡한 라이프사이클이 존재하면, 재개방(421)에 의해 프로젝트(301)가 진행 상태(42)로 "재개방"되도록 한다. 라이프사이클이 존재하지 않거나 또는 라이프사이클이 완료되고 (428)를 거쳐 프로젝트(301)가 재개방될 때, 완료 대기중인 작업 제품이 존재할 경우에만 제어 흐름이 작업 제품 대기 상태(43)로 진행할 것이다. 최종적으로, 재개방 천이(426)는 모든 기본 동작이 프로젝트(301)상에서 완료되고 완료 상태(46)에서 완료 준비될 때 발생하며, 이후 재개방(426)은 제어 흐름이 취소 상태(44)에서 준비 상태(45)로 진행되도록 한다.There are four "reopen" types that bring project 301 back to one of its active states. When there is still an input waiting to be completed in the "wait" list, the reopen transition 404 is called by "reopen" causing the control flow to proceed to the input wait state. If there is a complex lifecycle, reopening 421 causes the project 301 to "reopen" to progress 42. When there is no lifecycle or when the lifecycle is complete and the project 301 is reopened via 428, the control flow will proceed to work product wait state 43 only if there is a work product waiting to be completed. Finally, reopen transition 426 occurs when all basic operations are completed on project 301 and ready to complete in completion state 46, after which reopen 426 causes control flow to be canceled in state 44. The process proceeds to the ready state 45.

다음에 제5도를 참조하면, 프로세스(304)는 프로젝트(301)를 계승하므로, 동적 모델은 기본적으로 제4도에서 도시한 것과 동일하다. 제5도는 제4도에서 비교적 복잡한 라이프사이클만을 무시하여 도시한 것이다. 중요한 것은 여전히 복잡하다는 것이다. 이는 단지 약간의 부가적인 동작을 추가한 것이다. 제4도에서 (45)로 도시되고 제5도에서 (51)로 도시된 준비 상태에서, 주어진 프로세스(304)모델에 의해 새로운 프로젝트(301)가 생성되게 하는데 사용되는 부가적인 천이 개방(501)이 존재한다. 즉, 이 특정 프로젝트(301)에 의해 정의되는 프로젝트(301)가 생성된다. 이 프로젝트의 전체적인 효과는 천이(306)에서 논의한 바와 같이 프로세스(304)의 라이프사이클 모델이 이들과 연관된 현재 상태(305)를 갖지 않는 천이(306)에 대해 검사되게 하는 것이다. 하나 이상의 모델이 존재하면, 선택을 위해 사용자에게 리스트가 제공된다. 단지 하나만의 모델이 존재하면, 자동적으로 이 모델이 취해지고 그 특정 상태에 의해 객체가 제어될 수 있다. 준비 상태(51)에서, 이 개방(501)은 실질적으로 테스트와 유사하다. 프로세스(304)가 완료되었을 때만이 생산 모드가 된다고 간주되며, 이 모드에서 개방(501)은 실질적인 동작이 발생하도록 한다. 제3도에 도시한 각 프로젝트(301)와 연관되어 논의되는 하나의 속성은 테스트 속성이다. 이 속성은 프로세스(304)가 완료되었는지 그리고 생산에서의 사용을 위한 준비가 되었는지의 여부를 결정할 목적으로 이 프로젝트(301)가 단지 테스트 프로젝트(301)임을 나타내는 것이다.Referring next to FIG. 5, process 304 inherits project 301, so the dynamic model is basically the same as shown in FIG. FIG. 5 illustrates only the relatively complicated life cycle of FIG. 4. The important thing is still complicated. This only adds some additional behavior. In the ready state, shown as 45 in FIG. 4 and 51 in FIG. 5, an additional transition opening 501 used to cause a new project 301 to be created by a given process 304 model. This exists. That is, the project 301 defined by this specific project 301 is generated. The overall effect of this project is to cause the lifecycle model of process 304 to be examined for transitions 306 that do not have a current state 305 associated with them, as discussed in transition 306. If more than one model exists, a list is provided to the user for selection. If there is only one model, it is automatically taken and the object can be controlled by that particular state. In the ready state 51, this opening 501 is substantially similar to a test. Only when process 304 is completed is considered to be in production mode, in which open 501 allows substantial operation to occur. One attribute discussed in connection with each project 301 shown in FIG. 3 is a test attribute. This attribute indicates that this project 301 is just a test project 301 for the purpose of determining whether the process 304 is complete and ready for use in production.

다음에, 제4도에서 (46)으로 도시되고, 제5도에서 (52)로 도시되는 완료 상태를 참조하면, 두 개의 천이, 즉 개방 천이(503) 및 테스트 천이(502)가 도시된다. 개방 천이(503)는 테스트 속성이 디폴트로 설정되는 것을 제외하고는 개방(501)에서 논의된 바와 같다. 즉, 이 지점에서 생산 레벨 프로젝트(301)가 존재하는 것으로 간주된다. 이는 프로세스(304)가 완료 상태에 있는 동안에도, 테스트 천이(52)가 부가되어 프로젝트(301)가 테스트 모드에서 생성될 수 있게 하는 이유를 설명하는데 도움을 준다. 일단 프로세스가 완료되면, 준비 상태(51) 동안을 제외하고, 더 이상 갱신이 발생하지 않는다. 준비(51)의 지점에서, 프로세스는 테스트될 준비가 되며, 프로세스가 완료 상태(52)에 있게 될 때, 완료(52)의 지점에서, 프로세스는 실질적으로 실제 프로젝트(301)를 생성하는 데 사용될 수 있고 또한 프로젝트(301)를 선택사양적으로 테스트하는데 사용될 수 있다.Next, referring to the completion state, shown at 46 in FIG. 4 and at 52 in FIG. 5, two transitions are shown, an open transition 503 and a test transition 502. Open transition 503 is as discussed in open 501 except that the test attribute is set to the default. In other words, it is assumed that a production level project 301 exists at this point. This helps explain why the test transition 52 is added so that the project 301 can be created in test mode while the process 304 is in the completed state. Once the process is complete, no further updates occur except during the ready state 51. At the point of preparation 51, the process is ready to be tested, and when the process is in the completed state 52, at the point of completion 52, the process is substantially used to generate the actual project 301. Can also be used to optionally test project 301.

이제 제6도를 참조하면, 천이의 동적 모델이 도시되어 있다. 천이(306)는 상태(305)의 한 종류이며, 따라서 프로세스(304)의 한 종류이고, 따라서 프로젝트(301)의 한 종류로서, 이는 천이(306)가 프로젝트(301)와 연관된 모델을 계승하며, 또한 프로세스(304)를 계승한다는 것을 뜻한다. 따라서, 특정한 상태 및 천이를 무시하는 것이 중요하다. 동일한 두 상태 준비(61) 및 완료(62)는 제5도에서 수행된 것과 유사하게 무시된다. 개방 천이(601)는 특정 천이(306)에 부착되거나 또는 이와 연관된 동작(302)이 생성되도록 한다. 여기서의 차이점은 개방 천이(601)가 임의의 사용자(303)에 의해 직접 수행되지 않는다는 것이다. 대신에, 개방 천이(601)가 정규 프로젝트의 동적 모델의 완료 천이 동안, 특히 천이(415 및 417)동안 수행되며, 이로 인해 동작(302)이 생성되어 그 특정 천이를 사용하게 됨에 따라 히스토리에 표시되게 된다. 완료 상태(62)에 나타난 테스트 천이(602)는 최종 사용자에 의해 수행될 수 있다. 이 테스트 천이 수행의 목적은 천이(306) 그 자체와 연관된 임의의 동작(302)을 수행하는 것이며, 임의의 실질적인 동작 로그 기록이 프로젝트(301)의 히스토리에 대해 생성되게 하지는 않는다.Referring now to FIG. 6, a dynamic model of transition is shown. Transition 306 is one kind of state 305, and thus one kind of process 304, and thus one kind of project 301, in which transition 306 inherits the model associated with project 301. , Also means to inherit process 304. Therefore, it is important to ignore certain states and transitions. The same two state preparation 61 and completion 62 are ignored similarly to that performed in FIG. Open transition 601 causes an operation 302 to be attached to or associated with a particular transition 306. The difference here is that open transition 601 is not directly performed by any user 303. Instead, an open transition 601 is performed during the completion transition of the dynamic model of the regular project, in particular during transitions 415 and 417, which causes an action 302 to be generated and displayed in the history as it uses that particular transition. Will be. The test transition 602 shown in completion status 62 may be performed by the end user. The purpose of performing this test transition is to perform any operation 302 associated with the transition 306 itself, and does not allow any substantial motion log records to be generated for the history of the project 301.

제7도에는 시스템 사용자 뷰(system user's view)의 그래픽 사용자 인터페이스(graphical user interface; GUI)표시가 도시되어 있으며, 시스템과 연관된 모든 사용자를 디스플레이한다. 예를 들면, 시스템은 다양한 구성 요소, 예를 들면 윈도우(701)의 자동 폐쇄, 윈도우(701)의 최대화(710) 및 윈도우(701)의 최소화 또는 아이콘화(iconify)(711)를 허용하는 아이콘을 갖는 타이틀 바 영역(702)을 구비하는 윈도우(701)를 도시한다. 또한, 윈도우(701)는 화면의 상하(713), 또한 필요하다면, 좌측(714) 및 우측(715)으로 화면 스크롤을 수행하는 스크롤 바 영역(712)을 가질 수도 있다. 윈도우(701)는 또한 메뉴 바 영역(708)을 갖는데, 이 영역은, 이러한 특정 예에서 뷰(703), 동작(704), 선택(705)과 연관된 메뉴를 포함하는 이 윈도우(701)내에서 사용가능한 기능을 포함할 수 있다. 대부분의 모든 윈도우(701)는 도움 버튼(716)을 포함하며, 이 버튼은 접촉 감지 도움 기능(701)을 제공할 수 있고, 이 접촉 감지 도움 기능은 특정 윈도우(701) 및/또는 이 윈도우 (701)내부의 선택된 객체에 대해 특정적이다. 또한, 대부분의 윈도우(701)에서, 필드라 칭해지는 몇몇 주요한 디스플레이 영역(707)이 존재한다. 이 필드(707)는 필드상에 배열된 아이콘을 가질 수 있다. 이러한 특정한 예에서, 사용자 Joe를 나타내는 아이콘(706)이 존재한다.FIG. 7 shows a graphical user interface (GUI) representation of a system user's view and displays all users associated with the system. For example, the system may include icons that allow various components, for example, automatic closing of window 701, maximizing 710 of window 701, and minimizing or iconifying 711 of window 701. A window 701 having a title bar area 702 having a structure is shown. The window 701 may also have a scroll bar area 712 that scrolls the screen to the top and bottom 713 of the screen and, if necessary, to the left 714 and the right 715. The window 701 also has a menu bar area 708, which in this particular example includes within this window 701 the menu associated with the view 703, action 704, selection 705. It may include functions that can be used. Most of all windows 701 include a help button 716, which may provide a touch sensing help function 701, which may be a particular window 701 and / or this window ( 701 is specific to the selected object inside. In addition, in most windows 701, there are some major display areas 707, called fields. This field 707 may have icons arranged on the field. In this particular example, there is an icon 706 representing the user Joe.

동작은 두가지 상이한 방법으로 호출된다. 그 하나의 방법은 메뉴 바를 풀링 다운하여 그 내부의 기능을 선택하는 것이다. 그러나, 또한, Joe(706)와 같은 아이콘은 마우스와 같은 선택 장치에 의해 직접적으로 조작될 수 있다. 일반적으로, 사용자가 디스플레이 영역(707)과 연관된 아이콘(706)에 대해 실행할 수 있는 4가지 동작이 존재한다. 제1동작은 아이콘(706)을 디스플레이 영역(707)상으로 이동시키는 것이다. 이 동작은 우측 마우스 버튼을 누르는 것과 같은 홀드 유형 동작을 통해 호출될 수 있다. 메뉴는 또한 아이콘(706)과 연관될 수 있다. 이 경우, 메뉴는 마우스의 좌측 버튼을 누름으로써 호출될 수 있으며, 이후 메뉴상의 하나의 항목이 선택된다. 아이콘(706)을 통해 직접 호출될 수 있는 제3기능은, 예를 들면 메뉴 바(708)와 연관된 선택 버튼에서 사용하기 위해 선택될 수 있다. 이러한 선택은 마우스의 좌측 버튼을 눌러서도 성취될 수 있다. 이후 최종적으로 사용자 경우에서의 객체에 대해 디폴트 동작이 호출될 수 있다. 아마도, 이 디폴트 동작은 사용자 구성을 소유하거나 생성할 수 있는 객체에 대해 개방될 수 있다. 이 경우, 이 동작은 아이콘(706) 상단부에 커서를 위치시킨 후에 두 버튼중 아무 버튼을 이중 클릭함으로써 성취될 수 있다.The operation is called in two different ways. One way is to pull down the menu bar and select a function within it. However, an icon such as Joe 706 can also be manipulated directly by a selection device such as a mouse. In general, there are four actions that a user can perform on the icon 706 associated with the display area 707. The first operation is to move the icon 706 onto the display area 707. This action can be invoked through a hold type action such as pressing the right mouse button. The menu may also be associated with the icon 706. In this case, the menu can be called by pressing the left button of the mouse, after which one item on the menu is selected. A third function that can be called directly via icon 706 can be selected for use in a selection button associated with menu bar 708, for example. This selection can also be accomplished by pressing the left button of the mouse. Finally, a default action may be called for the object in the user case. Perhaps this default behavior may be open for objects that can own or create user configurations. In this case, this operation can be accomplished by placing the cursor on top of the icon 706 and then double-clicking either button.

제7도의 경우에, Joe(706)는 시스템내의 특정 사용자를 나타내며, 디폴트 동작은 디스플레이될 사용자"에 의해 소유되는" 프로젝트를 개방할 수 있게 된다. 그러나, 제8도의 풀 다운 뷰에서 도시한 바와 같이 이 프로젝트는 단지 용이하게 몇몇 다른 뷰가 될수 있거나 또는 사용자 구성이 될 수 있다.In the case of FIG. 7, Joe 706 represents a particular user in the system, and the default behavior is to be able to open a project owned by the user to be displayed. However, as shown in the pull down view of FIG. 8, this project can easily be some other view or can be user configured.

사용자가 뷰 풀 다운 메뉴(703)를 선택할 때, 통상적으로 시스템과 연관된 뷰가 제8도에 도시되어 있다. 뷰에 대한 버튼(801)은 제7도 또는 제11도에 도시한 윈도우(701)에 대한 메뉴(703)에 부착될 수도 있다. 주요 개념은 이 시스템과 연관된 3개의 가능한 뷰가 존재한다는 것이다. 버튼(802)은 시스템 프로세스와 연관된 모든 사용자의 뷰를 제공한다. 버튼(803)은 모든 최상 레벨 프로세스의 뷰를 디스플레이하며 여기서 탑 레벨은 이 프로세스(304)가 임의의 다른 프로세스(304)의 내부에 포함되지 않는다는 것을 나타낸다. 따라서 정의되지 않은 프로세스(304)를 갖는 프로젝트가 연관되는 프로젝트 버튼(804)은 프로젝트(301)와 연관된 특정한 프로세스를 허용한다. 하나의 객체가 포함되면, 이 객체는 선택된 특정객체의 뷰 내부에 나타날 것이다(제 11도를 참조).When the user selects the view pull down menu 703, a view typically associated with the system is shown in FIG. The button 801 for the view may be attached to the menu 703 for the window 701 shown in FIG. 7 or 11. The main idea is that there are three possible views associated with this system. Button 802 provides a view of all users associated with the system process. Button 803 displays a view of all top level processes, where the top level indicates that this process 304 is not included inside any other process 304. Thus, the project button 804 to which a project with an undefined process 304 is associated allows for a particular process associated with the project 301. If an object is included, it will appear inside the selected object's view (see Figure 11).

제9도에는 시스템의 사용자 뷰와 연관된 동작(704)의 풀 다운 메뉴가 도시되어 있다. 이 풀 다운 메뉴의 기능은 스크린상에 무엇이 선택되었는지에 관계없이 발생할 수 있는 동작을 제공하는 것이다. 예를 들면, 생성(901)은 새로운 사용자가 생성되고 시스템과 연관되도록 할 수 있으며, 폐쇄(902)는 윈도우(701)가 폐쇄되도록 할 수 있다. 최소화(903) 및 최대화(904)가 또한 도시된다.9 shows a pull down menu of operation 704 associated with a user view of the system. The function of this pull down menu is to provide actions that can occur regardless of what is selected on the screen. For example, generation 901 can cause a new user to be created and associated with the system, and closure 902 can cause window 701 to be closed. Minimization 903 and Maximization 904 are also shown.

제10도에는 복제(1001) 및 파괴(1002)를 갖는 선택(705) 메뉴 바 풀 다운이 도시되어 있다. 또한, 이들 동작은 선택될 수 있는 필드(707)의 모든 객체상에서 수행돌 수 있는 동작이다. 제10도의 경우, 어떠한 객체도 선택되지 않으면, 이 지점에서 적절하게 동작이 선택될 수 없다는 시각적인 표시인 메뉴 바 항목이 "그레이 아웃(grayed out)"될 것으로 예상된다.10 shows a selection 705 menu bar pull down with replica 1001 and destruction 1002. These operations are also operations that can be performed on all objects of the field 707 that can be selected. In the case of FIG. 10, it is expected that if no object is selected, the menu bar item, which is a visual indication that the action cannot be selected properly at this point, will be "grayed out".

제8도를 참조하면, 뷰가 이미 개방도었다면, 뷰는 재생성되지 않고 오히려 최상으로 이동되거나, 또는 뷰의 크기가 최대화 또는 최소화된 경우에 정상적인 크기로 다시 복귀할 수 있다.Referring to FIG. 8, if the view has already been opened, the view may not be regenerated but rather moved to the top, or may return to normal size if the size of the view is maximized or minimized.

따라서, 제7도에 도시한 윈도우(701)및 제8,9 및 10도에 도시한 풀 다운 메뉴가 주어지면, 뷰 메뉴 풀 다운(703)이 호출되며 이 풀 다운 메뉴는 사용자(802), 프로세스(803) 및 프로젝트(804)를 디스플레이할 수 있고, 그 프로세스(803)가 동작으로서 선택된다. 이것은 전술한 바와 같은 시스템내에 어떤 최상 레벨 프로세스(304)가 있는지를 결정하도록 하며, 제11도에 대해 개시될 윈도우(701)를 디스플레이할 것이다.Thus, given the window 701 shown in FIG. 7 and the pull down menus shown in FIGS. 8, 9 and 10, the view menu pull down 703 is called and this pull down menu is assigned to the user 802, Process 803 and project 804 can be displayed, and the process 803 is selected as an operation. This allows to determine which top level process 304 is in the system as described above and will display a window 701 to be opened for FIG.

제11도에는, 제7도에 도시한 것과 동일한 기본 프로세싱이 사용된다. 주요한 차이점은 타이틀 바(1102)에 도시된 뷰가 프로세스를 도시한다는 것이다. 또한, 뷰 메뉴 바 버튼은 제8도에 도시한 것과 동일할 것이다. 윈도우(1101)의 필드는 시스템에 기술된 다양한 최상 레벨 프로세스(304)의 아이콘 표시, 예를 들면, "bucksilp", "엔지니어링 변경"을 도시할 것이다. Bucksilp(1103)은 전술한 직접 조작 부분에서 도시한 바와 같이, 사용자가 주어진 아이콘을 선택할 때 무슨 일이 발생하였는지를 기술하기 위해 이후 사용될 것이다. 제12도에 도시한 동작 풀 다운 메뉴는 생성(1201)처리가 이 레벨에서, 최상 레벨에서 시스템과 연관된 새로운 프로세스(304)가 생성되어야 한다는 점을 제외하고는 제9도에 도시한 것과 유사하다.In FIG. 11, the same basic processing as shown in FIG. 7 is used. The main difference is that the view shown in title bar 1102 shows the process. Also, the view menu bar button will be the same as shown in FIG. The fields in window 1101 will show icon representations of various top-level processes 304 described in the system, eg, "bucksilp", "engineering change". Bucksilp 1103 will then be used to describe what happened when the user selects a given icon, as shown in the direct manipulation section above. The action pull-down menu shown in FIG. 12 is similar to that shown in FIG. 9 except that the creation 1201 process should create a new process 304 associated with the system at this level, at the highest level. .

제13도에는 제10도에 도시한 것과 유사한 메뉴 풀 다운이 도시되어 있다. 복제(1301)는 프로세스(304)가 복제되도록 하며, 파괴(1302)는 프로세스가 파괴되도록 할 것이다.FIG. 13 shows a menu pull down similar to that shown in FIG. Replication 1301 will cause the process 304 to be replicated, and destruction 1302 will cause the process to be destroyed.

제14도에는 주어진 프로세스(304)상에서 메뉴를 풀 다운하는 것에 관한 동작이 도시되어 있다. 제1동작은 메뉴를 뷰(1401)하는 것이고, 제2동작은 이 프로세스와 연관된 새로운 프로젝트(301)를 개방(1401)하는 것이며, 제3동작은 테스트 프로젝트(1403)를 개방하는 것이다. 이 기능은 프로세스(304)가 완성 상태(52)에 존재할 때만 선택가능하게 되며, 제5도에 도시한 테스트 천이(502), 프로세스(304)의 동적 모델에 직접 대응한다.14 illustrates the operation of pulling down a menu on a given process 304. The first action is to view 1401 a menu, the second action is to open 1401 a new project 301 associated with this process, and the third action is to open a test project 1403. This function becomes selectable only when the process 304 is in the completed state 52, and corresponds directly to the test transition 502, dynamic model of the process 304, shown in FIG.

뷰 풀 다운은 제8도에 도시한 바와 같이 선택되고, 프로젝트(301) 버튼 또는 항목은 (804)에 도시한 바와 같이 선택된다고 가정하면, 이러한 가정은 제15도에 대해 기술한 바와 같이 윈도우가 시스템 작업 공간내에 디스플레이되도록 할 것이다. 이러한 특정한 경우에, 윈도우는 시스템 레벨(1501)로부터의 프로젝트를 나타내는 타이틀 바 영역을 갖는다. 필드(1502)는 이 경우에 프로젝트(301)를 나타내거나 또는 실질적인 정의 프로세스(304)를 갖지 않는 특정한 프로젝트(301)를 나타내거나 또는 실질적인 정의 프로세스(304)를 갖지 않는 특정한 프로젝트(301)를 나타내는 아이콘 리스트를 도시한다. 예를 들면, 말하자면 시스템내의 프로젝트(301)를 나타내는 집 호출(call home)(1506) 및 점심 먹기(eat lunch)와 같은 두 특정한 유형의 아이콘을 도시한다. 메뉴 풀 다운 뷰(1503)는 또한 제8도에 도시한 것과 유사한 프로세싱 및 로직을 사용한다. 또한, 동작(1504)도 제16도를 이용하는 것을 제외하고는 제8도에 도시한 것과 유사하다. 선택(1506)은 제17도에 도시한 풀 다운이 사용자에게 디스플레이되게 할 것이다. 메뉴 버튼이 집 호출(1506)과 같은 아이콘과 연관된 마우스상에서 선택되면, 제18도와 연관된 풀 다운이 디스플레이될 것이다.Assuming that the view pull down is selected as shown in FIG. 8 and the project 301 button or item is selected as shown in 804, this assumption assumes that the window is It will be displayed in the system workspace. In this particular case, the window has a title bar area that represents the project from system level 1501. Field 1502 represents the project 301 in this case or represents a particular project 301 that does not have a substantial definition process 304 or a particular project 301 that does not have a substantial definition process 304. Show the list of icons. For example, two specific types of icons are shown, namely, a call home 1506 and a lunch lunch representing a project 301 in the system. Menu pull down view 1503 also uses processing and logic similar to that shown in FIG. Operation 1504 is also similar to that shown in FIG. 8 except that FIG. 16 is used. Selection 1506 will cause the pull down shown in FIG. 17 to be displayed to the user. If a menu button is selected on a mouse associated with an icon, such as home call 1506, a pull down associated with FIG. 18 will be displayed.

제16도를 참조하면, 기본적인 동작은 제12도 및 제9도에 도시된 것과 매우 유사하다. 주요한 차이점은 프로세스(304)에 의해 정의되지 않고서도 생성동작(1601)이 프로젝트(301)를 생성하는데 적합하다는 것이다. 여기서 사용자는 프로젝트(301)의 생성에 대해 자유로울 수 있으며, "대기" 리스트를 사용하지 않고서도 프로젝트(301)를 다른 프로젝트(301)와 연관시킬 수 있다.Referring to FIG. 16, the basic operation is very similar to that shown in FIG. 12 and FIG. The main difference is that the create operation 1601 is suitable for creating the project 301 without being defined by the process 304. Here, the user can be free to create the project 301 and associate the project 301 with other projects 301 without using the "wait" list.

제17도는 항목이 선택될 때(1505), 사용가능한 동작을 도시한다. 아무것도 선택되지 않았다면, 모든 항목은 "그레이 아웃"되게 되며, 이는 이들 항목이 선택불가능하다는 것을 나타낸다. 여기서는 복귀 동작(1702), 완료(1703), 스케쥴(1704), 할당(1705), 파괴(1706) 및 복제(1707)가 도시된다. 이들 동작은 선택되는 프로젝트(301)의 임의의 주어진 세트상에서 취해질 수 있는 동작이다. 또한, 이들 동작은 제4도에 도시한 동적 모델내에 거의 직접적으로 도시되어 있다. 도시하지 않은 동작은 스케쥴 및 할당 동작으로 이들은 기본적인 갱신 기능이며, 본 명세서에서 참조로 인용되는 미국 특허 출원서(AT9-92-077)에 개시되어 있으며, 본 명세서에서는 개시되어 있지 않다.FIG. 17 shows the available actions when an item is selected 1505. If nothing is selected, all items will be "grayed out", indicating that these items are not selectable. Here, a return operation 1702, completion 1703, schedule 1704, allocation 1705, destruction 1706, and replication 1707 are shown. These actions are actions that can be taken on any given set of projects 301 to be selected. In addition, these operations are shown almost directly in the dynamic model shown in FIG. Operations not shown are schedule and assignment operations, which are basic updating functions, and are disclosed in US Patent Application No. AT9-92-077, which is incorporated herein by reference, and is not disclosed herein.

제18도를 참조하면, 메뉴 직접 조작 선택이, 집 호출(1506)과 같은 주어진 아이콘에 대해 선택되는 경우에 풀 다운되는 메뉴, 즉 동작 뷰(1801), 복귀(1802), 완료(1803), 스케쥴(1804), 할당(1805), 파괴(1806), 복제(1807)가 도시되어 있으며, 이들은 단지 특정한 하나의 동작에 대한 선택 및 개방을 위해 선택된 단일 프로젝트(301)를 감지하는 뷰를 제외하고는, 제17도에 도시한 것들에 대해 거의 직접적인 아날로그이다. 다수의 객체가 선택되었을 때, 모든 뷰 집단이 개방되도록 하는 것은 불가능하다. 파괴(1506)등을 통해 복귀(1802)와 연관된 프로세싱은 제4도에 도시한 동적 모델에 의해 통제된다.Referring to FIG. 18, a menu that is pulled down when a menu direct manipulation selection is selected for a given icon such as house call 1506, that is, operation view 1801, return 1802, finish 1803, A schedule 1804, assignment 1805, destruction 1806, replication 1807 are shown, except for views that sense a single project 301 selected only for selection and opening for a particular one operation. Is almost a direct analog to those shown in FIG. When multiple objects are selected, it is impossible to make all view aggregations open. The processing associated with return 1802 through destruction 1506 and the like is controlled by the dynamic model shown in FIG.

사용자 뷰가 제11도 또는 15도에 도시한 임의의 스크린으로부터 또는 주요 시스템 윈도우로부터 재선택되고, 사용자 Joe가 선택될 때를 가정하면, 소유 리스트가 주어진 사용자와 연관된 디폴트 뷰가 되는 것이 가능하다. 이 경우, 나타날 수 있는 다른 윈도우는 제19도에 도시하는 바와 같은 사용자 특정 윈도우가 될 것이다. 이 경우, 타이틀 바(1901)는 사용자 Joe가 디폴트 뷰로서 뷰를 소유하는 것을 나타낸다. 필드(1902)는 사용자 Joe가 실질적으로 소유하는 프로젝트(301)와 연관된 이들 아이콘을 나타내며, 일예로 buckslip 클럽 메모(1903)가 있다. 메뉴 바 항목은 제20도에서 보다 상세히 도시되는 뷰(1904)에서의 다른 모든 윈도우에서 개시되는 것들과 매우 유사하다. 제19도에 도시한 "동작" (1905)은 또한 비교적 상이하므로 제21도에서 보다 상세히 도시될 것이다. 그러나, 선택 메뉴 풀 다운 및 아이콘 풀 다운은 선택되는 객체가 프로젝트(301)이므로, 제17도 및 제18도에 도시한 것과 동일하다. 제20도를 참조하면, 주어진 사용자에 대해 사용가능한 뷰가 도시되어 있으며, 이 뷰 세트는 제3도에 도시한 정적 모델로부터 거의 직접적으로 도출될 수 있다. 소유(2001)는 마찬가지로 프로젝트(301)에 대한 사용자(303)의 "소유" 관계와 연관된다. 개시(2002)는 사용자(303)와 프로젝트(301)간의 관계와 연관된다. 동작 뷰(2003)는 사용자(303)와 그 사용자에 의해 실행되는 동작(302)간의 직접적인 연관성의 결과이다. 따라서 동작 뷰(2003)를 구축하는데 수반된 복잡한 프로세싱이 존재하지 않는다. whatnext(2004)는 또한 사용자(303)와 연관된 중요한 뷰로서, 이 특정 사용자가 하나의 상태(305)에서 다른 하나의 상태로 이동시키는 책임을 지게 되는 이들 프로젝트(301)를 단지 도시한다. 따라서, whatnext 뷰 동안 복귀되는 프로젝트(301)의 리스트는 이 사용자가 다음 동작과 연관되었는지에 의존한다. 따라서 수반된 프로세싱은 주어진 사용자(303)"에 의해 소유된" 이들 프로젝트(301)를 통해 반복하고 프로젝트(301) whatnext가 비어 있지 않은 리스트(non-empty list)를 복귀시키는지를 결정하는 것이다. 프로세싱이 빈 리스트를 복귀시키지 않으면, 즉 진행 상태(42)또는 준비 상태(45)인 활성 상태에 존재하는 프로젝트(301)를 복귀시킨다면, 이 사용자가 프로세싱을 다음 상태로 이동시키는 동작을 수행하는데 대한 책임을 져야 한다는 것을 나타낸다. 테스트를 전송하는 이들 결과 리스트는 whatnext 뷰의 일부로서 복귀된다. whatnext 뷰의 장점은 "에 의한 소유"는 충분하지 못하며, 또한 "개시"도 그 자체로 충분하지 못한 것인 한편, 현재 사용자에 대한 대체 동작인 이들 동작을 나타내는 것이다.Assuming that the user view is reselected from any screen shown in FIGS. 11 or 15 or from the main system window, and the user Joe is selected, it is possible for the owning list to be the default view associated with a given user. In this case, another window that may appear would be a user specific window as shown in FIG. In this case, title bar 1901 indicates that user Joe owns the view as the default view. Field 1902 represents these icons associated with project 301 substantially owned by user Joe, for example buckslip club note 1903. The menu bar items are very similar to those disclosed in all other windows in view 1904, shown in more detail in FIG. The “operation” 1905 shown in FIG. 19 is also relatively different and therefore will be shown in more detail in FIG. 21. However, the selection menu pull down and the icon pull down are the same as those shown in Figs. 17 and 18, because the selected object is the project 301. Referring to FIG. 20, a view that is available for a given user is shown, and this set of views can be derived almost directly from the static model shown in FIG. Ownership 2001 is likewise associated with the "owner" relationship of user 303 to project 301. Initiation 2002 is associated with a relationship between user 303 and project 301. Action view 2003 is the result of a direct association between user 303 and actions 302 performed by that user. Thus, there is no complicated processing involved in building the operation view 2003. whatnext 2004 is also an important view associated with user 303, which merely illustrates those projects 301 that are responsible for moving this particular user from one state 305 to another. Thus, the list of projects 301 returned during the whatnext view depends on whether this user is associated with the next action. Thus the processing involved is to iterate through these projects 301 " owned by a given user 303 " and to determine if project 301 whatnext returns a non-empty list. If the processing does not return an empty list, i.e., a project 301 that is in an active state that is in progress 42 or ready state 45, then this user is responsible for performing an operation to move the processing to the next state. Indicates responsibility. These result lists sending the test are returned as part of the whatnext view. The advantage of the whatnext view is that "own by" is not enough, and "start" is not enough on its own, while representing these actions as alternatives to the current user.

사용자와 연관된 최종 뷰는 특성 뷰(2005)로서, 이 뷰는 사용자에 의해 갱신되거나 또는 리뷰(review)될 수 있는 단지 명칭 및 디폴트 뷰 등과 같은 속성을 나타낸다.The final view associated with the user is the property view 2005, which represents attributes such as only the name and default view, etc., which can be updated or reviewed by the user.

제21도를 참조하면, 이 도면은 동작 풀 다운(1905)이 호출되었을 때의 결과이며, 주요 동작은 다른 윈도우와 연관된 동작과 매우 유사하다. 여기서는 발생할 수 있는 실질적인 3개의 생성 유형, 즉, (1)(2100)에 도시된 특정한 프로세스(304)인 생성 프로젝트, (2)프로세스와 연관된 프로젝트를 실질적으로 개방하는 개방 프로젝트(2102), (3) 제5도에 도시한 동적 모델과 연관된 테스트 모드내에서 프로젝트(301)가 개방되게 할 수 있는 개방 테스트 프로젝트(2103)과 존재한다. 천이는 (502)가 될 것이다. 이 개방 테스트 프로젝트(301)는 선택된 프로세스(304)가 완성 상태에 존재할 때만 허용될 수 있다.Referring to FIG. 21, this figure is the result when the action pull down 1905 is called and the main action is very similar to the action associated with another window. Here, there are three practical types of production that can occur: a creation project, which is the particular process 304 shown in (1) 2100, (2) an open project 2102, which substantially opens the project associated with the process (3). There is an open test project 2103 that can cause the project 301 to open in a test mode associated with the dynamic model shown in FIG. The transition will be 502. This open test project 301 may only be allowed when the selected process 304 is in a completed state.

제19도에 도시한 소유 뷰로부터, 뷰(1904) 프로그램이 활성화되고 개시 뷰(2002)가 선택되면, 그 결과 제22도가 될 것이며, 그러한 경우 주어진 사용자(303)"에 의해 개시되는" 이들 프로젝트(301)를 나타낼 것이다. 따라서, 제22도에 도시한 윈도우는 타이틀 바(2201)를 가질 것이며, 필드(2202)는 Joe에 의해 개시되는 이들 프로젝트를 나타내는 아이콘 리스트를 나타낼 것이다. 예를 들면, buckslip(12-1), 트립 요약(2203)이 존재한다. 메뉴 바는 임의의 다른 메뉴 사용자 바와 동일하며, 제20도에 도시한 바와 같이 처리되는 뷰(2204)및 제17도에 도시한 것과 매우 유사하게 처리되는 선택(2206)을 포함한다. 아이콘 메뉴는 제18도에 도시한 바와 같이 처리될 수 있다.From the owning view shown in FIG. 19, if the view 1904 program is activated and the initiating view 2002 is selected, it will result in FIG. 22, in which case those projects initiated by the given user 303. 301 will be represented. Thus, the window shown in FIG. 22 will have a title bar 2201, and field 2202 will represent a list of icons representing these projects initiated by Joe. For example, there is a buckslip 12-1, a trip summary 2203. The menu bar is the same as any other menu user, and includes a view 2204 that is processed as shown in FIG. 20 and a selection 2206 that is processed very similarly to that shown in FIG. 17. The icon menu can be processed as shown in FIG.

동작 뷰(2003)가 선택되었다고 가정하면(도 20 참조), 프로세싱을 나타내기 위해 제23도에 도시한 바와 같이 윈도우가 디스플레이될 수 있다. 타이틀 바(2301)는 이 경우에 사용자 Joe의 뷰 동작을 나타내는 한편, 필드(2302)는 Joe가 생성 bulkslip(12-1) 트립 요약(2303)으로 실행된 동작(302)을 나타내는 아이콘 리스트를 도시한다. 또한, 뷰(2304)는 제20도에 상응한다. 동작(2305)은 제21도가 호출되거나 또는 디스플레이되도록 할 것이다. 제18도에는 선택되었을 때 디스플레이될 수 있는 아이콘 메뉴가 도시되어 있다. 또한, 프로세싱은 전술한 바와 유사하다.Assuming motion view 2003 has been selected (see FIG. 20), a window may be displayed as shown in FIG. 23 to illustrate processing. The title bar 2301 indicates the view action of the user Joe in this case, while field 2302 shows a list of icons representing the action 302 that Joe executed with the generated bulkslip 12-1 trip summary 2303. do. View 2304 also corresponds to FIG. 20. Operation 2305 will cause FIG. 21 to be called or displayed. 18 shows an icon menu that can be displayed when selected. Also, processing is similar to that described above.

제20도를 다시 참조하면, whatnext 뷰(004)가 선택되었다면, 제23도에서는 사용자 Joe의 whatnext뷰를 나타내는 타이틀 바(2401)가 도시될 것이다. 필드(2402)는 프로젝트(301)가 한 방향 또는 다른 방향으로 완료되도록 준비된 프로젝트(301)를 나타내는 아이콘 리스트를 도시한다. 일예는 프로세스(304)의 상태를 표시하는 bulkslip 클럽 메모 전진(club memo forward)을 나타내는 아이콘(2403)에 의해 도시될 수 있다. 메뉴 바 항목으로부터 나타나는 프로세싱은 전술한 바와 동일하다. 뷰(2404)는 제20도에 도시한 메뉴 풀 다운에 대해 기술한 바와 같이 동일하게 처리될 수 있으며, 동작(2405)은 제21도에 도시한 메뉴 바에서 기술한 바와 같이 동일하게 처리될 수 있고, 선택(2406)도 마찬가지로 제17도에 도시되고 기술된 풀 다운을 통해 처리될 수 있다. 아이콘 메뉴는 제18도와 연관되어 기술된 바와 같이 디스플레이되고 동작할 수 있다.Referring again to FIG. 20, if the whatnext view 004 has been selected, in FIG. 23 a title bar 2401 will be shown that represents the user's whatnext view. Field 2402 shows a list of icons representing the project 301 ready for the project 301 to complete in one or the other. One example may be shown by an icon 2403 representing a bulkslip club memo forward indicating the status of process 304. The processing appearing from the menu bar items is the same as described above. View 2404 may be processed the same as described for menu pull down shown in FIG. 20, and operation 2405 may be processed the same as described in menu bar shown in FIG. And selection 2406 may likewise be handled via the pull down shown and described in FIG. 17. The icon menu may be displayed and operate as described in connection with FIG. 18.

다시 제11도를 참조하면, 특정 프로세스(304), 즉 bulkslip(1103)이 선택되었다고 가정하면, 제25도는 그 프로세스(304)와 연관된 기능에 대한 사용자 인터페이스를 제공하는데 사용될 수 있는 가능한 스크린을 나타낸다. 이러한 특정 실시예에서, 타이틀 바(2501)는 "프로세스 bulkslip 뷰 정의"를 나타낸다. 필드(2502)는 이 프로세스(304)를 이용하여 생성되고 그 프로세스(304)내의 몇몇 지점에 존재하는 특정 bulkslip을 나타내는 아이콘을 도시한다. 하나의 아이콘 bulkslip 클럽 메모(2503)가 이러한 하나의 아이콘이다. 다른 윈도우와 같이, 메뉴 바는 뷰(2504)를 가지며, 이 뷰의 동작은 제26도에 도시한 풀 다운 메뉴로 기술된다. 동작(2505)은 마찬가지로 제27도를 통해 도시된다. 또한 선택(2506)및 아이콘 메뉴는 제17도 및 제18도에서 각각 도시된다.Referring again to FIG. 11, assuming a particular process 304, i.e., bulkslip 1103, is selected, FIG. 25 shows a possible screen that can be used to provide a user interface for the functions associated with that process 304. FIG. . In this particular embodiment, title bar 2501 represents a "process bulkslip view definition." Field 2502 shows an icon representing a particular bulkslip created using this process 304 and present at some point within that process 304. One icon bulkslip club note 2503 is one such icon. Like other windows, the menu bar has a view 2504, the operation of which is described by the pull down menu shown in FIG. Operation 2505 is likewise shown through FIG. 27. Selection 2506 and icon menus are also shown in FIGS. 17 and 18, respectively.

제26도를 참조하면, 뷰(2504)가 선택되는 경우, 도시된 항목은 제3도에 도시한 정적 모델상의 프로세스(304) 객체에서 도시한 것들과 거의 직접적으로 상응할 것이다. 정의 뷰(2601)는 프로젝트 리스트를 도시하며, 이를 위해 이 프로세스(304)는 현재 정의 프로세스(304)로 되어 있다. 라이프사이클(260)은 그 라이프 사이클의 상태(305) 및 천이(306)를 나타낸다. "로부터의 입력"(2603) 및 "로의 출력"(2604)은 프로세스(304) 객체와 연관된 리스트에 직접적으로 대응하며, 별도의 도면으로서 도시되지 않고, 제11도와 유사하게 처리된다.Referring to FIG. 26, when view 2504 is selected, the items shown will correspond almost directly to those shown in the process 304 object on the static model shown in FIG. Definition view 2601 shows a list of projects, for which process 304 is now the definition process 304. Lifecycle 260 represents the state 305 and transition 306 of that lifecycle. "Input from" 2603 and "Output to" 2604 directly correspond to the list associated with the process 304 object, and are not shown as a separate drawing and are processed similarly to FIG.

계층(2605)은 프로세스(304)들간의 수퍼클래스/서브클래스 관계에 대응한다. 또한, 이 계층의 디스플레이가 상단에 수퍼클래스, 중앙에 프로세스(304), 하단에 서브클래스를 가진 계층적 디스플레이 그래프(제 37도 참조)와 매우 유사하게 보일 것이라는 점을 제외하고는 이 계층은 제11도에 도시한 PLM시스템 뷰 프로세스 스크린과 매우 유사하다. 각각의 프로세스는 제11도에 도시한 것과 같은 동일한 메뉴 바 풀 다운 항목을 가지며 제11도에 기술한 바와 유사하게 선택된다.Hierarchy 2605 corresponds to a superclass / subclass relationship between processes 304. Also, except that the display of this layer will look very similar to a hierarchical display graph (see Figure 37) with a superclass at the top, a process 304 at the center, and a subclass at the bottom (see Figure 37). It is very similar to the PLM system view process screen shown in FIG. Each process has the same menu bar pull down item as shown in FIG. 11 and is selected similarly as described in FIG.

다음에, 작업 제품 정의(2606)는 이 특정 프로세스(304)내에 포함되고 주어진 프로세스(304)에 대한 작업 제품의 정의를 나타내는 프로세스에 상응한다. 예를 들면, 사용자는 해제(release) 프로세스(304) 내에 증분(increments)을 가질 수 있다. 이들 증분은 주어진 해제와 연관된 작업 제품이 될 것이다.Work product definition 2606 then corresponds to a process included within this particular process 304 and representing a definition of the work product for a given process 304. For example, a user may have increments in the release process 304. These increments will be the work product associated with a given release.

프로젝트 뷰(2607)는 제20도에 도시한 뷰 메뉴와 같이 보이는 메뉴를 종속 접속한다. 즉, 이 뷰는 시점을 프로젝트(304) 시점으로부터 프로젝트(301)시점으로 옮긴다. 프로세스(304)는 프로젝트(301)의 한 종류이기 때문에 이러한 시점의 이동이 허용되고, 따라서 사용자는 제20도에 도시한 바와 같이 누가 프로세스(304)를 소유하는지, 프로세스(304)를 누가 개시하였는지, 어떠한 동작(302)이 연관되는지, 히스토리, 특성 등을 고찰할 수 있다. 최종적으로, 또한 전술한 임의의 다른 객체상의 특성과 매우 유사할 수 있는 특성(2608)은 명칭 및 디폴트 뷰 등을 나타내며, 이들은 사용자에 의해 세트 또는 리셋될 수 있다.Project view 2607 cascades a menu that looks like the view menu shown in FIG. In other words, this view moves the viewpoint from the project 304 viewpoint to the project 301 viewpoint. Since process 304 is a type of project 301, movement at this point in time is allowed, so that the user owns the process 304 and who initiated the process 304 as shown in FIG. , What actions 302 are involved, history, characteristics, and the like can be considered. Finally, the properties 2608, which may also be very similar to the properties on any other object described above, represent names and default views, etc., which may be set or reset by the user.

제27도를 참조하면, 동작 풀 다운(2505)이 선택될 때, 이 도면은 개방 프로젝트(301)및 개방 테스트 프로젝트(301)를 갖는 제14도와 매우 유사하게 보이게 될 것이다. 유일한 차이점은 해당 주어진 프로젝트(301)의 뷰내에 이미 뷰가 존재하기 때문에 더 이상 뷰가 필요하지 않다는 것이다. 개방 프로젝트(2701)는 제14도에 도시한 개방 프로젝트(1402)와 동일한 방식으로 개시될 수 있으며, 개방 테스트 프로젝트(2702)가 제14도내의 개방 테스트 프로젝트(1403)와 동일하게 된다. 하나의 메뉴를 풋 온(put on)하는 임의의 동작은 다른 메뉴와도 연관되어야 한다. 최종적으로, 제25도상에서, 필드상에 표시된 객체가 실질적인 프로젝트(301)이기 때문에, 제17도의 선택 메뉴(1505)가 적용되며, 아이콘의 직접 조작이 순서대로 이루어진다면, 제18도에 도시한 선택 아이콘 메뉴가 적용된다.Referring to FIG. 27, when an operation pull down 2505 is selected, this figure will look very similar to FIG. 14 with an open project 301 and an open test project 301. The only difference is that the view is no longer needed because the view already exists within the given project 301's view. Open project 2701 can be initiated in the same manner as open project 1402 shown in FIG. 14, and open test project 2702 becomes identical to open test project 1403 in FIG. Any operation that puts on one menu should also be associated with the other menu. Finally, in Fig. 25, since the object displayed on the field is the actual project 301, the selection menu 1505 in Fig. 17 is applied, and if the direct manipulation of the icons is made in order, the selection shown in Fig. 18 is made. The icon menu is applied.

제28도에는 호출되는 방법에 따라 달라지는, 프로세스(304)또는 프로젝트(301)의 라이프사이클 뷰가 도시되어 있다. 제25도와 같은 스크린으로부터 라이프사이클 뷰가 호출되거나 또는 선택되면, 제28도에 도시한 윈도우는 특정 프로세스(304)를 나타내는 반면에, 프로세스가 프로젝트(301) 시점으로부터 제20도에 도시한 바와 같이 선택되는 주어진 프로젝트(301)에 대해 라이프사이클이 호출되는 경우, 윈도우는 "프로세스 bulkslip 뷰 라이프사이클"을 갖는 타이틀 바(2801)를 가질 것이다. 필드(2802)는 전진 상태(2804) 및 천이 상태(2803)를 갖는 프로세스 라이프사이클의 그래픽 표시를 나타낼 것이고, 이 표시는 하나의 상태에서 다른 하나의 상태로의 천이를 나타내느 비 상태(no state)에서 전진 상태로의 생성 유형 천이를 나타내며, 이 경우(2805)는 전진 상태에서 자신으로 천이한다. 이후에(2806)으로 도시된 것과 같이 하나의 상태에서 비 상태로의 천이도 또한 존재한다. 동작 바 풀 다운(2808)은 또한 뷰(2807)와 매우 유사하며, 이 뷰는 임의의 다른 프로세스 유형 뷰 풀 다운을 갖는 제26도에서 논의된 바와 같이 도시될 것이다. 동작(2808)은 제29도에 따라 기술될 것이며, 풀 다운을 디스플레이할 것이다. 선택(2809)은 제30도에 디스플레이되고 아이콘 메뉴는 제31도에 디스플레이될 것이다. 동작(2808)이 선택되면(제29도 참조), 도시되는 것은 프로젝트(2901)를 개방하는 기능 및 다른 프로세스 관련 동작과 매우 유사한 테스트 프로젝트(2902)를 개방하는 기능이다. 폐쇄, 최소화 및 최대화 등과 같은 다른 윈도우 동작이 풀 다운내에 또한 존재할 수 있다.28 shows a lifecycle view of process 304 or project 301, depending on how it is invoked. If a lifecycle view is invoked or selected from a screen such as FIG. 25, the window shown in FIG. 28 represents a particular process 304, while the process is shown in FIG. 20 from the time point of the project 301. If a lifecycle is invoked for a given project 301 selected, the window will have a title bar 2801 with a "process bulkslip view lifecycle". Field 2802 will represent a graphical representation of the process lifecycle with an advancing state 2804 and transition state 2803, which is a no state representing a transition from one state to another. ) Represents the transition of the production type from the forward state to the forward state, in this case 2805. There is also a transition from one state to non-state, as shown later at 2806. Operation bar pull down 2808 is also very similar to view 2807, which will be shown as discussed in FIG. 26 with any other process type view pull down. Operation 2808 will be described in accordance with FIG. 29 and display a pull down. Selection 2809 will be displayed in FIG. 30 and an icon menu will be displayed in FIG. Once operation 2808 is selected (see FIG. 29), what is shown is the ability to open project 2901 and to open a test project 2902 very similar to other process related operations. Other windowing operations, such as closing, minimizing, and maximizing, may also exist within the pull down.

선택(2809)은 선택된 항목이 상태 또는 천이로 진행한다는 점에서 상이하며, 따라서 심지어 그 기능, 즉 개방 프로젝트(301)(3001) 및 개방 테스트 프로젝트(301)(3002)가 유사하게 보이더라도, 상태가 선택된 경우라는 점에서 차이점이 존재하며, 그 표시는 특정 상태가 요구되는 프로젝트(301)이고, 따라서 단지 하나의 천이만이 존재하면, 그 천이가 선택될 것이다. 이 천이가 선택되는 경우, 그 특정 천이는 주어진 프로젝트(301)를 생성하는 데 사용될 수 있는 천이가 될 것이다.The selection 2809 is different in that the selected item proceeds to a state or transition, and thus even if its functions, namely open project 301 and 3001 and open test project 301 and 3002, look similar. There is a difference in that is selected, the indication is that the project 301 requires a particular state, so if there is only one transition, that transition will be selected. If this transition is selected, that particular transition will be a transition that can be used to create a given project 301.

제31도는 아이콘 메뉴를 도시하며, 이 메뉴는 뷰(3101)를 포함하고, 선택된 상태(305)또는 천이(306)의 특정 뷰를 제공할 것이다. 개방 프로젝트(3102)및 개방 테스트 프로젝트(3103)는 주어진 천이 또는 상태, 단일 사용자가 선택된다는 것을 제외하고는 상태 제30도에 도시한 것과 직접적으로 부합한다.31 shows an icon menu, which includes a view 3101 and will provide a particular view of the selected state 305 or transition 306. Open project 3102 and open test project 3103 correspond directly to that shown in state 30, except that a given transition or state, a single user is selected.

제32도를 참조하면, 직접 활성화를 허용하기 위한 특정 프로젝트(301)의 시점에서 프로세스(304)를 도시할 것이며, 윈도우는 프로젝트, bulkslip, 클럽 메모, 뷰의 프로세스를 갖는 타이틀 바(3201)를 나타낸다. 필드(3202)는 제28도에 도시한 것과 유사하며 상태 및 천이를 도시한다. 그러나, 비활성화 상태 및 천이(즉, 현재 사용되지 않음)는 점선으로 나타나거나 또는 선택불가능하다는 것을 나타내는 몇가지 다른 표시가 이용될 것이다. 이들 표시는 현재 상태의 일부가 되지는 않는다. 이 스크린은 사용자 인터페이스의 일부로서 또한 사용되어, 다중 천이가 가능할 때 선택되도록 사용할 수 있다. 즉, 이 윈도우는 팝 업될 수 있고, 발생할 수 있는 이들 천이를 기술한다. 어떠한 의미에서, 이 기능은 두가지 상이한 방법으로 이용가능하다. 하나의 방법은 단지 프로젝트의 프로세스 뷰를 선택하는 것이고, 다른 하나의 방법은 다이알로그로서 이 뷰를 취하는 것에 의한 것이다. 또한, 필드(3202)가 도시하는 바와 같이, 전진 상태에서 bulkslip을 생성하기 위해 취해지는 (3203)과 같은 천이는 더 이상 사용가능하지 않다. 마찬가지로, bulkslip은 모든 천이에 의해 보여지지 않으므로, 완료를 암시하는 비 상태로 출력되는 천이(3204)는 또한 사용할 수 없게 되며 따라서 점선으로 도시된다. 상태(3209)는 굵은 선으로 도시되거나 또는 점선이 아닌 선으로 도시되며, 전진 상태가 활성 상태임을 나타내고, 천이(3205)는 bulkslip이 모든 천이에 의해 보여지지 않는 것을 의미하는 것으로서, 활성 천이임을 나타낸다. 따라서, 이 경우 단지 하나만의 활성 천이가 존재하게 된다. 그리고 사용자가 이 프로젝트(301)상에서 완료 천이를 수행하였다면, 이것은 기본적으로 그 천이를 취하게 될 것이다.Referring to FIG. 32, a process 304 will be shown at the point in time of a particular project 301 to allow direct activation, and the window will display a title bar 3201 with processes of project, bulkslip, club note, and view. Indicates. Field 3202 is similar to that shown in FIG. 28 and shows states and transitions. However, some other indication will be used to indicate that the deactivation state and transition (ie, not currently used) are indicated by a dashed line or not selectable. These indications are not part of the current state. This screen can also be used as part of the user interface to be selected when multiple transitions are possible. In other words, this window can be popped up and describes these transitions that can occur. In some sense, this function is available in two different ways. One way is to just select the process view of the project, and the other way is by taking this view as a dialog. Also, as field 3202 shows, a transition such as 3203 taken to create a bulkslip in the advanced state is no longer available. Similarly, since the bulkslip is not seen by all transitions, the transition 3204 that is output in a non-state suggesting completion is also unusable and is therefore shown in dashed lines. State 3209 is shown as a thick line or as a line rather than a dotted line, indicating that the advance state is active, and transition 3205 means that the bulkslip is not seen by all transitions, indicating that it is an active transition. . Thus, there is only one active transition in this case. And if the user has made a complete transition on this project 301, this will basically take that transition.

뷰(3206), 동작(3207), 선택(3208) 메뉴 바 항목은 비록 내용상으로는 상이하지만 매우 유사하다. 동작(3207) 메뉴 바는 제34도에 도시되며, 선택(3208)메뉴 바는 제35도에 도시되고, 아이콘 메뉴는 제36도에 도시될 것이다. 여기서의 핵심 사항은 유일한 선택가능 항목이 천이라는 것이다. 상태는 직접 선택에 대해 선택가능하지 않다.The view 3206, operation 3207, and selection 3208 menu bar items are very similar, although different in content. The operation 3207 menu bar is shown in FIG. 34, the selection 3208 menu bar is shown in FIG. 35, and the icon menu will be shown in FIG. The key point here is that the only selectable item is cloth. The state is not selectable for direct selection.

뷰(3206)에 의해 도시되는 제33도를 참조하면, 또한 이 도면에 도시되는 내용의 대부분이 어디에서 도출되는지를 알기 위해서는 제3도를 다시 참조하는 것이 유용하다. 프로세스(304)의 뷰(3301)는 프로젝트(301)와 연관된 "에 의해 정의되는" 프로세스(304)를 통해 전달될 수 있는 실질적인 뷰로서, 이 뷰가 비 널이면, 이 뷰는 라이프사이클을 도시하지만, "에 의한 제어" 상태(305)에 포함된 정보를 또한 포착할 것이다. 따라서, 지금 당장 활성인 상태가 존재하지 않으면, 즉 프로젝트(301)가 대기 상태에 존재하면, 사용자는 "에 의한 제어"가 널로 되는 것으로 볼 수 있을 것이며, 따라서 객체 또는 프로젝트(301)는 전진 주위에 점선을 가지게 되고 모든 천이에 의해 보여지지 않을 것이다. 그리고, 제4도의 동적 모델에 도시한 바와 같은 프로젝트(301)의 현재 상태의 이점을 취하게 될 것이다. 대기(3302), 통보(3303), 작업 제품(3304)은 이들 중 하나가 연관되는 프로젝트(301)를 도시한다. 또다른 뷰 컨테이너(310)는 프로젝트(301)를 나타내며, 이 프로젝트(301)가 존재하면, 작업 제품으로 고려될 것이다. 다중 프로세스(304) 뷰 대신에 단일 프로세스(304) 뷰가 존재함에 따라 컨테이너는 프로젝트(301)의 디폴트 뷰를 초래한다는 점에서 약간 상이하게 된다. 히스토리 뷰(3305)는 프로젝트(301)의 히스토리를 나타내며, 이 히스토리는 발생할 수 있는 동작(302)의 리스트이다. 그리고, 뷰에 의해 개시되는 것(3306)은 제19도에 도시한 사용자 뷰와 유사한 뷰를 나타낸다. 뷰에 의해 소유되는 것(3307)도 매우 유사하다. 또한, 사용자 뷰도 제19도에 예시되어 있다. 상태 뷰(3308)는 프로세스(304)와 매우 유사하게 되는 현재 상태를 도시할 것이다. 이 경우, 이 상태 뷰가 정의하는 것은 그 상태에서 존재하는 프로젝트일 수도 있다. 따라서, 이는 제25도에 도시한 바와 같은 임의의 프로세스(304)와 유사하게 될 것이다. 특성(3309)은 전술한 다른 모든 특성과 유사하다. "에 의한 정의"(3311)는 이 객체와 연관되지 않고 정의적인 장치로서의 프로세스(304)를 도시하며, 따라서 실질적으로 촛점의 이동이 된다. "에 의한 정의"(3311)가 제28도에 도시한 뷰를 전환하는 반면, 이 프로세스(3301)는 제32도에 도시한 뷰를 전환한다. 이 뷰는 그 프로세스(304)의 일반적인 뷰이고, 디폴트에 의해 라이프사이클은 프로세스(304)의 디폴트 뷰가 된다.Referring to FIG. 33 shown by view 3206, it is also useful to refer back to FIG. 3 to see where most of the content shown in this figure is derived. View 3301 of process 304 is a substantial view that can be passed through process 304 "defined by" associated with project 301, if this view is null, this view depicts the lifecycle. However, it will also capture the information contained in the "control by" state 305. Thus, if there is no active state right now, that is, if the project 301 is in the waiting state, the user may see that "control by" is null, so that the object or project 301 is around forward. It will have a dotted line and will not be seen by all transitions. It will then take advantage of the current state of the project 301 as shown in the dynamic model of FIG. The atmosphere 3302, notification 3303, work product 3304 shows the project 301 to which one of them is associated. Another view container 310 represents project 301 and, if present, will be considered a work product. The container is slightly different in that it results in a default view of the project 301 as there is a single process 304 view instead of multiple process 304 views. History view 3305 represents a history of project 301, which is a list of operations 302 that may occur. And, what is initiated by the view 3306 represents a view similar to the user view shown in FIG. 19. Owned by the view (3307) is very similar. User views are also illustrated in FIG. 19. State view 3308 will show the current state, which becomes very similar to process 304. In this case, what this state view defines may be a project that exists in that state. Thus, this will be similar to any process 304 as shown in FIG. Feature 3309 is similar to all other features described above. "Defined by" 3311 illustrates process 304 as a definitive apparatus that is not associated with this object, and thus is substantially a shift in focus. While "define by" 3311 switches the view shown in FIG. 28, this process 3301 switches the view shown in FIG. This view is the general view of the process 304, and by default the lifecycle is the default view of the process 304.

복귀 동작(3401), 완료 동작(3402), 스케쥴 동작(3403), 할당 동작(3404)으로 도시한 동작을 갖는 제34도를 참조하면, 제4도에 도시된 동적 모델 및 미국 출원서(AT9-92-077)에 개시된 것과 매우 유사하다. 이 도면에서 둘 이상의 천이가 존재하면, 동작 관점으로부터 이 천이를 선택하는 것은 선택 다이알로그가 전술한 바와 같이 나타나게 될 것이다. 파괴(3405), 복사(3406), 폐쇄(3407), 최소화(3408), 최대화(3409)는 전술한 다른 메뉴에서 도시한 것과 매우 유사하다.Referring to FIG. 34 having an operation shown as a return operation 3401, a completion operation 3402, a schedule operation 3403, and an allocation operation 3404, the dynamic model and the US application (AT9-AT) shown in FIG. 92-077). If there is more than one transition in this figure, selecting this transition from an operational point of view will result in the selection dialog appearing as described above. Break 3405, copy 3406, close 3407, minimize 3408, maximize 3408 are very similar to those shown in the other menus described above.

제35도는 선택된 박스(3208)를 상세히 도시한다. 천이만이 선택가능하며, 이 지점에서의 천이에 대해 수행될 수 있는 유일한 동작은 완료 동작이다. 사용자가 뷰의 이동을 원한다면, 제36도는(3601)이 뷰를 나타내는 아이콘 메뉴를 도시하며, 이 뷰는 복잡한 천이가 발생하는 경우, 제28도에 따라 천이 뷰를 제공할 것이다. 천이가 복잡하지 않다면, 이 천이에 의해 호출되어 정의된 동작을 도시할 것이다.35 shows the selected box 3208 in detail. Only transition is selectable, and the only operation that can be performed on the transition at this point is the completion operation. If the user wants to move the view, FIG. 36 shows an icon menu 3601 representing the view, which will provide a transition view according to FIG. 28 if a complex transition occurs. If the transition is not complicated, it will show the action defined by that transition.

제37도는 프로세스(304)의 계층 뷰를 나타낸다. 타이틀(3701)은 "프로세스, 변화, 뷰"의 계층을 갖는다. 필드(3702)는 프로세스의 기본 계층 뷰를 나타낸다. 다른 모든 관점에서, 이 뷰는 다중 프로세스를 단지 나타내는 제11도와 같은 다른 프로세스(304)의 스크린과 동일하다. 페어런트(parent) 클래스 또는 수퍼 클래스(3703)는 "작업 항목"이다. "변화"(3704)는 현재 프로세스(304)일 수 있다. 서브프로세스(304) "엔지니어링 변화" (3705)는 정의적인 프로세스(304)의 구성요소를 제공하기 위해 어떠한 계승 구조가 발생할 수 있는가를 거의 계층적인 방식으로 나타낸다. 메뉴 바 항목의 관점에서, 뷰(3706)는 임의의 다른 프로세스(304) 유형 뷰와 같이 처리된다. 동작(3707) 및 선택(3708)은 또한 뷰를 갖는 제26도 및 제27도에 도시한 것과 동일한 임의의 다른 프로세스 지향 스크린과 동일하게 제어된다.37 shows a hierarchical view of process 304. Title 3701 has a hierarchy of "processes, changes, views". Field 3702 represents a base hierarchical view of the process. In all other respects, this view is the same as the screen of another process 304, such as FIG. 11, which merely represents multiple processes. Parent class or super class 3703 is a "work item". "Change" 3704 may be current process 304. Subprocess 304 " engineering change " 3705 indicates in a nearly hierarchical manner what inheritance structures can occur to provide the components of a definitive process 304. In terms of menu bar items, view 3706 is treated like any other process 304 type view. Operation 3707 and selection 3708 are also controlled to be the same as any other process oriented screen that is the same as shown in FIGS. 26 and 27 with views.

요약하면, 전술한 내용은 시스템이 매우 효율적이고 일체화된 시스템을 제공하도록 사용될 수 있는 방법에 관한 것이며, 여기서 프로세스가 준비 또는 완료 상태에 존재한 이후 활용될 수 있는 임의의 다른 프로젝트(301)와 유사하다. 그리고 프로젝트(301)는 잘 정의된 프로세스(304)또는 다소 특정한 것 등을 갖는 기능을 갖는다. 사용자는 이들 기능이 수행할 수 있는 동작 및 그들이 소유하거나 또는 개시하는 프로젝트(301)를 볼 수 있는 기능을 갖는다. 사용자는 현재 대기중인 동작이 어떠한 동작인지 알 수 있는 명확한 방법을 가지며, 이 방법은 사용자가 주의를 필요로 하는 이들 프로젝트(301)상에 용이하게 촛점을 맞출 수 있도록 한다. 그리고, 계승의 장점을 취할 수 있는 풍부한 정의적 구조가 구현되어 임의의 계층레벨로 되어 있는 매우 복잡한 프로세스(304)를 기술하도록 하며, 이 서브클래스, 수퍼클래스 배열을 통한 계승의 장점을 취할 수 있다.In summary, the foregoing is directed to how a system can be used to provide a very efficient and integrated system, similar to any other project 301 that can be utilized after the process is in a ready or completed state. Do. And project 301 has a function with a well defined process 304 or rather specific. The user has the ability to see the operations that these functions can perform and the projects 301 they own or initiate. The user has a clear way of knowing what actions are currently pending, which allows the user to easily focus on those projects 301 that require attention. In addition, a rich definitional structure that can take advantage of inheritance is implemented to describe a very complex process 304 at any hierarchical level, which can take advantage of inheritance through subclass and superclass arrays. .

전술한 하드웨어를 유념하면, 본 발명의 프로세스(304)관련 특성을 설명하는 것이 가능하다. 본 발명의 이들 특성을 더 명백히 설명하기 위해, 당업자에게 명백한 다른 통상적인 특성에 대한 논의는 생략된다. 당업자는 다중사용자, 멀티 프로세스 운영 체제, 특히 가상 메모리, 프로세서 스케쥴링, 프로세스와 프로세서 모두를 위한 동기화 설비, 메시지 전송, 통상적인 장치 드라이버, 터미날 및 네트워크 지원, 시스템 초기화, 인터럽트 관리, 시스템 호출 기능, 관리 설비를 포함하는 이러한 메모리 관리용의 운영 체제의 요건을 잘 이해한다고 가정한다.With the above hardware in mind, it is possible to describe the characteristics related to the process 304 of the present invention. In order to more clearly explain these characteristics of the present invention, the discussion of other conventional characteristics apparent to those skilled in the art is omitted. Those skilled in the art will appreciate multiuser, multiprocess operating systems, in particular virtual memory, processor scheduling, synchronization facilities for both processes and processors, message transfer, conventional device drivers, terminal and network support, system initialization, interrupt management, system call functions, management It is assumed that you understand the requirements of this operating system for memory management, including facilities.

본 발명의 대부분의 장치는 당업자에게는 잘 알려진 전자 구성요소 및 전자회로로 구성되어 있기 때문에, 본 발명의 주요 개념을 이해하고 인식하는 데 필요한 부분을 제외한 회로의 상세한 설명은 개시되지 않는다.Since most of the apparatus of the present invention consists of electronic components and electronic circuits well known to those skilled in the art, detailed descriptions of the circuits are not disclosed except those necessary to understand and recognize the main concepts of the present invention.

이상 본 발명이 바람직한 실시예에 따라 구체적으로 설명되었지만, 본 발명은 상기 실시예에 한정되는 것은 아니며, 그 사상 및 범주를 이탈하지 않는 범위내에서 각종 변경, 대체, 변형이 가능함은 물론이다.Although the present invention has been described in detail according to a preferred embodiment, the present invention is not limited to the above embodiment, and various changes, substitutions, and modifications are possible without departing from the spirit and scope thereof.

Claims (20)

객체 지향 프로그래밍 언어 환경(object-oriented programming language environment)을 구현하는 데이타 프로세싱 시스템에서, 프로젝트를 관리하는 인간 지향 작업 환경(people-oriented work environment)을 표현하는 방법에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 상기 프로젝트를 객체형 소프트 웨어 패킷(object-like software packet)으로서 모델링(modeling)하는 단계와, 상기 객체 지향 프로그래밍 언어 환경내에서 상기 프로젝트의 결과를 객체형 소프트웨어 패킷으로 모델링하되, 상기 프로젝트는 상기 결과에 의해 정의되는 단계와, 상기 객체 지향 프로그래밍 언어 환경내에서 프로세스를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 프로세스는 상기 프로젝트의 속성을 계승하며, 상기 결과는 상기 프로세스에 의해 성취되는 단계를 포함하는 인간 지향 작업 환경 표현 방법.A method of representing a people-oriented work environment for managing a project in a data processing system that implements an object-oriented programming language environment, comprising: Modeling the project as an object-like software packet at and modeling the results of the project as an object-type software packet in the object-oriented programming language environment, wherein the project is A step defined by a result, and modeling the process as an object-type software packet within the object-oriented programming language environment, wherein the process inherits the attributes of the project, and the result is achieved by the process. Human oriented work Environmental representation method. 제1항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 상태를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 상태는 상기 프로세스의 속성을 계승하는 단계를 더 포함하는 인간 지향 작업 환경 표현 방법.The method of claim 1, further comprising modeling a state as an object-type software packet within the object-oriented programming language environment, wherein the state inherits attributes of the process. 제1항에 있어서, 상기 프로세스는 상태를 포함하되, 상기 상태는 상기 객체 지향 프로그래밍 언어 환경내에서 객체형 소프트웨어 패킷으로서 모델링되는 인간 지향 작업 환경 표현 방법.The method of claim 1, wherein the process includes a state, wherein the state is modeled as an object type software packet within the object oriented programming language environment. 제2항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 천이를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 천이는 상기 상태의 속성을 계승하는 단계를 더 포함하는 인간 지향 작업 환경 표현 방법.3. The method of claim 2, further comprising modeling the transition as an object-type software packet within the object-oriented programming language environment, wherein the transition inherits the attributes of the state. 제4항에 있어서, 상기 상태는 상기 프로젝트의 한 종류이고, 상기 천이는 상기 프로젝트의 한 종류인 인간 지향 작업 환경 표현 방법.5. The method of claim 4 wherein the state is one type of the project and the transition is one type of the project. 제1항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 동작을 객체형 소프트웨어 패킷으로서 모델링하되, 상기 동작은 상기 프로젝트내에 포함되는 단계를 더 포함하는 인간 지향 작업 환경 표현 방법.The method of claim 1, further comprising modeling an operation in the object-oriented programming language environment as an object-type software packet, the operation being included in the project. 제1항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 사용자를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 사용자는 상기 프로젝트를 소유하고/하거나 개시하는 단계를 더 포함하는 인간 지향 작업 환경 표현 방법.The method of claim 1, further comprising modeling a user as an object-type software packet within the object-oriented programming language environment, wherein the user owns and / or initiates the project. 제1항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 객체형 소프트웨어 패킷으로서 모델링된 상기 프로세스는,The process of claim 1, wherein the process modeled as an object type software packet in the object oriented programming language environment is as follows: (a) 진행 명시(in progress explicit) 상태 및 천이 상태와, (b) 작업 제품 서브프로젝트의 완료 대기 상태와, (c) 입력 대기 상태와, (d) 준비 상태 중 하나 이상의 상기 객체 지향 프로그래밍 언어 환경내에서 각각 객체형 소프트웨어 패킷인 인간 지향 작업 환경 표현 방법.the object-oriented programming language of at least one of (a) in progress explicit and transition states, (b) waiting for completion of a work product subproject, (c) waiting for input, and (d) ready. A human-oriented work environment representation method, each of which is an object type software packet in an environment. 제8항에 있어서, 상태 (a)의 완료시 상기 프로세스는 상태 (b), (c), 또는 (d)중의 하나로 천이하고, 상태(b)의 오나료시 상기 프로세스는 상태 (c) 또는 (d)중의 하나로 천이하며, 상태 (c)의 완료시 상기 프로세스는 상태 (d)로 천이하는 인간 지향 작업 환경 표현 방법.The process of claim 8, wherein upon completion of state (a), the process transitions to one of states (b), (c), or (d), and upon completion of state (b) the process comprises: state (c) or transition to one of (d), and upon completion of state (c) the process transitions to state (d). 제5항에 있어서, 상기 상태는 하나 이상의 상태를 포함하는 프로세스 객체에 의해 정의되는 인간 지향 작업 환경 표현 방법.6. The method of claim 5, wherein the state is defined by a process object that includes one or more states. 제1항에 있어서, 상기 프로세스가 이미 설정되고 하나 이상의 상태를 거쳐 천이하였을 때, 프로젝트 객체를 생성하여 상기 프로세서와 통합하는 단계를 더 포함하는 인간 지향 작업 환경 표현 방법.The method of claim 1, further comprising creating and integrating a project object with the processor when the process has already been established and transitioned through one or more states. 객체 지향 프로그래밍 언어 환경을 구현하고, 프로젝트를 관리하는 인간 지향 작업 환경 툴을 표현하며, 버스를 통해 접속된 프로세서, 저장 수단, 입력 수단 및 출력 수단을 포함하는 데이타 프로세싱 시스템에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 상기 프로젝트를 객체형 소프트 웨어 패킷으로서 모델링하는 수단과, 상기 객체 지향 프로그래밍 언어 환경내에셔 상기 프로젝트의 결과를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 프로젝트는 상기 결과에 의해 정의되는 수단과, 상기 긱체 지향 프로그래밍 언어 환경내에서 프로세스를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 프로세스는 상기 프로젝트의 속성을 계승하며, 상기 결과는 상기 프로세스에 의해 성취되는 수단을 포함하는 데이타 프로세싱 시스템,A data processing system that implements an object-oriented programming language environment, represents a human-oriented work environment tool for managing a project, and includes a processor, storage means, input means and output means connected via a bus, wherein the object-oriented programming Means for modeling the project as an object type software packet in a language environment, and modeling the result of the project as an object type software packet in the object oriented programming language environment, wherein the project is defined by the result; A data processing system in which the model is modeled as an object-type software packet within the text-oriented programming language environment, the process inherits the attributes of the project, and the result is achieved by the process; 제12항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 상태를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 상태는 상기 프로세스의 속성을 계승하는 수단을 더 포함하는 데이타 프로세싱 시스템.13. The data processing system of claim 12, wherein the state is modeled as an object type software packet within the object oriented programming language environment, the state further comprising means for inheriting an attribute of the process. 제12항에 있어서, 상기 프로세스는 상태를 포함하되, 상기 상태는 상기 객체 지향 프로그래밍 언어 환경내에서 객체형 소프트웨어 패킷으로서 모델링되는 데이타 프로세싱 시스템.13. The data processing system of claim 12, wherein the process includes a state, wherein the state is modeled as an object type software packet within the object oriented programming language environment. 제13항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 천이를 객체형 소프트웨어 패킷으로서 모델링하되, 상기 천이는 상기 상태의 속성을 계승하는 수단을 더 포함하는 데이타 프로세싱 시스템.14. The data processing system of claim 13, wherein the transition is modeled as an object-type software packet within the object-oriented programming language environment, wherein the transition further comprises means for inheriting an attribute of the state. 제15항에 있어서, 상기 상태는 상기 프로젝트의 한 종류이고, 상기 천이는 상기 프로젝트의 한 종류이며, 상기 상태는 하나 이상의 상태를 포함하는 프로세스 객체에 의해 정의되는 데이타 프로세싱 시스템.16. The data processing system of claim 15, wherein the state is a type of the project, the transition is a type of the project, and the state is defined by a process object that includes one or more states. 제12항에 있어서, 상기 객체 지향 프로그래밍 언어 환경내에서 객체형 소프트웨어 패킷으로서 모델링된 상기 프로세스는, (a) 진행 명시 상태 및 천이 상태와, (b) 작업 제품 서브프로젝트의 완료 대기 상태와, (c) 입력 대기 상태와, (d) 준비 상태 중 하나 이상의 상탱 의해 정의되며, 상기 상태는 상기 객체 지향 프로그래밍 언어 환경내에서 각각 객체형 소프트웨어 패킷인 데이타 프로세싱 시스템.13. The process of claim 12, wherein the process modeled as an object-type software packet in the object-oriented programming language environment comprises (a) a progress specification state and a transition state, (b) a wait state for completion of a work product subproject, c) an input wait state and (d) one or more of a ready state, wherein each state is an object-type software packet in the object-oriented programming language environment. 제17항에 있어서, 상태 (a)의 완료시 상기 프로세스는 상태 (b), (c), 또는 (d)중의 하나로 천이하고, 상태 (b)의 완료시 상기 프로세스는 상태 (c)또는 (d)중의 하나로 천이하며, 상태 (c)의 완료시 상기 프로세스는 상태 (d)로 천이하는 데이타 프로세싱 시스템.18. The process of claim 17, wherein upon completion of state (a) the process transitions to one of states (b), (c), or (d), and upon completion of state (b) the process is either state (c) or ( d) transition to one of the following, and upon completion of state (c) the process transitions to state (d). 제12항에 있어서, 상기 프로세스가 이미 설정되고 하나 이상의 상태를 거쳐 천이하였을 때, 프로젝트 객체를 생성하여 상기 프로세스와 통합하는 수단을 더 포함하는 데이타 프로세싱 시스템.13. The data processing system of claim 12, further comprising means for creating and integrating a project object when the process has already been established and transitioned through one or more states. 제12항에 있어서, 상기 프로세서에 접속되어, 상기 프로젝트 및 상기 프로세스를 나타내는 그래픽 사용자 인터페이스를 디스플레이하는 디스플레이 수단을 더 포함하는 데이타 프로레싱 시스템.13. The data processing system of claim 12, further comprising display means connected to the processor for displaying a graphical user interface representing the project and the process.
KR1019950056858A 1995-01-20 1995-12-26 A people oriented work environment tool and data processing system KR100229775B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37575795A 1995-01-20 1995-01-20
US08/375,757 1995-01-20
US8/375,757 1995-01-20

Publications (2)

Publication Number Publication Date
KR960029972A KR960029972A (en) 1996-08-17
KR100229775B1 true KR100229775B1 (en) 1999-11-15

Family

ID=23482199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950056858A KR100229775B1 (en) 1995-01-20 1995-12-26 A people oriented work environment tool and data processing system

Country Status (1)

Country Link
KR (1) KR100229775B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100319776B1 (en) * 1999-12-23 2002-01-05 오길록 Apparatus and method for software process modeling

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100319776B1 (en) * 1999-12-23 2002-01-05 오길록 Apparatus and method for software process modeling

Also Published As

Publication number Publication date
KR960029972A (en) 1996-08-17

Similar Documents

Publication Publication Date Title
US5671360A (en) Project management tool implementing authority for a people oriented work environment tool
JP3162991B2 (en) Method and system for representing a human-oriented work environment in a data processing system
US6308161B1 (en) System and method for business process space definition
AU2001249273B2 (en) Method and system for top-down business process definition and execution
US5864480A (en) Computer-implemented electronic product development
US7451432B2 (en) Transformation of componentized and extensible workflow to a declarative format
US7464366B2 (en) Programming interface for a componentized and extensible workflow model
US5999911A (en) Method and system for managing workflow
US6532471B1 (en) Interface repository browser and editor
Schlungbaum Model-based user interface software tools current state of declarative models
US5530861A (en) Process enaction and tool integration via a task oriented paradigm
US5193183A (en) System for accessing design data of modeler subsystems by reference to partnership set and for dynamically correlating design data of modeler subsystems
US20130238386A1 (en) Modeling of business process data
AU2001249273A1 (en) Method and system for top-down business process definition and execution
MX2008011910A (en) Asynchronous fault handling in process-centric programs.
Breedvelt-Schouten et al. Reusable structures in task models
Vanderdonckt et al. A Design Space for Context-Sensitive User Interfaces.
Bastide et al. Integrating rendering specifications into a formalism for the design of interactive systems
KR100229775B1 (en) A people oriented work environment tool and data processing system
Griffiths et al. Exploiting model-based techniques for user interfaces to databases
Lonchamp CPCE: a kernel for building flexible collaborative process-centered environments
US20040068428A1 (en) Management of business process application execution
Gomaa et al. Towards a better model based user interface development environment: A comprehensive survey
Grundy et al. Low-level and high-level CSCW support in the Serendipity process modelling environment
Bastide et al. Implementation Techniques for Petri Net Based Specifications of Human-Computer Dialogues.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee