KR20010064236A - A detecting method of use error for process class definition in object-oriented CHILL - Google Patents

A detecting method of use error for process class definition in object-oriented CHILL Download PDF

Info

Publication number
KR20010064236A
KR20010064236A KR1019990062386A KR19990062386A KR20010064236A KR 20010064236 A KR20010064236 A KR 20010064236A KR 1019990062386 A KR1019990062386 A KR 1019990062386A KR 19990062386 A KR19990062386 A KR 19990062386A KR 20010064236 A KR20010064236 A KR 20010064236A
Authority
KR
South Korea
Prior art keywords
class
attribute
process class
result
abstract
Prior art date
Application number
KR1019990062386A
Other languages
Korean (ko)
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 오길록
Priority to KR1019990062386A priority Critical patent/KR20010064236A/en
Publication of KR20010064236A publication Critical patent/KR20010064236A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis

Abstract

PURPOSE: A method for detecting an error with respect to a process class definition using of an objected-oriented CHILL is provided to detect an attribute clearing error of an abstraction/completion process object, a result mode clearing error of an element procedure having an internal visualization and a transient clearing error in a static compile time for preventing an access error of an object constituting element which may be generated at an execution of an objected-oriented program in a single succession of a process class. CONSTITUTION: It is decided whether an inputted process class entry has an abstraction attribute(S201). An abstraction/completion attribute error is detected at a static time in a compile processing time by perceiving information with respect to a completion attribute of an abstraction process class entry and an existing or not of the upper class and an upper/lower class relation, an existing or not of a result mode with respect to a clearing of an element procedure having an internal visualization, a condition_collection of a signal and a transient clearing or not. An abstraction/completion attribute error is detected at a static time in a compile processing time by perceiving information with respect to a completion attribute of a node process class entry and an existing or not of the upper class and upper/lower class relation, an existing or not of a result mode with respect to a clearing of an element procedure having an internal visualization, a condition_collection of a signal and a transient clearing or not.

Description

객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류 탐지 방법 {A detecting method of use error for process class definition in object-oriented CHILL}A detecting method of use error for process class definition in object-oriented CHILL}

본 발명은 객체지향 칠 컴파일러의 정적(static) 데이터 어의 분석기에서 프로세스 클래스의 계층 구조를 형성하고 프로세스 객체를 생성할 때 객체 구성 원소의 접근 오류를 미연에 방지하기 위한 프로세스 클래스 그 자체의 추상/종료 속성 및 비동기 통신에 사용되는 시그널들에 기반한 상태_집합/천이의 오류 탐지 방법에 관한 것으로, 특히 객체지향 칠 언어의 단일 상속하에서 프로세스 클래스 계층 구조에 대한 프로세스 클래스를 정의할 때 프로세스 클래스에 부여하는 추상/종료 속성의 잘못된 명시(오류) 및 내부(internal) 가시성의 원소 프로시듀어가 상태_집합/천이에 잘못되게 명시하는 오류를 탐지하는 방법에 관한 것이다.The present invention provides an abstraction of the process class itself in order to form a hierarchy of process classes in the analyzer of static data words of the object-oriented fill compiler and to prevent access errors of the object elements when creating process objects. Error detection method of state_set / transition based on termination attribute and signals used for asynchronous communication. Specifically, it is given to process class when defining process class for process class hierarchy under single inheritance of object-oriented fill language. This method relates to a method for detecting an error in which an incorrectly specified (error) of an abstract / end attribute and an element procedure of internal visibility are incorrectly specified in a state_set / transition.

현재 국제전기통신연합-통신부(ITU-T : Telecommunication part of International Telecommunication Union)에서 전기통신 구현용 표준화 프로그래밍 언어로 권고하고 있는 객체지향 칠 언어는 모듈성, 병행성, 분산성, 실시간성, 강한 타입 점검(strongly type checking) 기능 및 분리 컴파일 기능 등과 같은 기존 칠 기능 외에 객체지향성(object-orientation), 포괄성(genericity) 및 중복성(overloading) 기능 등을 갖는다.Currently, the object-oriented Chill language, recommended by the Telecommunication part of International Telecommunication Union (ITU-T) as a standardized programming language for telecommunications implementation, is modular, parallel, distributed, real-time, strong type checking. It has object-orientation, genericity and overloading functions in addition to existing fill functions such as strongly type checking and decompilation.

국제전기통신연합-통신부(ITU-T)는 새로운 통신용 소프트웨어 시스템을 구축하고자 할 때 확장이 용이하고, 기존 프로그램의 재사용성(reusability)과 모듈성(modularity)을 높이고, 사용자가 손쉽게 프로그래밍할 수 있도록 많은 언어적 구문과 기능들을 객체지향 칠 언어에 도입하여 표준화하고 있다.The International Telecommunication Union-Telecommunications Department (ITU-T) is easy to expand when building new communication software systems, improves the reusability and modularity of existing programs, and allows users to easily program them. Linguistic syntax and functions have been introduced into the object-oriented fill language and standardized.

일반적으로 교환기에는 병행 객체지향 프로그래밍에 의한 소프트웨어 실행에신뢰성이 요구된다. 그래서, 병행 객체지향 프로그램 실행의 신뢰성을 위한 강한 타입 점검 기능을 수행하기 위해 객체를 포함한 각종의 데이터들을 정의할 때 많은 데이터 속성을 요구한다.In general, exchanges require reliability for software execution by parallel object-oriented programming. Therefore, many data attributes are required when defining various types of data including objects in order to perform strong type checking for reliability of parallel object-oriented program execution.

그러나, 다른 기존의 객체지향 프로그래밍 언어는 실행 성능을 높이기 위해 정적 클래스 속성과 타입 점검을 약하게 정의하는 경향이 있는데, 이는 객체지향 프로그래밍을 손쉽게 유도하지만 객체지향 프로그램의 실행 오류를 유발시키는 중요한 문제점이 있었다.However, other existing object-oriented programming languages tend to weakly define static class properties and type checking to improve execution performance, which leads to easy object-oriented programming but has an important problem that causes execution errors in object-oriented programs. .

상기 문제점을 해결하기 위하여 안출된 본 발명은, 프로세스 클래스의 단일 상속하에서 객체지향 프로그램 실행시 일어날 수 있는 객체 구성 원소의 접근 오류를 미연에 방지하기 위해 추상/종료 프로세스 객체의 속성 명시 오류와 내부 가시성을 갖는 원소 프로시듀어의 결과 모드 명시 오류 및 상태_집합과 천이 명시 오류를 정적인 컴파일 시간에 탐지하는 방법을 제공하는데 그 목적이 있다.In order to solve the above problems, the present invention provides a property specification error and an internal visibility error of an abstract / termination process object in order to prevent an access error of an object constituent element that may occur when executing an object-oriented program under a single inheritance of a process class. Its purpose is to provide a method for detecting the result mode specification error and the state_set and transition specification error of an element procedure with static at compile time.

도 1은 본 발명이 적용되는 하드웨어 시스템의 일실시예 구성도.1 is a configuration diagram of an embodiment of a hardware system to which the present invention is applied.

도 2는 본 발명의 실시예에 따른 객체지향 칠의 프로세스 클래스를 정의할 때 사용자의 프로그래밍 오류를 탐지하는 방법에 대한 흐름도.2 is a flow chart of a method for detecting a programming error of a user when defining a process class of an object-oriented fill in accordance with an embodiment of the present invention.

도 3은 객체지향 칠로 명시된 "스택" 프로세스 클래스 정의문의 일 예시도3 is an exemplary diagram of a "stack" process class definition statement specified as an object-oriented fill.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

101 : 메인 메모리 보드 102 : 중앙 처리 장치101: main memory board 102: central processing unit

103 : 유닉스 운영체제 104 : 보조 기억 장치103: Unix operating system 104: auxiliary storage

105 : 입/출력 장치 106 : 시스템 버스105: input / output device 106: system bus

상기한 목적을 달성하기 위한 본 발명은 객체지향 칠 언어의 프로세스 객체 모델을 사용자가 올바로 사용하고 있는가를 컴파일-시간에 점검하는 방법으로, 입력된 프로세스 클래스 엔트리가 추상 속성을 가지고 있는지를 판단하는 제1과정; 입력된 추상 프로세스 클래스 엔트리의 종료 속성과 상위 클래스 존재 유무 및 상/하위 클래스 관계, 내부 가시성의 원소 프로시쥬어 명시에 대한 결과 모드 존재 유무 및 시그널에 대한 상태_집합과 천이 명시 여부에 대한 정보를 파악하여 컴파일 수행 시간에 추상/종료 속성 오류를 정적인 시간에 탐지하는 제2과정; 및 입력된 노드 프로세스 클래스 엔트리의 종료 속성과 상위 클래스 존재 유무 및 상/하위 클래스 관계, 내부 가시성의 원소 프로시쥬어 명시에 대한 결과 모드 존재 유무 및 시그널에 대한 상태_집합과 천이 명시 여부에 대한 정보를 파악하여 컴파일 수행 시간에 추상/종료 속성 오류를 정적인 시간에 탐지하는 제3과정을 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a method for checking at compile time whether a user correctly uses a process object model of an object oriented fill language, the first method of determining whether an input process class entry has an abstract attribute. process; Compiles the information about the exit attribute of the input abstract process class entry, the existence of the parent class and the parent / child class relationship, the result mode for specifying the element procedure of internal visibility, and the state_set and transition for the signal. A second step of detecting abstract / end attribute errors at a static time at execution time; And information about the exit attribute of the input node process class entry, whether there is a parent class and parent / child class relationship, whether there is a result mode for specifying element procedure of internal visibility, and whether state_set and transition for signal are specified. And a third step of detecting an abstract / end attribute error at a static time at compile time.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1는 본 발명이 적용되는 하드웨어 시스템의 구성도로서, 메인 메모리 보드(101), 중앙 처리 장치(102), 유닉스 운영체제(103), 보조 기억 장치(104) 및 입/출력 장치(105)가 시스템 버스(106)를 통해 연결되어 구성된다.1 is a configuration diagram of a hardware system to which the present invention is applied, wherein a main memory board 101, a central processing unit 102, a Unix operating system 103, an auxiliary storage device 104, and an input / output device 105 are provided. It is configured to be connected via a system bus 106.

도시한 각 블록들의 기능을 살펴보면, 메인 메모리 보드(101)는 객체지향 칠 컴파일러가 탑재되는 보드이고, 중앙 처리 보드는(102)는 메인 메모리 보드(101)에 탑재된 컴파일러를 수행시키는 보드이다. 입/출력 장치(105)는 객체지향 칠 프로그램을 입력으로 받아 그 수행 결과를 보여주는 장치이다. 유닉스(UNIX) 운영 체제(103)는 상기 보드 및 장치를 제어하고, 각 보드 및 장치간에 주고 받는 메시지는 시스템 버스(106)를 통하여 전달된다.Looking at the function of each block shown, the main memory board 101 is a board on which the object-oriented Chill compiler is mounted, the central processing board 102 is a board for executing the compiler mounted on the main memory board (101). The input / output device 105 is a device that receives an object-oriented fill program as an input and shows a result of the execution. The UNIX operating system 103 controls the boards and devices, and messages sent and received between each board and device are transmitted through the system bus 106.

한편, 종래의 병행 객체 실행 모델은 클래스/객체를 중심으로 한 원소 프로시듀어에 병행적인 쓰레드를 구동시킴으로써 병행 객체들간에 쓰레드 종속성이 발생하여 마스터(master) 병행 객체가 종료하기 위해서는 이의 슬레이브(slave) 병행 객체가 모두 종료할 때 까지 기다려야 하는 실행의 비효율성을 내재하였다. 비록 이를 어느 정도 회피하기 위해 병행 객체의 사용 메모리를 힙 영역으로 제한 사용(Java 언어)하기도 했지만, 고아 병행 객체의 쓰레기 소거(Garbage Collection) 기능을 가져 특정 시간 때에 이를 수행시킴으로써 실시간 제약성을 어느 정도 위배하는 결과를 가졌다. 따라서 쓰레드 종속성을 아예 내재하지 않는 프로세스 객체 모델을 객체지향 칠에 도입하고 그 체계를 정립함으로써, 실시간 내장형 통신 시스템에 적합한 통신 구현용 프로그래밍 언어가 될 수 있다.On the other hand, in the conventional parallel object execution model, a thread dependency occurs between parallel objects by driving parallel threads in an element procedure centered on a class / object, so that a master parallel object terminates its slave. This implies the inefficiency of execution, which must wait until all concurrent objects are terminated. Although the use of parallel objects is limited to the heap area (Java language) to avoid this to some extent, it has a garbage collection function of orphan parallel objects, which violate some of the real-time constraints by performing them at specific times. Had the result. Therefore, by introducing a process object model that does not have thread dependencies at all in object-oriented painting and establishing a system, it can be a programming language for communication implementation suitable for a real-time embedded communication system.

본 발명의 이해를 돕기 위해 객체지향 칠로 명시된 "스택" 프로세스 클래스 정의문의 일예를 도 3에 나타내었다.An example of a "stack" process class definition statement specified as an object-oriented fill is shown in FIG. 3 to facilitate understanding of the present invention.

도 3의 예제는 스택 행위를 하는 프로세스 클래스 정의문으로써 모레타 모드처럼 명세부와 본체부로 분리되어 있지만, 캡슐화같은 객체 가시성은 없고 시그널로 통신하는 구조를 갖는다. 프로세스 객체 모델은 기존 병행 객체지향 프로그래밍 언어처럼 속성과 메소드만을 상속하는 것이 아니라 프로세스의 내부 상태(외부 시그널을 조건부로 접수할 수 있는 통신 프로토콜의 현재 가용 상태를 가리킴)도 상속할 수 있다. 그리고 프로세스 클래스는 타스크 클래스와 달리 쓰레드 구동 프로시듀어속에 순차 객체를 갖고 있어 새로이 생성되는 프로세스 객체는 다른 병행 개체들과 아무런 쓰레드 종속성을 갖지 않는다.The example of FIG. 3 is a process class definition statement that performs a stacking operation, but is separated into a specification part and a body part like a moreta mode. The process object model, like traditional parallel object-oriented programming languages, inherits not only properties and methods, but can also inherit the internal state of the process (which indicates the current available state of the communication protocol that can conditionally accept external signals). And unlike task classes, process classes have sequential objects in thread-driven procedures, so newly created process objects have no thread dependencies with other parallel objects.

이러한 프로세스 클래스 정의 방법은 통신 시스템의 S/W 구조를 객체지향화하고 컴포넌트화하는데 매우 중요한 기능으로써 컴파일러가 이의 정의 오류를 정확히 판단할 필요가 생긴다.This process class definition method is a very important function to object-oriented and componentize the S / W structure of a communication system, and the compiler needs to accurately determine its definition error.

도 2는 객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류를 판단하기 위해 클래스 정의문을 조사하는 흐름도이다.2 is a flow chart of examining class definition statements to determine errors in the use of process class definitions in object-oriented painting.

먼저, 입력된 프로세스 클래스 정의 엔트리가 추상 속성을 가지고 있는지를 판단한다(S201). 이는 프로그래머가 새로운 프로세스 클래스를 정의할 때 추상 속성을 명시하거나 안할 수도 있기 때문에 이의 우선적 판별이 수행되어야 한다.First, it is determined whether the input process class definition entry has an abstract attribute (S201). This is because the programmer may or may not specify an abstract attribute when defining a new process class.

단계 S201에서의 판단 결과, 입력된 프로세스 클래스가 추상 속성을 가지고 있다면, 이에 대한 검증 작업으로써 추상 속성 명시에 따른 프로세스 클래스 자신 내부의 구성 원소가 내부 가시성의 불완전 프로시쥬어를 적어도 하나 이상 갖는지를 판단한다(S202). 이는 적어도 하나 이상 가지면 추상 속성을 갖기 때문이다. 만일, 적어도 하나 이상의 내부 가시성을 갖는 불완전 원소 프로시쥬어를 갖지 않는다면, 추상 프로세스 클래스의 정의 규칙에 위배되므로 해당 오류를 출력하고 종료한다(S11).As a result of the determination in step S201, if the input process class has an abstract attribute, as a verification operation, it is determined whether a component inside the process class itself according to the abstract attribute specification has at least one incomplete procedure of internal visibility ( S202). This is because at least one has an abstract property. If it does not have an incomplete element procedure having at least one internal visibility, it violates the definition rule of the abstract process class and outputs the corresponding error (S11).

그러나 단계 S202에서의 판단 결과, 하나 이상 갖는다면 추상 프로세스 클래스가 종료 속성을 갖는가를 판단한다(S203). 그 결과, 종료 속성을 갖는다면 추상 프로세스 클래스가 더 이상 확장할 수 없어 노드 하위 클래스가 생성될 수 없기 때문에 추상 개념에 위배되므로 해당 오류를 출력하고 종료한다(S211).However, as a result of the determination in step S202, if there is more than one, it is determined whether the abstract process class has a termination attribute (S203). As a result, if it has a termination attribute, the abstract process class can no longer be extended and a node subclass cannot be generated, thus violating the abstract concept and outputting the corresponding error and terminating (S211).

그리고, 단계 S201에서의 판단 결과 입력된 프로세스 클래스가 추상 속성을 갖지 않는다면, 이에 대한 검증 작업으로써 노드 속성에 따른 프로세스 클래스 자신 내부의 구성 원소가 내부 가시성의 불완전 프로시쥬어를 적어도 하나 이상 갖는지를 판단한다(S204). 이는 적어도 하나 이상 가지면 노드 속성을 위배하기 때문이다. 만일, 적어도 하나 이상의 내부 가시성을 갖는 불완전 원소 프로시쥬어를 갖는다면, 노드 프로세스 클래스의 정의 규칙에 위배되므로 해당 오류를 출력하고 종료한다(S211).If the process class inputted as a result of the determination in step S201 does not have an abstract attribute, the verification operation determines whether an element inside the process class itself according to the node attribute has at least one incomplete procedure of internal visibility ( S204). This is because having at least one violates node attributes. If there is an incomplete element procedure having at least one internal visibility, it violates the definition rule of the node process class and outputs the corresponding error and terminates (S211).

단계 S204에서의 판단결과 불원전 원소 프로시듀어를 하나도 갖지 않는다면 노드 프로세스 클래스가 종료 속성을 갖는가를 판단한다(S205). 판단 결과, 노드 프로세스 클래스가 종료 속성을 갖는다면 노드 프로세스 클래스가 더 이상 확장할 수 없는데, 노드 프로세스 클래스의 상위 클래스가 종료 속성을 갖는지를 판단하여(S206) 노드 프로세스 클래스의 상위 클래스가 종료 속성을 가지면 현재 노드 클래스를 생성할 수 없으므로 해당 오류를 출력하고 종료한다(S211).If the determination result in step S204 does not have any non-nuclear element procedures, it is determined whether the node process class has the termination attribute (S205). If it is determined that the node process class has an exit attribute, the node process class can no longer be extended, and it is determined whether the parent class of the node process class has an exit attribute (S206). If so, the current node class cannot be generated, and thus the corresponding error is output and terminated (S211).

상기 단계 S203 및 205에서의 판단 결과, 추상/노드 프로세스 클래스가 종료 속성을 갖지 않으면 해당 프로세스 클래스가 상위 클래스 이름을 갖는지를 판단한다(S207). 그 결과, 상위 클래스 이름을 갖는다면 그 이름이 프로세스 클래스 이름인지를 판단하여(S208), 프로세스 클래스 이름이 아니면 프로세스 클래스 상속 원칙(단일 상속하의 동종 상속만을 허용)에 위배하므로 해당 오류 메시지를 출력하고종료한다(S211).As a result of the determination in steps S203 and 205, if the abstract / node process class does not have a termination attribute, it is determined whether the corresponding process class has an upper class name (S207). As a result, if it has a parent class name, it is determined whether the name is a process class name (S208), and if it is not a process class name, it violates the principle of process class inheritance (allowing homogeneous inheritance under single inheritance only) and outputs an error message. It ends (S211).

상기 단계 S207에서의 판단결과 해당 프로세스 클래스가 상위 이름을 갖지 않거나, 상기 단계 S208에서의 판단결과 상위 이름이 프로세스 클래스 이름이거나, 또는 단계 S206에서의 판단결과 노드 프로세스 클래스의 상위 클래스가 종료 속성을 갖니 않으면 내부 가시성을 갖는 원소 프로시쥬어가 결과 모드를 갖는지를 판단한다(S209). 왜냐하면 내부 가시성을 갖는 원소 프로시듀어는 프로세스의 시그널 접수에 따른 원소 프로시쥬어 호출을 유발하므로 시그널 처럼 결과 모드를 갖지 말아야 하기 때문이다.As a result of the determination in step S207, the corresponding process class does not have an upper name, or, as a result of the determination in the step S208, the upper name is a process class name, or in step S206, the higher class of the node process class has an end attribute. If not, it is determined whether the element procedure having the internal visibility has the result mode (S209). Because an element procedure with internal visibility causes an element procedure call upon receipt of a signal from the process, it should not have a result mode like a signal.

단계 S209에서의 판단 결과, 결과 모드를 가지면 해당 오류 메시지를 출력하고 종료하고(S211), 그렇지 않으면 프로세스 클래스가 접수할 시그널들에 대해 접수 가용한 상태_집합(STATE_SETS)과 상태 변동(TRANSITION)을 나타내는 천이 정보를 갖는가를 판단한다(S210). 왜냐하면, 프로세스 클래스는 타스크 모드와 달리 메소드 호출에 의한 메시지 전송이 아니라 시그널 통신에 의한 메시지 전송을 하고 시그널을 접수할 수 있는 프로세스 내부의 가용 상태 및 상태 천이 동작을 반드시 가져야 하기 때문이다. 판단 결과, 상태_집합과 천이를 갖지 않는다면 프로세스 클래스 정의 원칙을 위배하므로 해당 오류 메시지를 출력하고 종료하고(S211), 상태_집합과 상태 변동을 나타내는 천이 정보를 모두 갖는다면 프로세스 클래스 정의 규칙을 모두 만족하므로 정상 종료하게 된다.As a result of the determination in step S209, if there is a result mode, the corresponding error message is output and terminated (S211), otherwise, the process class receives the available state_sets and state variations for the signals to be received. It is determined whether there is the transition information indicated (S210). This is because, unlike task mode, a process class must have an available state and a state transition operation inside a process that can transmit a message and receive a signal through a signal communication, not a message through a method call. If it is determined that there is no state_set and transition, it violates the principle of process class definition. Therefore, the corresponding error message is output and terminated (S211). If the state_set and transition information representing state change are both present, all process class definition rules are satisfied. It will end normally.

상기와 같은 본 발명은, 프로세스 클래스의 단일 상속하에서 병행 객체지향 프로그램 실행시 일어날 수 있는 객체 구성 원소의 접근 오류를 미연에 방지하기 위해 추상/종료 속성과 시그널에 대한 상태_집합/천이 명시 오류를 정적인 컴파일 시간에 탐지하여 병행 객체지향 프로그램의 실행 정확성과 유연성을 향상시킴으로써, 프로세스 객체의 모듈성과 상속성에 대한 명시 규칙에 따른 사용 오류를 탐지할 수 있다.As described above, the present invention provides a state_set / transition specification error for an abstract / termination attribute and a signal in order to prevent an access error of an object component that may occur when executing a parallel object-oriented program under a single inheritance of a process class. By detecting at static compile time to improve the accuracy and flexibility of running parallel object-oriented programs, you can detect usage errors according to explicit rules about the modularity and inheritance of process objects.

이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.The technical spirit of the present invention has been described above with reference to the accompanying drawings, but this is by way of example only and not intended to limit the present invention. In addition, it is obvious that any person skilled in the art can make various modifications and imitations without departing from the scope of the technical idea of the present invention.

Claims (4)

객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류 탐지 방법에 있어서,In the error detection method for using the process class definition of object-oriented fill, 입력된 프로세스 클래스 엔트리가 추상 속성을 가지고 있는지를 판단하는 제1과정;A first step of determining whether an input process class entry has an abstract attribute; 입력된 추상 프로세스 클래스 엔트리의 종료 속성과 상위 클래스 존재 유무 및 상/하위 클래스 관계, 내부 가시성의 원소 프로시쥬어 명시에 대한 결과 모드 존재 유무 및 시그널에 대한 상태_집합과 천이 명시 여부에 대한 정보를 파악하여 컴파일 수행 시간에 추상/종료 속성 오류를 정적인 시간에 탐지하는 제2과정; 및Compiles the information about the exit attribute of the input abstract process class entry, the existence of the parent class and the parent / child class relationship, the result mode for specifying the element procedure of internal visibility, and the state_set and transition for the signal. A second step of detecting abstract / end attribute errors at a static time at execution time; And 입력된 노드 프로세스 클래스 엔트리의 종료 속성과 상위 클래스 존재 유무 및 상/하위 클래스 관계, 내부 가시성의 원소 프로시쥬어 명시에 대한 결과 모드 존재 유무 및 시그널에 대한 상태_집합과 천이 명시 여부에 대한 정보를 파악하여 컴파일 수행 시간에 추상/종료 속성 오류를 정적인 시간에 탐지하는 제3과정을 포함하는 것을 특징으로 하는 객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류 탐지 방법.Compiles the information about the exit attribute of the input node process class entry, whether there is a parent class, the parent / child class relationship, the result mode for specifying the element procedure of internal visibility, and the state_set and transition for the signal. And a third step of detecting an abstract / termination attribute error at a static time at execution time. 제1항에 있어서,The method of claim 1, 상기 제2과정은,The second process, 추상 속성 명시에 따른 프로세스 클래스 자신 내부의 구성 원소가 내부 가시성의 불완전 프로시쥬어를 적어도 하나 이상 갖는지를 탐지하는 제1단계;Detecting whether an element within a process class itself according to the abstract attribute specification has at least one incomplete procedure of internal visibility; 상기 제1단계의 탐지 결과, 불완전 원소 프로시쥬어를 적어도 하나 이상 갖지 않는다면 해당 오류 메시지를 출력한 후 종료하고, 하나 이상 갖는다면 추상 프로세스 클래스가 종료 속성을 갖고 있는지를 판단하는 제2단계;A second step of outputting a corresponding error message if the at least one incomplete element procedure is not found and ending if the at least one incomplete element procedure is detected, and determining whether the abstract process class has a termination attribute; 상기 제2단계의 판단 결과, 종료 속성을 갖는다면 해당 오류 메시지를 출력한 후 종료하고, 그렇지 않는다면 추상 프로세스 클래스가 상위 클래스 이름을 갖는지를 판단하는 제3단계;A third step of outputting a corresponding error message and ending if it has a termination property as a result of the determination of the second step, otherwise determining whether the abstract process class has a higher class name; 상기 제3단계의 판단 결과, 상위 클래스 이름을 가질 때 상위 이름이 프로세스 클래스인지를 판단하는 제4단계;A fourth step of determining whether the upper name is a process class when the upper class name is determined as the determination result of the third step; 상기 제4단계의 판단 결과, 상위 이름이 프로세스 클래스가 아니면 해당 오류 메시지를 출력한 후 종료하고, 프로세스 클래스이면 구성 원소의 내부 가시성을 갖는 원소 프로시쥬어가 결과 모드를 갖는지를 판단하는 제5단계; 및A fifth step of determining whether an element procedure having internal visibility of the constituent elements has a result mode if the upper name is not a process class and outputs an error message if the upper name is not a process class; And 상기 제5단계의 판단 결과, 결과 모드를 가지면 해당 오류 메시지를 출력한 후 종료하고, 결과 모드를 갖지 않으면 상태_집합과 천이를 갖는지를 판단하는 제 6단계를 포함하는 것을 특징을 하는 객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류 탐지 방법.And as a result of the determination of the fifth step, outputting the corresponding error message when the result mode is finished and ending; if not having the result mode, determining a state_set and a transition; Error detection method for using process class definitions. 제1항 또는 제2항에 있어서,The method according to claim 1 or 2, 상기 제3과정은,The third process, 추상 속성을 명시하지 않은 노드 프로세스 클래스 자신 내부의 구성 원소가 내부 가시성의 불완전 프로시쥬어를 적어도 하나 이상 갖는지를 판단하는 제1단계;A first step of determining whether a component inside a node process class itself that does not specify an abstract attribute has at least one incomplete procedure of internal visibility; 상기 제1단계의 판단 결과, 불완전 원소 프로시쥬어를 적어도 하나 이상 가지면 해당 오류 메시지를 출력한 후 종료하고, 갖지 않는다면 노드 프로세스 클래스가 종료 속성을 갖고 있는지를 판단하는 제2단계;A second step of determining whether the node process class has a termination attribute if it has at least one incomplete element procedure as a result of the determination of the first step, outputting a corresponding error message and ending; 상기 제2단계의 판단 결과, 종료 속성을 가지면 노드 프로세스 클래스의 상위 클래스가 종료 속성을 갖는지를 판단하는 제3단계;A third step of determining whether a higher class of the node process class has an end attribute if it is determined that the second step has a termination attribute; 제3단계의 판단 결과, 노드 프로세스 클래스의 상위 클래스가 종료 속성을 가지면 해당 오류 메시지를 출력한 후 종료하는 제4단계;A fourth step of outputting a corresponding error message if the higher class of the node process class has a termination property as a result of the determination in the third step; 상기 제2단계의 판단 결과, 노드 프로세스 클래스가 종료 속성을 가지지 않으면 노드 프로세스 클래스가 상위이름을 갖는지를 판단하는 제5단계;A fifth step of determining whether the node process class has a higher name if the node process class does not have a termination attribute as a result of the determination of the second step; 상기 제5단계의 판단 결과, 상위 클래스 이름을 가지면 상위 이름이 프로세스 클래스인지를 판단하는 제6단계;A sixth step of determining whether the upper name is a process class if the upper class name is determined as the determination result of the fifth step; 상기 제6단계의 판단 결과, 상위 이름이 프로세스 클래스가 아니면 해당 오류 메시지를 출력한 후 종료하는 제7단계;A seventh step of outputting a corresponding error message if the upper name is not a process class as a result of the determination of the sixth step; 제3단계의 판단 결과, 노드 프로세스 클래스의 상위 클래스가 종료 속성을 갖지 않거나, 제5단계의 판단 결과 노드 프로세스 클래스가 상위 이름를 갖지 않거나, 또는 노드 프로세스 클래스가 갖는 상위 이름이 프로세스 클래스인 경우 구성 원소의 내부 가시성을 갖는 원소 프로시쥬어가 결과 모드를 갖는지를 판단하는 제8단계;When the parent class of the node process class does not have an exit attribute as a result of the determination in the third step, the node process class does not have a parent name, or the parent name of the node process class is the process class as a result of the determination in the fifth step An eighth step of determining whether the element procedure with the internal visibility of has the result mode; 상기 제8단계의 판단 결과, 결과 모드를 가지면 해당 오류 메시지를 출력한 후 종료하고, 결과 모드를 갖지 않으면 상태_집합과 천이를 갖는지를 판단하는 제9단계; 및A ninth step of outputting a corresponding error message if the result mode has a result mode and ending if it has a result mode, and determining whether there is a state_set and a transition if the result mode has no result mode; And 상기 제9단계에서의 판단 결과, 상태_집합과 천이를 갖지 않으면 해당 오류 메시지를 출력한 후 종료하고, 상태_집합과 천이를 모두 가지면 정상종료하는 제10단계를 포함하는 것을 특징을 하는 객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류 탐지 방법.As a result of the determination in the ninth step, if the state_set and the transition do not have a corresponding error message is outputted and ends, and if the state_set and the transition both have a tenth step of terminating normally; Error detection method for using process class definitions. 객체지향 칠의 프로세스 클래스 정의 사용에 대한 오류 탐지 방법을 제공하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체에 있어서,A computer-readable recording medium having recorded thereon a program that provides an error detection method for using a process class definition of an object-oriented fill, comprising: 입력된 프로세스 클래스 엔트리가 추상 속성을 가지고 있는지를 판단하는 제1과정;A first step of determining whether an input process class entry has an abstract attribute; 입력된 추상 프로세스 클래스 엔트리의 종료 속성과 상위 클래스 존재 유무 및 상/하위 클래스 관계, 내부 가시성의 원소 프로시쥬어 명시에 대한 결과 모드 존재 유무 및 시그널에 대한 상태_집합과 천이 명시 여부에 대한 정보를 파악하여 컴파일 수행 시간에 추상/종료 속성 오류를 정적인 시간에 탐지하는 제2과정; 및Compiles the information about the exit attribute of the input abstract process class entry, the existence of the parent class and the parent / child class relationship, the result mode for specifying the element procedure of internal visibility, and the state_set and transition for the signal. A second step of detecting abstract / end attribute errors at a static time at execution time; And 입력된 노드 프로세스 클래스 엔트리의 종료 속성과 상위 클래스 존재 유무 및 상/하위 클래스 관계, 내부 가시성의 원소 프로시쥬어 명시에 대한 결과 모드 존재 유무 및 시그널에 대한 상태_집합과 천이 명시 여부에 대한 정보를 파악하여컴파일 수행 시간에 추상/종료 속성 오류를 정적인 시간에 탐지하는 제3과정을 포함하는 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.Compiles information about the exit attribute of the input node process class entry and whether there is a parent class and parent / child class relationship, the result mode for specifying element procedure of internal visibility, and whether state_set and transition for signal are specified. A computer-readable recording medium having recorded thereon an executable program including a third step of detecting an abstract / termination attribute error at a static time at execution time.
KR1019990062386A 1999-12-27 1999-12-27 A detecting method of use error for process class definition in object-oriented CHILL KR20010064236A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990062386A KR20010064236A (en) 1999-12-27 1999-12-27 A detecting method of use error for process class definition in object-oriented CHILL

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990062386A KR20010064236A (en) 1999-12-27 1999-12-27 A detecting method of use error for process class definition in object-oriented CHILL

Publications (1)

Publication Number Publication Date
KR20010064236A true KR20010064236A (en) 2001-07-09

Family

ID=19629932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990062386A KR20010064236A (en) 1999-12-27 1999-12-27 A detecting method of use error for process class definition in object-oriented CHILL

Country Status (1)

Country Link
KR (1) KR20010064236A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100864012B1 (en) * 2006-12-07 2008-10-16 한국전자통신연구원 Scheduling error detecting and pdu encoding method in a node b of mobile communication system
KR100898650B1 (en) * 2004-09-23 2009-05-22 인텔 코오퍼레이션 Vectoring process-kill errors to an application program
US8121152B2 (en) 2006-12-07 2012-02-21 Electronics And Telecommunications Research Institute Method for encoding broadcast channel protocol data unit based on broadcast control channel scheduling error in universal mobile telecommunications system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100898650B1 (en) * 2004-09-23 2009-05-22 인텔 코오퍼레이션 Vectoring process-kill errors to an application program
KR100864012B1 (en) * 2006-12-07 2008-10-16 한국전자통신연구원 Scheduling error detecting and pdu encoding method in a node b of mobile communication system
US8121152B2 (en) 2006-12-07 2012-02-21 Electronics And Telecommunications Research Institute Method for encoding broadcast channel protocol data unit based on broadcast control channel scheduling error in universal mobile telecommunications system

Similar Documents

Publication Publication Date Title
Jeffrey et al. A fully abstract may testing semantics for concurrent objects
Gay et al. nesC 1.1 language reference manual
Parr et al. ANTLR: A predicated‐LL (k) parser generator
US7941303B1 (en) Event-based temporal logic
US9639332B2 (en) Applying coding standards in graphical programming environments
WO1999046689A9 (en) Execution of extended activity diagrams by code generation
Störzer et al. Interference analysis for AspectJ
Strulo How firing conditions help inheritance
WO2002027470A2 (en) Reusable parts for assembled software systems
Johnsen et al. Object-oriented specification and open distributed systems
KR20010064236A (en) A detecting method of use error for process class definition in object-oriented CHILL
Parr et al. Purdue compiler-construction tool set
Dovland et al. Observable behavior of dynamic systems: Component reasoning for concurrent objects
Burshteyn On the modification of the formal grammar at parse time
KR100277705B1 (en) Inheritance Constraint Detection Method for Subclass Attributes for Chill-96 Language Classes
KR20000033931A (en) Method of detecting error of abstract attribute about reference mode hierarchy construction below single inheritance
Jüttner et al. Integrating and testing of object-oriented software
KR100280187B1 (en) Error Detection Using Object Placement with Moreter Mode Under Single Inheritance
US5889998A (en) Translation scheme from object oriented chill to chill for the visibility of the mereta mode
Rahmati et al. Handling complex VHDL semantics with an OO intermediate format
Kyas An extended type system for OCL supporting templates and transformations
Chen et al. Slicing tagged objects in Ada
Dovland et al. A compositional proof system for dynamic object systems
Holz Towards an application of FDT within OOAD.
Csopaki et al. Communication protocol implementation in Java

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination