• 제목/요약/키워드: 상태머신 다이어그램

검색결과 10건 처리시간 0.023초

이벤트 의존성을 이용한 상태 머신 다이어그램의 강건성 테스팅 연구 (Study of State Machine Diagram Robustness Testing using Casual Relation of Events)

  • 이선열;채흥석
    • 정보과학회 논문지
    • /
    • 제41권10호
    • /
    • pp.774-784
    • /
    • 2014
  • 상태 머신 다이어그램 결함 주입을 통하여 강건성 테스트 케이스를 생성하기 위한 연구가 수행되고 있다. 그러나 기존의 연구들은 상태 머신 다이어그램의 구조적인 측면만을 단순 고려하고 있기 때문에 작은 크기의 모델임에도 불구하고 많은 결함이 주입될 수 있다. 본 논문에서는 강건성 테스트의 효과성은 유지한 채, 주입될 결함의 수를 줄이기 위한 결함 주입 방법을 제안한다. 제안 방법은 전자레인지 상태 머신 다이어그램을 이용하여 설명되었으며, 유효성을 검증하기 위하여 해쉬 테이블 상태 머신 다이어그램에 제안 방법을 적용하였다. 해쉬 테이블에 적용된 실험 결과, 제안 연구는 강건성 테스트의 효과성은 유지하였으며, 주입된 결함의 수는 43%, 생성한 테스트 케이스의 수는 63% 감소시킨 것을 확인할 수 있었다.

임베디드 소프트웨어 행위 기술 모델링을 위한 시퀀스 다이어그램의 확장 (Extended Sequence Diagrams For Embedded Software Behavior Modeling)

  • 이희진;송인권;전상욱;홍장의;배두환
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.340-342
    • /
    • 2005
  • 임베디드 소프트웨어의 적용영역이 확장됨에 따라 학계와 업계에서 임베디드 소프트웨어 개발 기술에 대한 관심이 고조되고 있다. UML 2.0은 산업체에서 많이 사용되는 모델링 언어로, 그 동안 현장에서는 주로 상태머신 다이어그램(State Machine Diagrams)을 사용하여 임베디드 소프트웨어의 동적 행위를 모델링하여 왔다. 그러나 모델러는 상태머신 다이어그램보다 시퀀스 다이어그램(Sequence Diagrams)을 선호하는데, 이는 시퀀스 다이어그램을 사용하는 것이 직관적이고 정확한 행위 모델을 개발할 수 있기 때문이다. UML 2.0이 최근 다양한 모델링 요소를 반영하도록 확장되었음에도 불구하고, 시퀀스 다이어그램을 사용하여 임베디드 소프트웨어를 모델링을 하기에는 아직 부족한 점이 있다. 이를 보완하고, 임베디드 소프트웨어를 더욱 잘 디자인하기 위하여 예외 상황과 인터럽트를 처리할 수 있는 방법을 제안한다.

  • PDF

순차도의 추상 시나리오 기반의 UML 상태 머신 다이어그램 시뮬레이션 기법 (An Automatic Simulation Technique for UML State Machine Diagrams based on Abstract Scenarios in Sequence Diagrams)

  • 곽휘;이우진
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권6호
    • /
    • pp.443-450
    • /
    • 2009
  • 시스템 개발 초기 단계에 시스템의 기능적 요구사항이 제대로 반영되었는지를 검사하기 위해 시뮬레이션 기법을 이용한다. 일반적으로 시뮬레이션은 순차도에 나타난 추상적 시나리오를 바탕으로 상태머신을 직접 또는 랜덤으로 수행하는 행태로 진행된다. 시뮬레이션은 분석자가 직접 수행해야 하므로 많은 시간과 노력이 소요된다. 이 논문에서는 순차도 기반의 상태 머신의 시뮬레이션의 자동화 기법을 제공한다. 일반적으로 순차도와 상태머신의 추상화 레벨이 달라서 순차도에서 상세 시뮬레이션 트레이스를 추출하기가 쉽지 않다. 이 연구에서는 상태 머신을 LTS 모델로 변환하여 합성적 분석, 트랜지션 축약 등의 분석 방법을 적용하여 순차도와 동일한 추상화 레벨로 변환한 다음, 시나리오 포함여부를 검사한 후 해당 시나리오의 상세 시뮬레이션 트레이스를 생성한다. 이러한 시뮬레이션 트레이스는 순차도에 기술된 시나리오를 기반으로 시뮬레이션을 자동으로 수행할 뿐만 아니라, 특정 시스템 상태까지 자동 시뮬레이션할 수 있으므로 시뮬레이션을 효율적으로 진행할 수 있다.

데이터 흐름을 반영하는 임베디드 시스템의 코드 자동 생성기 설계 (A Design of Data Flow based Automatic Code Generator for Embedded System)

  • 이병용;류호동;권진욱;석미희;이우진
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 춘계학술발표대회
    • /
    • pp.56-59
    • /
    • 2010
  • 오늘날 임베디드 환경에서의 하드웨어의 발전에 더불어, 소프트웨어의 복잡도가 점점 증가하고, 유지보수에 대한 비용이 증가함에 따라 UML모델을 이용한 자동코드 생성에 대한 관심이 더욱 커지고 있다. UML을 이용한 코드 생성의 효과적으로 이루어지기 위해서는 설계된 모델의 무결성이 요구되고 이를 위해서는 모델의 논리적 검증이 선행되어야 한다. 아울러 설계자로 하여금 정의하는 모델이 명확하게 이해되고 구현될 있어야 한다. 하지만 코드 생성의 행위적 관점의 기본이 되는 상태머신 다이어그램에서 잘 드러나는 흐름과는 다르게 데이터의 사용은 다이어그램 내부에 숨겨져 있어 설계자로 하여금 모델에 대한 이해를 어렵게 하고 잠재적인 에러의 내포 가능성이 제기되어 왔다. 본 논문은 이러한 문제의 해결을 위해 코드 내포 상태머신 다이어그램의 데이터 시각화기법을 이용하고, 이러한 시각화 기법을 이용하여 데이터 사용관점에서의 모델의 이해를 도움과 동시에 이를 통하여 더욱 정확한 모델링을 수행하고 더불어 이를 통해 최종적으로는 더욱 효율적인 형태의 코드를 생성하는 코드 자동 생성기의 설계를 제안 한다.

AUTOSAR 모델 기반 프로그래밍 지원 도구 설계 (A Design of Programing Tool on AUTOSAR Model)

  • 류호동;이우진
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(B)
    • /
    • pp.232-234
    • /
    • 2012
  • AUTOSAR가 차량용 전장 소프트웨어의 표준으로 자리 잡음에 따라 이를 기반으로 하는 다양한 개발 도구와 개발 방법이 연구 되고 있다. 특히 UML로 대표되는 모델 기반의 개발 방법의 적용에 대한 연구 역시 많은 부분에서 진행되고 있다. 본 논문에서는 모델을 이용한 AUTOSAR 기반의 개발 방법을 AUTOSAR 소프트웨어 컴포넌트 개발에 적용하기 위하여 이 과정에서 필요한 모델 프로그래밍 지원 도구를 제안한다. 본 도구는 일반적으로 모델 기반의 개발 방법에서 컴포넌트 다이어그램에서는 컴포넌트, 상태머신 다이어그램에서는 상태 속에 숨겨져 있는 코드를 시각적으로 드러내고, 편집과정에서 지원하여 개발의 능률성을 높임과 동시에 좀 더 신뢰성 있는 코드에 작성을 가능하게 한다.

UML 다이어그램 도구를 위한 다이어그램 정보의 구축과 설계 (A Design of Constructing Diagram Repository for UML Diagram Tools)

  • 김윤호
    • 한국정보통신학회논문지
    • /
    • 제24권2호
    • /
    • pp.244-251
    • /
    • 2020
  • 본 논문에서는 UML 다이어그램의 정보를 구문적으로 분석하여 클래스들의 정보를 구조적으로 구축하는 정보 저장소인 '메타 클래스 레포지토리 (MCR)'의 구현 방법을 제시한다. 구문적으로 분석된 클래스의 정보를 구조적으로 구축하기 위하여 수퍼 클래스인 '메타 클래스 (meta-class)'를 정의하고, 이들 메타 클래스들의 컬렉션으로 구성된 레포지토리를 구축하여 정보를 관리한다. 또한, MCR이 보유하고 있는 메타 클래스 정보에 기반하여 클래스에 상응하는 코드를 생성하기 위하여 '코드 생성 엔진 (CGE)'을 설계하여 제시한다. 코드 생성 엔진의 로직을 구성함에 있어서는 클래스에 대한 정보와 프로그래밍 언어의 구문 규칙이 합법적으로 조합되어 코드가 생성되어야 한다. 따라서, 이러한 클래스 다이어그램으로부터 코드를 생성하는 데에 MCR과 CGE가 통합적으로 협력하여 수행될 수 있도록 구현하는 방법을 제시한다. CGR의 동작 메커니즘에 대한 알고리즘을 유한 상태 머신 형태로 제시함으로써 CGE의 로직을 형식화하여 표현함과 동시에 구현 상의 용이함을 취할 수 있게 하였다.

센서 네트워크의 노드 위치 추정 시스템 설계 (Design of Node Position Estimation System for Sensor Networks)

  • 임철우;김영락;강병욱
    • 한국멀티미디어학회논문지
    • /
    • 제12권10호
    • /
    • pp.1436-1449
    • /
    • 2009
  • 센서 노드의 위치에 따라서 수집되는 정보의 가치가 결정되기 때문에 센서 네트워크에서 센서 노드의 위치는 매우 중요하다. 본 논문에서는 센서 네트워크에서 인접 노드에 대한 정보와 수신되는 신호의 세기를 이용해서 노드의 위치를 추정하는 기법을 제안한다. 제안하는 기법을 이용하면 노드가 알고 있는 정보를 이용해서 쉽게 노드의 위치를 찾을 수 있다. 더욱이 위치를 알고 있는 앵커 노드를 기준으로 위치를 모르는 미지 노드에 대한 상대적인 위치를 찾을 수 있어서 전체적인 센서 노드의 분포를 쉽게 알 수 있다. 그리고 동적인 시스템인 센서 네트워크에서 제안한 기법을 구현하기 위해서 UML의 여러 다이어그램 중에서 유즈케이스 다이어그램 액티비티 다이어그램, 상태 머신 다이어그램을 이용해서 분석 및 설계를 하였다. UML을 이용하기 때문에 노드 위치 추정 시스템에서 제안 기법의 각 기능에 대한 흐름을 정확하게 파악할 수 있었다. 그리고 센서 노드들의 위치가 작은 오차를 가지고 추정됨을 확인하였다.

  • PDF

TMO 기반의 실시간 객체 모델의 코드 자동생성기법 연구 (A Study of Automatic Code Generation for TMO-based Real-time Object Model)

  • 석미희;류호동;이우진
    • 정보처리학회논문지A
    • /
    • 제19A권2호
    • /
    • pp.101-112
    • /
    • 2012
  • 최근에 분산 실시간 소프트웨어가 다양한 분야에서 중요한 역할을 담당하고 있다. 실시간 소프트웨어는 반응 시간에 대한 시간제약성을 만족하여야 함으로 TMO(Time-triggered, Message-triggered Object), CORBA/RT, RTAI 등과 같은 미들웨어를 이용하여야 한다. 하지만 이러한 실시간 미들웨어에 친숙하지 않은 프로그래머들은 실시간 소프트웨어 개발에 어려움이 있다. 이 연구에서는 이러한 미들웨어에 대한 전문지식 없이도 실시간 소프트웨어 개발이 가능하도록 TMO 기반의 자동 코드 생성 도구를 제안하고자 한다. TMO 특성을 설계 모델에 반영하기 위해, 시간제약사항을 포함하는 SpM과 SvM 메소드를 클래스 다이어그램에 추가하고 상태 머신 다이어그램의 독립 영역으로 분할하여 이들의 행위를 표현한다. TMO 기반 코드 생성기는 이러한 모델 정보를 입력받아서 TMO 클래스 코드를 생성한다. 이러한 자동생성 접근 방법은 TMO에 대한 전문지식이 없더라도 실시간 소프트웨어를 생성할 수 있어, 소프트웨어 개발에 소요되는 비용과 시간을 줄이는 장점이 있다.

테스트 수행시간을 고려한 임베디드 소프트웨어의 적합성 테스트 시나리오 추출 기법 (Conformance Test Scenario Extraction Techniques for Embedded Software using Test Execution Time)

  • 박인수;신영술;안성호;김진삼;김재영;이우진
    • 정보처리학회논문지D
    • /
    • 제17D권2호
    • /
    • pp.147-156
    • /
    • 2010
  • 임베디드 소프트웨어의 적합성 테스트는 소프트웨어의 기능이 명세를 따라 정확히 구현되었는지 검사하는 것이다. 적합성 테스트에서 테스트 시나리오는 소프트웨어의 전체 기능을 테스트할 수 있도록 추출되어야 한다. 일반적으로 테스트 시나리오는 단순히 전체의 기능들을 한 번씩 테스트해 보는데 초점이 맞춰져 있다. 하지만 테스트 시나리오는 테스트 수행의 효율성을 고려할 필요가 있다. 이 연구에서는 각 함수들을 테스트하는데 걸리는 시간과 사용자 입력으로 인해 발생하는 대기 시간을 고려하여 최적화된 테스트 시나리오를 추출하는 기법을 제안한다. 테스트 시나리오를 추출하기 위해 상태 머신 다이어그램과 테스트 케이스를 바탕으로 그래프 형태의 테스트 모델을 생성한다. 테스트 모델에는 테스트 수행 시간과 사용자 입력에 대한 정보가 포함되어 있다. 최적화된 테스트 시나리오는 테스트 모델을 기반으로 수정된 최단거리 알고리즘을 이용하여 추출한다. 제안하는 테스트 시나리오 작성 기법을 이용하면 테스트 수행 시간을 줄일 수 있고, 테스트 자동화를 향상시킬 수 있다.