KR100367090B1 - 에스디엘의 시그널 수신에 의한 전이의 분할방법 - Google Patents

에스디엘의 시그널 수신에 의한 전이의 분할방법 Download PDF

Info

Publication number
KR100367090B1
KR100367090B1 KR10-1999-0020931A KR19990020931A KR100367090B1 KR 100367090 B1 KR100367090 B1 KR 100367090B1 KR 19990020931 A KR19990020931 A KR 19990020931A KR 100367090 B1 KR100367090 B1 KR 100367090B1
Authority
KR
South Korea
Prior art keywords
signal
transition
sub
node
dividing
Prior art date
Application number
KR10-1999-0020931A
Other languages
English (en)
Other versions
KR20010001592A (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 KR10-1999-0020931A priority Critical patent/KR100367090B1/ko
Publication of KR20010001592A publication Critical patent/KR20010001592A/ko
Application granted granted Critical
Publication of KR100367090B1 publication Critical patent/KR100367090B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 실시간 분산 시스템의 명세에 사용되는 에스디엘(SDL: Specification and Description Language)로 이루어진 소프트웨어의 명세를 객체지향 프로그래밍 언어로 변환하는 방법에 관한 것으로서, 특히 동적인 시그널 수신으로 인한 전이를 정적인 객체지향의 메소드로 변환하기 위하여 에스디엘의 전이를 분할하는 방법에 관한 것이다.
이러한 본 발명은, 에스디엘로 이루어진 교환기용 시스템 명세를 객체지향 언어로 변환하기 위하여 에스디엘의 시그널 수신에 의한 전이를 분할하는 방법에 있어서, 에스디엘의 각각의 프로세스마다 상태와 해당 상태에서의 수신 시그널을 쌍으로 하는 노드들로 이루어진 전이 트리를 생성하는 제1단계와, 상기 제1단계에서 생성된 전이 트리를 참조하여 프로세스와 수신 시그널, 그리고 프로세스 생성 관계로 이루어진 시그널 흐름 그래프를 생성하는 제2단계, 및 상기 제1단계와 제2단계에서 생성된 전이 트리와 시그널 흐름 그래프를 바탕으로 하여 시그널의 수신으로 인한 전이를 세분화하여 분할하는 제3단계를 포함한다.

Description

에스디엘의 시그널 수신에 의한 전이의 분할방법 { Method of split of transition caused by signal reception in SDL }
본 발명은 실시간 분산 시스템의 명세에 사용되는 에스디엘(SDL: Specification and Description Language)로 이루어진 소프트웨어의 명세를 객체지향 프로그래밍 언어로 변환하는 방법에 관한 것으로서, 특히 동적인 시그널 수신으로 인한 전이를 정적인 객체지향의 메소드로 변환하기 위하여 에스디엘의 전이를 분할하는 방법에 관한 것이다.
교환기와 같은 대형 시스템을 위한 소프트웨어는 긴 생명주기와 대규모 개발 인원이 필요하며 시스템의 요구 사항을 수용하고, 효율적인 유지보수를 지원할 수 있는 정형적인 명세와 검증방법이 필요하다. 따라서, 국제전신전화 자문위원회와 그의 후신인 국제표준화기구에서는 소프트웨어의 개발 초기에 에스디엘과 같은 형식 명세 언어를 이용하여 시스템을 명세할 것을 권고하고 있다. 여기서, 에스디엘(Specification and Description Language)은 통신시스템의 동작을 계층적 구조로 표현하고 시스템을 명확히 나타내기 위하여 국제전신전화 자문위원회와 국제표준화기구에서 표준화한 언어이다.
이러한 교환기용 소프트웨어는 티디엑스-텐(TDX-10: Time Division eXchange-10)과 같은 교환기를 제어하는 소프트웨어로서 독립적으로 수행이 가능한 모듈로 구성되어 있으며, 각 모듈은 하나 이상의 프로세스들로 이루어져 있다. 이러한 각 프로세스들은 시그널을 사용하여 동기화 및 통신을 수행한다.
종래의 교환기용 소프트웨어 개발에서는 시스템의 명세와 기술은 에스디엘로 수행하고 그 명세를 C/C++와 같은 범용 프로그래밍 언어로 자동 변환하였다. 그러나, 이러한 변환은 목적 프로그래밍 언어가 메소드를 사용하는 객체지향 언어일 경우에는 프로세스에 독립적인 시그널로 인해 발생하는 동적인 전이를 객체지향 언어의 메소드로 자동 변환하는 데 문제점이 발생한다. 따라서, 에스디엘 명세에서 일반적인 객체지향 언어로의 변환이 개발자에 의해 임의적으로 수행되어 시스템의 설계와 구현이 일관적으로 이루어질 수 없으며, 이로 인해 시스템의 유지 보수가 힘들게 되는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 안출된 것으로서, 에스디엘로 이루어진 시스템 명세에서 프로세스에 독립적인 시그널을 프로세스에 종속시켜 해당 시그널 수신으로 발생하는 동적인 전이를 정적인 전이들로 세분화하여 분할하고, 이 분할된 전이를 객체지향의 메소드로 변환함으로써, 에스디엘로 이루어진 시스템 명세를 객체지향 프로그래밍 언어로 자동 변환하는 에스디엘의 시그널 수신에 의한 전이의 분할방법을 제공하는 데 그 목적이 있다.
도 1은 본 발명이 적용되는 구성도,
도 2는 본 발명의 한 실시예에 따른 에스디엘의 시그널 수신에 의한 전이의 분할방법을 도시한 전체 흐름도,
도 3은 도 2에 도시된 전이 트리 생성방법을 도시한 상세 흐름도,
도 4는 도 2에 도시된 시그널 흐름 그래프 생성방법을 도시한 상세 흐름도,
도 5는 도 2에 도시된 프로세스의 전이 트리 분할방법을 도시한 상세 흐름도이다.
※ 도면의 주요부분에 대한 부호의 설명 ※
101 : 메인 메모리 102 : 중앙처리장치
103 : 유닉스 운영체제 104 : 보조 기억장치
105 : 입/출력장치 106 : 시스템 버스
상기한 목적을 달성하기 위하여 본 발명은, 에스디엘로 이루어진 교환기용 시스템 명세를 객체지향 언어로 변환하기 위하여 에스디엘의 시그널 수신에 의한 전이를 분할하는 방법에 있어서, 에스디엘의 각각의 프로세스마다 상태와 해당 상태에서의 수신 시그널을 쌍으로 하는 노드들로 이루어진 전이 트리를 생성하는 제1단계와, 상기 제1단계에서 생성된 전이 트리를 참조하여 프로세스와 수신 시그널, 그리고 프로세스 생성 관계로 이루어진 시그널 흐름 그래프를 생성하는 제2단계, 및 상기 제1단계와 제2단계에서 생성된 전이 트리와 시그널 흐름 그래프를 바탕으로 하여 시그널의 수신으로 인한 전이를 세분화하여 분할하는 제3단계를 포함한 것을 특징으로 하는 에스디엘의 시그널 수신에 의한 전이의 분할방법을 제공한다.
상기 전이 트리를 생성하는 제1단계는, 상기 프로세스 내의 상태와 수신 시그널의 쌍을 노드로 하는 전이 트리를 생성하는 제1소단계와, 상기 제1소단계에서 생성된 노드에 해당 전이의 타스크들을 연결하는 제2소단계로 이루어지는 것이 양호하다.
또한, 상기 시그널 흐름 그래프를 생성하는 제2단계는, 상기 프로세스 내의 프로세스 생성이나 시그널 출력이 발생한 부분을 찾는 제1소단계와, 상기 제1소단계에서 찾은 부분을 판단하여 현재 노드에서 해당 프로세스노드로 생성 가지를 연결하거나 상기 프로세스 노드로 식별자 매개변수 가지 또는 일반 시그널 가지에 시그널을 등록하는 제2소단계, 및 상기 프로세스 내의 모든 프로세스 생성부분과 시그널 출력부분에 대하여 상기 제1소단계와 제2소단계를 반복 수행하는 제3소단계를 포함한 것이 양호하다.
또한, 전이를 세분화하여 분할하는 제3단계는, 상기 전이 트리의 노드를 선택하는 제1소단계와, 상기 노드가 식별자를 매개변수로 갖는 시그널을 가지면, 현 노드의 전이를 매개변수로 올 수 있는 모든 프로세스의 수만큼 분할하여, 각 프로세스에 종속시키는 제2소단계, 상기 제2소단계에서 분할된 전이 트리의 각 노드에서 송신 프로세스에 대한 응답이 있으면 해당 노드에 해당 시그널을 전송하는 프로세스를 찾고, 상기 찾아진 프로세스들을 이용하여 노드를 세분화하여 분할하는 제3소단계, 및 상기 각 전이 트리의 모든 노드에 대하여 상기 제1소단계 내지 제3소단계를 반복 수행하는 제4소단계를 포함한 것이 양호하다.
또한, 본 발명에 따르면, 교환기용 소프트웨어 개발 환경에서 에스디엘로 이루어진 시스템의 문서 표현을 객체지향 프로그래밍 언어로 자동 변환할 때, 컴퓨터를 위에서 설명한 에스디엘의 시그널 수신에 의한 전이의 분할방법에 따라 작동시키기 위한 프로그램이 저장된 기록매체가 제공된다.
이 발명의 상기 및 기타의 특성과 장점은 아래의 양호한 실시예에 대한 설명에 의해 좀 더 명료해질 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하면 다음과 같다.
도 1은 본 발명이 적용되는 하드웨어 구성도이다. 메인 메모리(101)는 에스디엘의 전이를 세분화시키는 프로그램이 탑재되는 보드이고, 중앙처리장치(102)는 상기 메인 메모리(101)에 탑재된 실행 파일을 실행시키는 보드이다. 유닉스(UNIX) 운영체제(103)는 보드 및 장치들을 제어하고, 보조 기억장치(104)는 파일 및 데이터 등을 저장하는 장치로서 메인 메모리(101)에 탑재되지 않은 파일과 도구들이 저장된다.
입/출력장치(105)는 에스디엘의 전이의 세분화가 수행되는 동안 오류 및 결과들에 대한 메시지를 입/출력하는 장치이고, 각 보드 및 장치 상호 간의 메시지와 정보의 교환은 시스템 버스(106)를 통해 이루어진다.
도 2는 본 발명의 한 실시예에 따른 에스디엘의 시그널 수신에 의한 전이의 분할방법의 전체 흐름도이다.
도 2를 참조하면, 단계 S201은 각각의 프로세스마다 상태와 해당 상태에서 수신되는 시그널을 쌍으로 하여 노드로 저장하는 전이 트리를 생성하는 단계이다. 단계 S202는 프로세스와 시그널, 그리고 프로세스 생성 관계로 이루어진 시그널 흐름 그래프를 생성하는 단계이다. 그 후, 단계 S203은 시그널 흐름 그래프를 바탕으로 하여 시그널의 수신으로 인한 프로세스의 전이 트리를 세분화하여 분할한다.
도 3은 도 2에 도시된 전이 트리 생성방법을 도시한 상세 흐름도이다.
도 3을 참조하면, 시그널의 수신으로 인한 프로세스의 전이를 분할하기 위한 전이 트리를 생성하기 위하여, 먼저 단계 S301에서 프로세스 내의 처리하지 않은 상태를 선택하고, 선택된 상태 내의 처리하지 않은 수신 시그널을 선택한다(S302). 그리고 상태와 수신 시그널의 쌍을 이름으로 하는 노드를 전이 트리에 생성하고(S303), 생성된 노드에 해당 전이의 타스크들을 연결한다(S304). 이와 같은 선택된 상태의 모든 수신 시그널에 대하여 단계 S302 내지 단계 S304를 반복하고(S305), 프로세스의 모든 상태에 대하여 단계 S301 내지 단계 S305를 반복 수행한다(S306).
도 4는 도 2에 도시된 시그널 흐름 그래프 생성방법을 도시한 상세 흐름도이다.
도 4를 참조하면, 먼저, 프로세스 내에서 프로세스 생성이나 시그널의 출력이 발생하는 부분을 찾고(S401), 찾아낸 부분이 시그널의 출력인가를판단하여(S402), 시그널의 출력이 아닌 프로세스 생성이면 단계 S403으로 진행하여, 해당 노드에서 생성되는 프로세스의 노드로 생성 가지를 연결한다.
한편, 단계 S402의 판단 결과, 시그널의 출력이면 매개변수에 프로세스 식별자 변수(피아디 매개변수)가 포함되어 있는가를 파악한 후(S404), 만일 피아디 매개변수가 포함되어 있으면 현 노드에서 시그널의 수신 노드로의 프로세스 식별자 매개변수 가지에 시그널을 등록한다(S405). 그러나, 피아디 매개변수가 포함되어 있지 않으면 현 노드에서 시그널의 수신 노드로의 일반 시그널 가지에 시그널을 등록한다(S406). 상기 과정을 프로세스 내의 모든 프로세스 생성과 시그널 출력에 대해 반복한다(S407).
도 5는 도 2에 도시된 프로세스의 전이 트리 분할방법을 도시한 상세 흐름도이다.
단계 S501에서 각 전이 트리의 한 노드를 선택하고, 해당 노드의 시그널이 프로세스 식별자를 매개변수로 갖는 시그널인가를 판별한다(S502). 이때, 해당 노드의 시그널이 피아디 매개변수 시그널이면, 시그널 흐름 그래프에서 해당 시그널을 전송하는 프로세스들을 찾고(S503), 찾아진 프로세스에서 해당 시그널의 매개변수로 저장될 수 있는 프로세스들을 찾고(S504), 찾아진 프로세스들을 바탕으로 하여 노드를 세분화하여 분할한 후 각 노드들을 해당 프로세스로 종속시킨다(S505).
한편, 해당 노드의 시그널이 피아디 매개변수 시그널이 아니면, 전이 내에 송신 프로세스(SENDER)가 존재하는가를 판별하여(S506), 송신 프로세스의 응답이 있으면 시그널 흐름 그래프에서 해당 시그널을 전송하는 프로세스들을 찾고(S507),찾아진 프로세스들을 바탕으로 하여 노드를 세분화하여 분할한 후, 각 노드들을 해당 프로세스에 종속시킨다(S508). 각 전이 트리의 모든 노드에 대하여 단계 S501 내지 단계 S508을 반복 수행한다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 첨구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면, 에스디엘로 이루어진 시스템 명세에서 프로세스에 독립적인 시그널 수신에 의한 동적인 전이를 세분화하여 다수 개의 정적인 전이로 분할하여, 에스디엘로 이루어진 시스템 명세를 객체지향 언어로 변환할 때에 에스디엘 내의 전이를 객체지향 언어의 메소드로 일 대 다의 관계로 자동 변환이 가능하도록 하기 때문에, 개발자의 개입을 없애고, 변환에 따르는 오류를 줄여 개발 시간을 단축시키며, 명세의 변화로 인한 설계 문서와 구현 프로그램을 일치시킬 수 있는 효과가 있다.

Claims (5)

  1. 에스디엘로 이루어진 교환기용 시스템 명세를 객체지향 언어로 변환하기 위하여 에스디엘의 시그널 수신에 의한 전이를 분할하는 방법에 있어서,
    에스디엘의 각각의 프로세스마다 상태와 해당 상태에서의 수신 시그널을 쌍으로 하는 노드들로 이루어진 전이 트리를 생성하는 제1단계와,
    상기 제1단계에서 생성된 전이 트리를 참조하여 프로세스와 수신 시그널, 그리고 프로세스 생성 관계로 이루어진 시그널 흐름 그래프를 생성하는 제2단계, 및
    상기 제1단계와 제2단계에서 생성된 전이 트리와 시그널 흐름 그래프를 바탕으로 하여 시그널의 수신으로 인한 전이를 세분화하여 분할하는 제3단계를 포함한 것을 특징으로 하는 에스디엘의 시그널 수신에 의한 전이의 분할방법.
  2. 제1항에 있어서, 상기 제1단계는,
    상기 프로세스 내의 상태와 수신 시그널의 쌍을 노드로 하는 전이 트리를 생성하는 제1소단계와,
    상기 제1소단계에서 생성된 노드에 해당 전이의 타스크들을 연결하는 제2소단계로 이루어진 것을 특징으로 하는 에스디엘의 시그널 수신에 의한 전이의 분할방법.
  3. 제1항에 있어서, 상기 제2단계는,
    상기 프로세스 내의 프로세스 생성이나 시그널 출력이 발생한 부분을 찾는 제1소단계와,
    상기 제1소단계에서 찾은 부분을 판단하여, 현재 노드에서 해당 프로세스노드로 생성 가지를 연결하거나, 상기 프로세스 노드로 식별자 매개변수 가지 또는 일반 시그널 가지에 시그널을 등록하는 제2소단계, 및
    상기 프로세스 내의 모든 프로세스 생성부분과 시그널 출력부분에 대하여 상기 제1소단계와 제2소단계를 반복 수행하는 제3소단계를 포함한 것을 특징으로 하는 에스디엘의 시그널 수신에 의한 전이의 분할방법.
  4. 제1항에 있어서, 상기 제3단계는,
    상기 전이 트리의 노드를 선택하는 제1소단계와,
    상기 노드가 식별자를 매개변수로 갖는 시그널을 가지면, 현 노드의 전이를 매개변수로 올 수 있는 모든 프로세스의 수만큼 분할하여, 각 프로세스에 종속시키는 제2소단계,
    상기 제2소단계에서 분할된 전이 트리의 각 노드에서 송신 프로세스에 대한 응답이 있으면 해당 노드에 해당 시그널을 전송하는 프로세스를 찾고, 상기 찾아진 프로세스들을 이용하여 노드를 세분화하여 분할하는 제3소단계, 및
    상기 각 전이 트리의 모든 노드에 대하여 상기 제1소단계 내지 제3소단계를 반복 수행하는 제4소단계를 포함한 것을 특징으로 하는 에스디엘의 시그널 수신에 의한 전이의 분할방법.
  5. 컴퓨터에,
    에스디엘로 이루어진 교환기용 시스템 명세를 객체지향 언어로 변환하기 위하여, 에스디엘의 각각의 프로세스마다 상태와 해당 상태에서의 수신 시그널을 쌍으로 하는 노드들로 이루어진 전이 트리를 생성하는 제1단계와,
    상기 제1단계에서 생성된 전이 트리를 참조하여 프로세스와 수신 시그널, 그리고 프로세스 생성 관계로 이루어진 시그널 흐름 그래프를 생성하는 제2단계, 및
    상기 제1단계와 제2단계에서 생성된 전이 트리와 시그널 흐름 그래프를 바탕으로 하여 시그널의 수신으로 인한 전이를 세분화하여 분할하는 제3단계를 수행하는, 에스디엘의 시그널 수신에 의한 전이를 분할하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-1999-0020931A 1999-06-07 1999-06-07 에스디엘의 시그널 수신에 의한 전이의 분할방법 KR100367090B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0020931A KR100367090B1 (ko) 1999-06-07 1999-06-07 에스디엘의 시그널 수신에 의한 전이의 분할방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0020931A KR100367090B1 (ko) 1999-06-07 1999-06-07 에스디엘의 시그널 수신에 의한 전이의 분할방법

Publications (2)

Publication Number Publication Date
KR20010001592A KR20010001592A (ko) 2001-01-05
KR100367090B1 true KR100367090B1 (ko) 2003-01-06

Family

ID=19590448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0020931A KR100367090B1 (ko) 1999-06-07 1999-06-07 에스디엘의 시그널 수신에 의한 전이의 분할방법

Country Status (1)

Country Link
KR (1) KR100367090B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI258073B (en) * 2004-11-05 2006-07-11 Inst Information Industry System and method for automated test-case generation

Also Published As

Publication number Publication date
KR20010001592A (ko) 2001-01-05

Similar Documents

Publication Publication Date Title
CN113742031B (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN111683066B (zh) 异构系统集成方法、装置、计算机设备和存储介质
CN111061678B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN113656502A (zh) 数据同步方法、系统、电子设备和存储介质
CN111752916B (zh) 数据采集方法及装置、计算机可读存储介质、电子设备
CN110855459A (zh) 网络配置方法、装置及系统
KR100367090B1 (ko) 에스디엘의 시그널 수신에 의한 전이의 분할방법
CN105491082A (zh) 远程资源访问方法和交换设备
CN106330519B (zh) 一种网管系统间报文的通信方法及系统
CN116455869A (zh) 基于Kubernetes高效配置公网域名方法和系统
CN113179332B (zh) 用于获取配置信息的方法、电子设备和存储介质
CN112187761B (zh) 一种报文解析、构造方法、装置、计算机设备和存储介质
CN111046021B (zh) 一种物联网型配变终端应用开发平台
CN110262459B (zh) 一种故障信息输出控制方法及系统
CN112883110A (zh) 一种基于nifi的终端大数据分发方法、存储介质及系统
CN112416980A (zh) 数据业务处理方法、装置及设备
CN110673891B (zh) 一种数据处理方法、装置、设备及介质
KR100276080B1 (ko) 에스디엘-92 프로세스에서 칠-96 타스크로의 변환방법
CN112865999A (zh) 信息处理方法及相关设备
CN113472565B (zh) 服务器功能的扩容方法、装置、设备和计算机可读介质
CN117171262A (zh) 数据同步的方法、装置、存储介质及电子设备
CN118092982B (zh) 一种云原生应用的多集群运维方法、设备及介质
KR100282566B1 (ko) 칠 96의 타스크 모드 및 비 치환적 모듈 모드의 속성값 생성방법
CN111314457B (zh) 设置虚拟私有云的方法和装置
KR100304359B1 (ko) 에스디엘의시그널수신을가지는프로시쥬어의분해방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071115

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee