• 제목/요약/키워드: 병렬 제어 흐름 그래프

검색결과 6건 처리시간 0.02초

Esterel에서 근사-제어 흐름그래프의 효율적인 생성 (Efficient Construction of Over-approximated CFG on Esterel)

  • 김철주;윤정한;서선애;최광무;한태숙
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권11호
    • /
    • pp.876-880
    • /
    • 2009
  • 프로그램에 대한 자료흐름분석(data flow analysis)를 수행하기 위해서는 입력된 프로그램에 대응하는 제어흐름그래프(control flow graph)가 필요하다. 본 논문에서는 동기(synchronous)식 절차(imperative)형 언어 중 하나인 Esterel로 작성된 프로그램에 대해서 단순하면서 입력 프로그램의 구조와 흡사한 형태로 표현되는 근사-제어흐름그래프(over-approximated CFG) 생성방법을 제안한다. 제안된 방법을 이용하면 병렬 제어흐름을 표현하는 부분에서 실행 불가능한 경우까지 포함할 수 있다. 그렇지만, 생성방법이 직관적이고, 실제 수행경로를 모두 포함하기 때문에 다른 분석을 수행하는데 매우 적차하다.

객체지향 프로그램 정보 분석기 설계 및 구현 (Design and Implementation of an Information Analyzer for Object-Oriented Program)

  • 김운용;최영근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.490-492
    • /
    • 1999
  • 본 논문에서는 객체지향 프로그램에 대한 프로그램 정보를 분석하여 이들간의 관계를 표현할 수 있는 방법을 제시한다. 현재까지 프로그램을 분석하고 표현하기 위한 그래프 표현으로 호출 그래프, 제어흐름 그래프 및 종속 그래프 등이 있으며 이를 이용하여 테스팅, 슬라이싱, 디버깅, 프로그램 이해, 병렬처리, 역공학과 같은 다양한 분야에 적용되고 있다. 본 논문에서는 객체지향 언어의 프로그램의 시각적 이해를 돕고, 분석에 필요한 정보를 표현하는 그래프들간의 관계성을 고려한 효율적인 분석기를 표현한다. 이를 위해 클래스, 상속관계, 호출관계, 제어흐름 및 데이터 종속관계를 고려하여 객체 지향언어 분석에 필요한 그래프 요소를 멤버함수레벨, 클래스 레벨, 모듈 클래스 레벨 단위로 추출하고 이들간의 정보를 저장소로 통합 구성한다. 이를 통해 기존의 특정목적을 위해 표현하는 그래프 표현 방식은 그래프간의 관계성과 분석정보의 독립성 그리고 재사용성의 특징을 가지는 통합 분석기로 구성될 수 있다. 이러한 특징은 프로그램의 이해와 정보의 관리효과를 증가시킬 수 있으며, 많은 소프트웨어 엔지니어링 도구와 기술들에 필요한 통합화된 정보를 제공하고 이용될 수 있을 것이다.

  • PDF

다중스레드 데이타 병렬 프로그램의 표현 : PCFG(Parallel Control Flow Graph) (A Representation for Multithreaded Data-parallel Programs : PCFG(Parallel Control Flow Graph))

  • 김정환
    • 한국정보과학회논문지:시스템및이론
    • /
    • 제29권12호
    • /
    • pp.655-664
    • /
    • 2002
  • 데이타 병렬 모델은 대규모 병렬성을 용이하게 얻을 수 있는 장점이 있지만, 데이타 분산으로 인한 통신 지연시간은 상당한 부담이 된다. 본 논문에서는 데이타 병렬 프로그램에 내재되어 있는 태스크 병렬성을 추출하여 이러한 통신 지연시간을 감추는데 이용할 수 있음을 보인다. 기존의 태스크 병렬성 추출은 데이타 병렬성을 고려하지 않았지만, 여기서는 데이타 병렬성을 그대로 유지하면서 태스크 병렬성을 활용하는 방법에 대해 설명한다. 데이타 병렬 루프를 포함할 수 있는 다수의 태스크 스레드들로 구성된 다중스레드 프로그램을 표현하기 위해 본 논문에서는 PCFG(Parallel Control Flow Graph)라는 표현 형태를 제안한다. PCFG는 단일 스레드인 원시 데이타 병렬 프로그램으로부터 HDG(Hierarchical Dependence Graph)를 통해 생성될 수 있으며, 또한 PCFG로부터 다중스레드 코드를 쉽게 생성할 수 있다.

멀티 스레딩 기반 병렬 프로그램의 효과적인 디버깅을 위한 추상적 시각화 (Abstract Visualization for Effective Debugging of Parallel Programs Based on Multi-threading)

  • 김영주
    • 한국정보통신학회논문지
    • /
    • 제20권3호
    • /
    • pp.549-557
    • /
    • 2016
  • 효과적인 시각화는 일반적으로 대용량의 디버깅 정보와 프로그램의 추상적 수행모델을 표현하는 것이 중요하다. 본 논문에서는 스레드들간의 논리적 병행성 관계를 나타내는 부분순서 수행그래프를 이용하여 내포병렬성과 임계구역을 가진 OpenMP 병렬 프로그램의 수행양상과 경합정보의 효과적 디버깅을 위해서 효과적으로 제공하는 추상적 시각화 도구를 제안한다. 본 도구는 수행중 추적선택 기법으로 시각화 정보를 위한 공간적 복잡성을 줄이고, 추적된 시각화 정보에 프로그램의 내포병렬성과 임계구역 동기화를 위한 그래프 추상화를 제공하여 시각적 복잡성을 해결한다. 그래프 추상화를 통한 스레드들간의 부분순서 관계와 경합탐지 정보는 프로그램의 제어흐름과 경합의 위치를 구조적으로 파악할 수 있게 하므로 프로그램 수행의 이해와 경합 탐지 및 수정에 효과적이다.

타이머 릴레이의 EMFG 표현 (The EMFG representation of timer-relays)

  • 김종민;정안나;여정모
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2002년도 춘계학술발표논문집(상)
    • /
    • pp.10-15
    • /
    • 2002
  • 확장된 마크흐름선도(EMFG : Extended Mark Flow Graph)는 시스템의 동시성이나 병렬성을 잘 표현할 수 있는 방향성 그래프이다. 이를 이용하여 시스템을 모델링하면 개념설계가 가능하고, 상세 동작분석이 용이해짐으로 이산제어시스템이나 시퀀스 제어회로등을 설계할 때 사용될 수 있는 도구이다. 기존 EMFG에서는 타이머에 대한 표기 방법이 미비하여 타이머를 많이 사용하는 분야인 시퀀스제어 설계 및 릴레이 회로의 표현에는 많은 어려움이 있다. 본 논문에서는 타이머 릴레이들의 동작에 대하여 생성지연-소멸 트랜지션, 생성-소멸지연 트랜지션과같이 이중바로 표기된 새로운 트랜지션을 도입하였다. 새로운 트랜지션을 이용하면 타이머들의 동작을 분명하게 표현할 뿐만 아니라 EMFG의 표현을 알고리듬할 수 있다. 그러므로 복잡한 시스템을 모델링할 때 제안된 트랜지션을 이용하면 효율적인 모델링을 할 수 있다.

  • PDF

멀티프로세서용 임베디드 시스템을 위한 UML 기반 소프트웨어 모델의 분할 기법 (A Partition Technique of UML-based Software Models for Multi-Processor Embedded Systems)

  • 김종필;홍장의
    • 정보처리학회논문지D
    • /
    • 제15D권1호
    • /
    • pp.87-98
    • /
    • 2008
  • 임베디드 시스템의 하드웨어 구성요소들에 대한 성능 고도화가 요구됨에 따라 이에 탑재될 소프트웨어의 개발 방법도 영향을 받고 있다. 특히 MPSoC와 같은 고가의 하드웨어 아키텍처에서는 효율적인 자원의 사용 및 성능의 향상을 위해 소프트웨어 측면에서의 고려가 필수적으로 요구된다. 따라서 본 연구에서는 임베디드 소프트웨어 개발과정에서 멀티프로세서 기반의 하드웨어 아키텍처를 고려하는 소프트웨어 태스크의 분할기법을 제시한다. 제시하는 기법은 UML 기반의 소프트웨어 모델을 CBCFG (Constraints-Based Control Flow Graph)로 변환하고, 이를 병렬성과 데이터 의존성을 고려한 소프트웨어 컴포넌트로 분할하는 기법이다. 이러한 기법은 임베디드 소프트웨어의 플랫폼 의존적인 모델 개발과 태스크 성능 예측 등을 위한 자료로 활용할 수 있다.