KR20080048454A - 유한 상태 기계 모델 구축 - Google Patents

유한 상태 기계 모델 구축 Download PDF

Info

Publication number
KR20080048454A
KR20080048454A KR1020087003096A KR20087003096A KR20080048454A KR 20080048454 A KR20080048454 A KR 20080048454A KR 1020087003096 A KR1020087003096 A KR 1020087003096A KR 20087003096 A KR20087003096 A KR 20087003096A KR 20080048454 A KR20080048454 A KR 20080048454A
Authority
KR
South Korea
Prior art keywords
state
state machine
transitions
component
destination states
Prior art date
Application number
KR1020087003096A
Other languages
English (en)
Inventor
마르코 살메라
Original Assignee
수오멘 3씨 오와이
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 수오멘 3씨 오와이 filed Critical 수오멘 3씨 오와이
Publication of KR20080048454A publication Critical patent/KR20080048454A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

유한 상태 기계 모델을 구축하기 위한 해결법이 제공된다. 상기 해결법은: 적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 표시단계(300)와, 포커스를 취득하는 상기 상태와 모델링 구성요소를 탐색하는 단계(302)와, 상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하는 단계(304)와, 상기 탐색된 외향성 상태 전이들 및 목적지 상태들을 표시하는 단계(306)와, 상기 상태 전이들 및 목적지 상태들의 선택들을 수신하는 단계(308)와, 그리고 상기 선택들을, 상기 유한 상태 기계 모델을 기술하는 모델에 부가하는 단계(310)를 포함한다.
유한 상태 기계, 모델링 구성요소, 상태 전이, 트리거링 이벤트

Description

유한 상태 기계 모델 구축{BUILDING FINITE STATE MACHINE MODEL}
본 발명은 유한 상태 기계 모델의 구축에 관한 것이다. 특히, 본 발명은 이용가능한 트리거링 이벤트들(available triggering events)에 관한 정보를 포함하는 모델링 구성요소들을 활용하는 유한 상태 기계들(finite state machines)에 관한 것이다.
기술적 시스템들, 장치들, 및 소프트웨어 어플리케이션들을 설계할 시, 시스템의 동작 및 행위가 효율적으로 상술되고 검증될 수 있는 것이 필수적이다. 공통적인 접근은, 시스템의 동작을 설명하는 모델을 구축하는 것이다. 시스템의 행위가 상태 의존적(state-dependent)이거나 그리고/또는 이벤트 중심적(event-driven)인 경우, 유한 상태 기계가 시스템을 모델링하기 위해 이용될 수 있다.
예를 들어, 소프트웨어를 개발할 시, 소프트웨어의 모델은 실제 소프트웨어가 수행되기 이전에 개발될 수 있다. 소프트웨어 어플리케이션의 모델은 물리적 장치의 청사진(blueprint)과 비교될 수 있다. 유한 상태 기계를 활용하는 모델은, 소프트웨어의 동작 및 역동적인 행위를 설계, 상술, 테스트 및 검증할 때 이용될 수 있다. 알려진 접근은, 소프트웨어 어플리케이션들의 상태 의존적 행위를 나타내기 위해 그래픽 및 시각적 상태 기계 모델들을 활용하는 것이다.
현재에는, 시각적 상태 기계 편집기들이, 통합 모델링 언어(UML: Unified Modeling Language) 상태 챠트들과 같은 그래픽 상태 기계 모델들을 그리기 위해 이용된다. 현재의 시각적 상태 기계 편집기들에 관한 여러 가지 문제점들이 있다. 디자이너(설계자)가 상태 챠트 또는 다이어그램을 수동적으로 배치할 필요가 있다. 다이어그램을 편집하고, 변경하고, 유지하는 것은 성가신 일이며 시간 소비적이다. 디자이너는 가능성 있는 상태 기계 이벤트들 및 상태들 간의 관련 상태 전이들(state transitions)을 알거나, 식별하거나 발견할 필요가 있다. 현재, 유한 상태 기계 모델을 체크하고 검증하기 위한 접근은, 상태 전이 테이블(state transition table)를 이용하는 것이다. 상태 전이 테이블은, 예를 들어 일반적으로 2차원 테이블이며, 여기서 하나의 축은 모든 상태들을 리스트화하기 위해 이용되며, 다른 축은 모든 가능성 있는 이벤트들을 리스트화하기 위해 이용된다. 테이블 내의 셀들은 이벤트들과 상태들 간의 관계들을 정의하기 위해 이용된다. 상태 전이 테이블들의 수동 생성 및 유지와, 상태 전이 테이블들에 기초한 상태 기계의 완성의 수동 체크는, 에러가 일어나기 쉬우며, 시간 소비적이다.
본 발명의 목적은, 유한 상태 기계 모델을 생성하기 위한 향상 해결법을 제공하는 것이다. 본 발명의 일 측면에 따르면, 유한 상태 기계 모델을 구축하기 위한 방법이 제공되며, 상기 방법은: 적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 표시단계와, 포커스를 취득하는 상기 상태와 모델링 구성요소를 탐색하는 단계와, 상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하는 단계와,상기 발견된 외향성 상태 전이들 및 목적지 상태들을 표시하는 단계와, 상기 상태 전이들 및 목적지 상태들의 선택들을 수신하는 단계와, 그리고 상기 선택들을, 상기 유한 상태 기계 모델을 기술하는 모델에 부가하는 단계를 포함한다.
본 발명의 다른 측면에 따르면, 동작가능하도록 상호 연결되어 있는 프로세서, 디스플레이, 및 입력수단, 을 포함하는 전자장치가 제공되며, 상기 프로세서는, 상태 기계의 상태들과 관련 있는 모델링 구성요소들을 이용하여 유한 상태 기계 모델을 생성하도록 구성되며, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 상기 장치는, 적어도 하나의 모델링 구성요소와 관련 있는 상태를 상기 디스플레이에 표시하고, 포커스를 취득하는 상태 및 모델링 구성요소를 탐색하도록 구성된다. 상기 장치는, 상기 적어도 하나의 모델링 구성요소가 관련 있는 상기 상태에 관련된 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하고, 상기 발견된 외향성 상태 전이들 및 목적지 상태들을 표시하고, 상기 입력수단에 의해, 상태 전이들 및 목적지 상태들의 선택들을 수신하고, 그리고 상기 프로세서에 의해, 상기 선택들을 상기 유한 상태 기계를 기술하는 모델에 부가하도록 더 구성된다.
본 발명의 다른 측면에 따르면, 유한 상태 기계 모델을 구축하기 위한 컴퓨터 처리를 실행하기 위한 지시들의 컴퓨터 프로그램을 인코딩하는 컴퓨터 프로그램 제품이 제공되며, 상기 처리는: 적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 표시단계와, 포커스를 취득하는 상기 상태 및 모델링 구성요소를 탐색하는 단계와, 상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하는 단계와, 상기 발견된 외향성 상태 전이들 및 목적지 상태들을 표시하는 단계와, 상기 상태 전이들 및 목적지 상태들의 선택들을 수신하는 단계와, 그리고 상기 선택들을 상기 유한 상태 기계를 기술하는 모델에 부가하는 단계를 포함한다.
본 발명의 또 다른 측면에 따르면, 유한 상태 기계모델을 구축하기 위한 컴퓨터 처리를 실행하기 위한 지시들의 컴퓨터 프로그램을 인코딩하고 컴퓨터에 의해 판독가능한 컴퓨터 프로그램 배포 매체가 제공되며, 상기 처리는: 적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 표시단계와, 포커스를 취득하는 상기 상태 및 모델링 구성요소를 탐색하는 단계와, 상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하는 단계와, 상기 모델링 구성요소와 관련 있는 상태에 관한 탐색된 외향성 상태 전이들 및 목적지 상태들을 표시하는 단계와, 상기 상태 전이들 및 목적지 상태들의 선택들을 수신하는 단계와, 그리고 상기 선택들을 상기 유한 상태 기계를 기술하는 모델에 부가하는 단계를 포함한다.
본 발명의 따른 해결법은 다수의 이점들을 제공한다. 본 해결법은 그래픽 모델링 환경에서 상태 기계들의 신속한 개발을 가능하게 한다. 본 발명의 일 실시예에서, 상태 전이 테이블들은 자동으로 생성되고 유지되며, 상태 기계 모델들을 생성하기 위해 이용되는 툴에 일정하게 그리고 역동적으로 통합된다. 상태 전이 테이블은, 각 상태에 대한 가능성 있는 이벤트들에 대한 이용가능한 메타-정보에 기초하여 자동적으로 생성될 수 있다. 이것은 상태 기계들의 전조적인 구축 및 자동 체크 및 완성의 검증을 가능하게 한다. 상태 기계 모델을 설계할 시, 툴은 이용가능한 트리거링 이벤트들을 발견하고, 이벤트들에 기초하여 상태 기계 모델에 부가될 전이들 및 목적지 상태들을 제공하도록 구성된다. 자동 체크는 정의된 상태들 및 전이들의 포함을 위해 수행될 수 있다. 따라서, 디자이너는 상태 기계 다이어그램들을 수동적으로 그리고 배치할 필요가 없다. 또한, 제안된 방법은 디자이너가 모든 가능성 있는 전이들을 찾도록 도와주며, 따라서 상태 기계 다이어그램의 완성에 도달할 수 있도록 도와준다.
또한, 본 발명은, 디자이너들이 익숙하지 않은 목표 소프트웨어 환경들을 위한 디자인들에 기초한 상태 기계들을 개발하기 시작할 때, 디자이너들에 대한 학습 곡선(learning curve)을 낮춘다.
본 발명은, 구성요소 이벤트들에 대한 메타-정보에 기초하여 목적지 상태들과 함께 상태 전이들을 발견하고 제안하기 위한 자동화된 방법을 제공한다.
도 1은, 본 발명의 실시예들이 적용가능한 장치의 예를 도시한 도,
도 2a, 도 2b, 및 도 2c는, 상태 기계 모델을 구축하는 예를 도시한 도들, 및
도 3 및 도 4는, 본 발명의 실시예들을 흐름도들로 도시한 도들.
이어서, 본 발명은 실시예들 및 첨부된 도면들을 참조하여 더 상세하게 설명될 것이다.
일반적으로, 상태 기계는, 주어진 시간에 모델링된 아이템의 상태를 저장하고, 상태를 변경하기 위한 그리고/또는 작동을 야기하기 위한 입력에 대하여 또는 어떠한 주어진 변경에 대해서 일어나게 하기 위한 출력에 대하여 동작할 수 있는 모델이다. 상태 기계 모델들은, 장치 또는 소프트웨어 어플리케이션 상호작동들 및 행위를 개발하고 기술하기 위해 이용된다. 상태 기계를 기술하는 속성들은, 다음과 같이 리스트화될 수 있다. 상태 기계는 초기 상태를 가진다. 상태 기계는 일 셋트의 가능성 있는 입력 이벤트들을 수신한다. 따라서, 상태 기계는 알려지지 않은 입력을 수신할 수 없다. 상태 기계는, 입력으로부터 기인할 수 있는 일 셋트의 새로운 상태들을 포함한다. 상태 기계는, 새로운 상태로부터 기인하는 일 셋트의 가능성 있는 작동들 또는 출력 이벤트들을 더 포함한다. 입력 이벤트가 상태 기계로 하여금 일 상태에서 다른 상태로 옮기도록 하는 경우에, 상태 전이가 일어난다. 상태들과 상태들에 대한 입력들을 맵핑하는 상태 전이 기능을 정의하는 것이 가능하다.
제한된 수의 가능성 있는 상태들을 가지는 상태 기계를 유한 상태 기계(finite state machin)라 부른다. 유한 상태 기계는 상태들과 상태들 간의 전이들로 이루어진다. 입력 이벤트들이 상태 전이들을 트리거할 수 있다. 유한 상태 기계는, 문제점들에 접근하고 해결하기 위한 개발 툴로서, 그리고 후 개발자들과 시 스템 유지자들을 위한 해결법을 기술하고 문서로 증명하기 위한 정식적인 방법으로서, 양자 모두에 이용될 수 있다.
유한 상태 기계는, 시각적 상태 기계 편집기를 이용하여 설계될 수 있다. 편집기는, 목표 실행 환경, 예를 들면, 내장된 어플리케이션 소프트웨어를 위한 어플리케이션 실행 환경을 모델링하기 위해 이용되는 모델링 구성요소들의 라이브러리들(libraries)를 제공할 수 있다. 전형적인 모델링 구성요소들의 예들은, 그래픽 유저 인터페이스(GUI:Graphical user interface) 구성요소들 및 실행 플랫폼 API(application programming interface) 구성요소들이다. 하나 또는 그 이상의 모델링 구성요소들은 상태와 관련될 수 있으며, 각 구성요소는 구성요소에 의해 생성되는 이용가능한 트리거링 이벤트들에 대한 정보를 포함할 수 있다. 가능성 있는 트리거링 이벤트들에 대한 정보는, 적절한 상태 전이들 및 그리고 그들의 목적지 상태들을 자동적으로 제안하기 위해 이용된다.
일 실시예에서, 모델링 구성요소는 계층적 구조를 가질 수 있다. 그러한 경우에, 모델링 구성요소는 다수의 서브 구성요소들을 포함한다. 그러한 계층에서의 각 구성요소는 트리거링 이벤트들을 생성할 수 있다.
모델링 구성요소들은 개별적인 소프트웨어 툴들을 이용하여 설계될 수 있다. 이용가능한 트리거링 이벤트들에 대한 정보는, 당업자들이 알고 있듯이, 여러 가지 방법들로 구성요소에 포함될 수 있다. 일 실시예에서, 정보는 개별 데이터 파일에 저장될 수 있다. 데이터 파일은, 예를 들면 확장성 생성 언어(XML: Extensible Markup Language)을 이용하여 생성될 수 있다. 정보는, 정보를 단지 포함하는 다른 구성요소로서 모델링 구성요소를 위해 제공될 수도 있다. 정보는 또한, 모델링 구성요소 그 자체에 직접적으로 포함될 수 있다. 위에서 설명한 실시예들은, 모델링 구성요소들에 이용가능한 트리거링 이벤트들에 대한 정보를 포함하거나 제공하기 위한 여러 가지 방법들의 예들에 불과하다.
유한 상태 기계는 통합 모델링 언어(UML) 상태 챠트로서 그래픽적으로 제시될 수 있다. UML(Unified Modelling Language)은, 예를 들어, 소프트웨어 모델들을 기술하기 위해 이용되는 넓게 쓰이는 언어이다.
도 1을 참조하여, 상태 기계를 구축하기 위해 이용될 수 있으며, 본 발명의 실시예들이 적용가능한 장치의 예를 조사해보자.
장치(100)는, 동작가능하도록 상호 연결되어 있는 제어부(102), 디스플레이(104), 및 입력수단(106), 을 포함한다. 상기 제어부는, 예를 들면, 프로세서, 집적회로들 및 관련 소프트웨어로 실현될 수 있다. 상기 입력수단은, 예를 들면, 키보드, 키패드, 터치-감지 스크린, 포인터, 또는 마우스를 포함할 수 있다. 또한, 상기 입력수단은, 상기 장치가 다른 장치로 연결될 수 있게 하는 통신 인터페이스를 포함할 수 있다. 상기 입력수단은, 상기 장치의 유저에게 상기 장치(100)에 대한 인터페이스를 제공하는 어떠한 장치 또는 해결법이 될 수 있다. 상기 장치(100)는 또한, 데이터를 저장하는데 이용될 수 있는 메모리(108)를 포함할 수 있다. 상기 메모리(108)는, 하나 또는 그 이상의 메모리 회로들, 디스크 드라이브들, 또는 메모리 카드들, 메모리 스틱들 또는 디스켓들과 같은 착탈가능한 메모리 장치들로 실현될 수 있다.
상기 장치(100)는, 개인용 컴퓨터, 랩탑 컴퓨터 또는 위에서 언급한 구성요소들을 포함하는 어떤 다른 장치일 수 있다. 일 실시예에서, 본 발명은 상기 장치(100)에서 실행되는 시각적 상태 기계 편집기 소프트웨어로 실현된다.
도 2a, 2b, 2c 및 도 3의 흐름도를 참조하여, 본 발명의 실시예를 살펴보자. 도 3의 흐름도의 단계 300에서, 유한 상태 기계의 상태(200)와 관련 있는 모델링 구성요소(본 실시예에서, GUI 화면)가, 도 2a에 도시된 바와 같이, 상기 장치(100)의 스크린(102) 상에 표시된다. 도 2a의 예는 모바일 전화기의 동작을 기술하는 유한 상태 기계에 관한 것이며, 상기 상태(200)는, 새로운 메시지 명령이 선택되는 메시징 어플리케이션의 상태를 나타내고 있다. 상기 상태(200)는 상기 모바일 전화기의 메시징 어플리케이션의 GUI 화면을 포함한다. 관련된 GUI 화면은, 3개의 리스트 명령들을 정의하는 옵션 메뉴 "만들기(Create)"(이것 자체는 GUI 서브 구성요소)를 포함한다. 이들 리스트 명령들은, 현재의 상태로부터의 외향성 전이들(outgoing transitions)을 위한 잠재적인 이벤트 트리거들을 나타낸다. 도 2a에서, "만들기" 메뉴(옵션 메뉴)(202)가 도시되어 있다. "만들기" 메뉴는 3개의 옵션들인, 단문 메시지, 멀티미디어 메시지, 및 이메일을 포함한다. 다른 가능성 있는 이벤트 트리거들은 명료성을 위해 본 예에서 생략된다. 그러한 잠재적인 트리거링 이벤트들은, 예를 들면, 현재 시각적인 그래픽 유저 인터페이스(GUI: Graphical User Interface) 구성요소들, 물리적 UI 장치들(키들 또는 조이스틱), 어플리케이션 플랫폼 모듈들, I/O 장치들, 및 네트워크 장치들에 의해 제공될 수 있다.
단계 302에서, 표시된 상태(200) 및 상기 상태와 관련된 모델링 구성요소가 포커스를 취득하였다는 것이 탐색된다. 구성요소는, 유저가 마우스로 구성요소를 클릭하거나 기술분야에서 잘 알려진 다른 수단에 의해 구성요소를 선택할 때, 포커스를 취득한다.
또한, 하나 또는 그 이상의 이전 상태들(204)이 현재의 포커스 상태(200)와 동시에 디스플레이에 표시될 수 있다. 일 실시예에서, 이전 상태들은 현재의 포커스 상태보다 작게 표시되거나 회색으로 표시된다. 이전 상태에서 현재 상태로의 전이(206)가 또한 도시될 수 있다.
일 실시예에서, 상기 두 단계들은, 유저가 모델링 구성요소와 관련 있는 새로운 상태를 부가하는 단계로 대체된다. 새롭게 부가된 상태는 자동적으로 포커스를 취득한다.
단계 304에서,가능성 있는 트리거링 이벤트들이 검색된다. 본 발명의 일 실시예에서, 구성요소에 대하여 이용가능한 상태 전이들 및 목적지 상태들이, 구성요소가 포커스를 취득할 때, 디스플레이에 자동적으로 표시된다. 이 경우, 구성요소(200)가 단계 302에서 포커스를 취득할 때, 구성요소가 이용가능한 외향성 상태 전이들 및 목적지 상태들을 가지고 있는지 체크된다. 3개의 가능성 있는 전이들이 탐색된다.
단계 306에서, 탐색된 이용가능한 외향성 상태전이들 및 목적지 상태들은, 도 2b에 도시된 바와 같이, 상기 장치(100)의 스크린(104)에 표시된다. 본 예에서 상태(200)는, "만들기" 리스트(202)의 명령들에 대응하는 3개의 가능성 있는 상태전이들(208, 210, 212)인, "단문 메시지", 멀티미디어 메시지", 및 "이메일"을 가 진다. 각 전이는 목적지 상태(214, 216, 218)로 인도하며, 목적지 상태 또한 표시된다. 목적지 상태들은 점선의 외각선으로 표시됨으로써 유저가 그들이 아직 상태 기계의 일부가 아닌 것으로 빠르게 결정할 수 있다.
따라서, 상태 기계의 디자이너는, 상태 기계를 설계할 때 이용가능한 선택들을 용이하게 알 수 있다. 상태 기계의 일부가 아직 아닌 각 트리거링 이벤트를 위한 전이들을 위한 상태 전이들 및 목적지 상태들이 디자이너에게 시각적으로 제안된다. 제안된 전이들은 이벤트 유형들 별로 시각적으로 분류될 수 있다. 디자이너는 리스트로부터 또는 포커스 상태에 할당된 모델링 구성요소를 클릭함으로써 표시된 카테고리를 선택할 수 있다. 본 발명의 본 실시예에서, 유저는 설계중에 어플리케이션에 필요로하는 전이들을, 예를 들어 마우스로 전이를 클릭함으로써 간단하게 선택할 수 있다.
따라서, 상태가 포커스를 가지는 경우, 상태와 관련된 모든 전이들이 도시된다. 모델링 구성요소 또는 서브 구성요소가 포커스를 취득한 경우, 구성요소 또는 서브 구성요소에 의해 제공되는 전이들만이 도시된다.
따라서, 시간 소비적인 수동 배치 설계는 제거된다. 디자이너는 전이들 또는 상태들 어느 쪽도 수동으로 그릴 필요가 없으며, 디자이너는 그래픽 상태 기계 부재들을 수동적으로 재위치시킬 필요가 없다. 이들 수동 편집 및 배치 업무들은, 선행기술 시각적 상태 기계 편집기에서, 반복적이며 시간 소비적이다. 디자이너는 또한 포함된 전이들 및 목적지 상태들의 속성들을 수정할 수도 있다. 디자이너는, 예를 들어, 새로운 상태들을 포함하는 대신, 이전에 정의된 상태들의 리스트로부터 할당된 목적지 상태들을 변경할 수 있다.
단계 308에서, 유저의 선택들이 수신된다. 본 예에서, 유저는 "만들기" 리스트(202) 명령들에 대응하는 상태 전이들(208, 210)인, "단문 메시지" 및 "멀티미디어 메시지"를 선택한다.
단계 310에서, 이들 전이들 및 대응하는 목적지 상태들이 상태 기계 모델에 부가된다. 일 실시예에서, 부가된 전이들 및 목적지 상태들은, 선택되지 않은 전이들 및 상태들과 비교해 다르게 표시된다. 도 2c에 도시된 바와 같이, 선택되지 않은 전이(212) 및 목적지 상태(218)는, 선택된 전이들(208, 210) 및 목적지 상태들(214, 216)과 비교하여 강조되지 않은 것으로 도시된다. 따라서, 유저는 어떤 전이들 및 목적지 상태들이 상태 기계에 현재 속해 있는지 어떤 것이 아닌지를 빠르게 결정할 수 있다.
일 실시예에서, 디자이너는, 포커스를 하나의 상태에서 다른 상태로 옮김으로써, 구성중인 유한 상태 기계 모델을 리뷰할 수 있다. 모델링 구성요소를 포함하는 상태가 선택되는 경우, 모델링 구성요소는 디폴트(default)에 의해 선택된 것으로 또한 간주될 수 있다. 선택된 모델링 구성요소의 이벤트들이, 표시되고 편집될 수 있는 현재의 이벤트 카테고리를 정의한다. 포커스 상태가 하나 이상의 모델링 구성요소들을 포함하는 경우, 모델링 구성요소들 중 하나가 적용된 정책에 따라 디폴트에 의해 선택된다. 예를 들어, 정책은, 제 1 모델링 구성요소가 최초로 선택되는 것일 수 있다. 상태와 모델링 구성요소가 포커스를 취득하는 것이 탐색될 때마다, 구성요소가 유한 상태 기계에 아직 포함되지 않은 상태 전이들 및 목적지 상태 들에 대한 트리거 이벤트들을 제공하는지가 체크된다. 취급되지 않은 트리거 이벤트들에 대한 탐색된 상태 전이들 및 목적지 상태들이, 모델링 구성요소가 포커스를 가지고 있는 한, 특별 시각적 지칭(indication)과 함께 디스플레이에 표시된다. 디자이너는 상태기계에 부가될 어떠한 제안된 상태를 언제라도 선택할 수 있다. 디자이너는 또한 이미 포함된 전이들 및 상태들을 정상적으로 볼 수 있고 편집할 수 있다. 따라서, 유저는 모델을 용이하게 수정할 수 있다. 디자이너는 또한, 제안되거나 또는 포함된 전이들이 디스플레이로부터 시각적으로 배제되도록 토글(toggle)할 수 있는 옵션을 제공받을 수 있다.
도 4의 흐름도를 참조하여 본 발명의 실시예를 살펴보자. 단계 400에서, 포커스 상태의 선택이 수신된다. 디자이너는 현재의 시각적 상태 기계 모델의 이용가능한 상태들로부터 어떠한 상태를 선택할 수 있다. 선택된 상태는 현재의 포커스 상태로 설정된다. 디자이너는 또한 새로운 상태를 상태 기계 다이어그램에 부가할 수 있는데, 이 경우 그것은 현재의 포커스 상태로 자동적으로 설정된다.
단계 402에서, 상태와 관련 있는 포커스 상태 및 모델링 구성요소들이 표시된다. 상태는 하나 또는 그 이상의 관련 있는 모델링 구성요소들을 가질 수 있다. 각 모델링 구성요소는 계층적일 수 있다. 그러한 경우에, 그것은 다수의 서브 구성요소들로 이루어진다.
단계 404에서, 포커스 상태의 외향성 전이들에 대한 모든 가능성 있는 트리거링 이벤트들이 검색된다. 가능성 있는 트리거링 이벤트들은, 모든 모델링 구성요소들(그들의 가능성 있는 서브 구성요소들을 포함하여)로부터 그리고 포커스 상태 의 컨텍스트(context)로부터 수집된다. 상태의 컨텍스트는, 예를 들어 내장된 소프트웨어 및 그것의 실행 플랫폼일 수 있는 상태 기계의 실행 컨텍스트이다. 소프트웨어 실행 플랫폼은, 어플리케이션 및 그것의 상태 기계가 트리거링 이벤트들로서 수신할 수 있는 다수의 가능성 있는 이벤트들을 정의할 수 있다.
단계 406에서, 디폴트 선택된 트리거링 이벤트들 카테고리가 검색된다. 일반적으로, 모든 가능성 있는 트리거링 이벤트들에 대한 모든 제안된 상태 전이들을 동시에 표시하는 것을 실용적이지 않다. 따라서, 트리거링 이벤트들 및 그들의 할당된 전이들은 분류될 수 있다. 분류는 이벤트 유형들 또는 소스 모델링 구성요소들에 기초하여 이루어질 수 있다.
단계 408에서, 선택된 카테고리로부터 그리고 할당된 전이들을 가지는 트리거링 이벤트들이 검색된다. 이벤트들의 몇몇은 포커스 상태의 외향성 상태 전이들로 이미 할당되었을 수 있다. 이것은, 할당된 이벤트들이, 포커스 상태가 현재의 상태인 경우에 그들이 발생하면, 어떻게 취급되는지를 상태 기계가 상술하는 것을 의미한다.
단계 410에서, 선택된 카테고리로부터 그리고 아직 할당되지 않은 전이들을 가지는 트리거링 이벤트들이 검색된다. 이 단계에서, 외향성 전이들로 아직 할당되지 않은 트리거링 이벤트들이 발견된다. 이들 이벤트들은 포커스 상태에 대한 취급되지 않은 이벤트들을 나타낼 수 있다. 모든 취급되지 않은 이벤트들은, 수행된 상태 기계에 대한 부정확하거나 불완전한 행위 또는 기능성을 야기할 수 있다. 예를 들어, 모델링된 소프트웨어 시스템은, 정확한 행위를 보증하기 위해 취급되어야할 결정적인 이벤트를 수신할 수 있다. 상태 기계 모델이 수신된 이벤트에 대하여 취급을 상세히 기술하지 않은 경우, 상태 기계는 수신된 이벤트에 반응하는 것에 실패하고, 요구된 제어 작동들을 수행하지 않는다.
단계 412에서, 취급되지 않은 트리거링 이벤트들에 대한 전이들 및 목적지 상태들이 제안된다.
단계 414에서, 선택된 이벤트 카테고리에 대한 포커스 상태의 유저-정의된 그리고 제안된 상태 전이들 양자가 표시된다. 제안된 새로운 외향성 전이들은 디자이너에게 시각적으로 제시된다. 제안된 목적지 상태는 최초로 공백이 될 수 있으며, 유저는 구성요소 팔레트(palette) 또는 리스트로부터 구성요소들을 선택함으로써, 하나 또는 그 이상의 모델링 구성요소들을 그것에 할당할 수 있다. 일 실시예에서, 일 셋트의 규칙들이 목적지 상태를 제안하는데 적용될 수 있다. 예를 들어, 선택된 트리거 이벤트가 "뒤로(Back)" 명령을 의미하는 경우, 목적지 상태는 현재의 포커스 상태의 부모(parent) 상태일 수 있다. 디자이너는 또한, 제안된 공백 목적지 상태를 상태 기계에 이미 존재하는 어떠한 상태로 대체할 수 있다. 그러나, 어떤 경우들에서는, 상태 기계 정확함을 유지하기 위해 몇몇 제한들이 이루어질 필요가 있다. 제안된 상태전이들로부터, 유저는 상태 기계에 포함되어 있는 것들을 선택할 수 있다(단계 422).
도 4의 흐름도의 다른 가지(branch)는 단계 416에서 시작된다. 단계 416에서, 현재의 포커스 상태에 의해 포함된 모델링 구성요소의 선택이 수신된다. 상태에 할당된 모델링 구성요소는 계층적 구조를 가질 수 있다. 따라서, 그것은 다수의 서브 구성요소들을 포함할 수 있다. 예를 들어, 상태는, 어떤 수개의 GUI 구성요소들을 포함할 수 있는 할당된 GUI 화면을 가질 수 있다. 포함된 GUI 구성요소들의 각각은, 다수의 트리거링 이벤트들을 정의할 수 있는 모델링 구성요소로서 간주된다. 디자이너는 포커스 상태에 할당된 어떤 상위-레벨 모델링 구성요소와, 상위-레벨 구성요소의 어떤 서브 구성요소를 선택할 수 있다.
단계 418에서, 선택된 모델링 구성요소에 따른 트리거링 이벤트 카테고리가 선택된다. 현재의 이벤트 카테고리가, 선택된 모델링 구성요소들에 의해 정의된 일 셋트의 외향성 이벤트들로 설정된다. 처리는 단계 408에서부터 계속될 수 있다.
도 4의 흐름도의 다른 가지는 단계 420에서 시작된다. 단계 420에서, 트리거링 이벤트 카테고리의 선택이 수신된다. 모델링 구성요소를 선택함으로써 이벤트 구성요소를 선택하는 것 이외에, 디자이너는 또한 제공된 리스트 또는 패널로부터 이벤트 카테고리를 선택할 수 있다. 처리는 단계 408에서부터 계속될 수 있다.
도 4의 흐름도의 다른 가지는 단계 422에서 시작된다. 단계 422에서, 상태 기계에 부가될 제안된 상태 전이들의 선택이 수신된다. 디자이너는, 일 셋트의 제안된 상태 전이들로부터 포커스 상태에 대한 외향성 상태 전이들을 선택할 수 있다. 단계 424에서, 선택된 전이들 및 목적지 상태들이 상태 기계에 부가된다. 유저-선택된 전이들 및 전이들에 할당된 목적지 상태들은 상태 기계 모델에 포함된다. 선택된 부재들의 부가 이후에, 단계 414에서, 표시된 상태 기계 다이어그램이 업데이트된다.
일 실시예에서, 여러 가지 지표들이 상태 전이들과 함께 도시된다. 도 2c의 예에서, 디스플레이는 에러 지표들로서 사용될 수 있는 지표들(220, 222, 224)을 포함한다. 이들 지표들은 유저에게 문제의 부재 또는 정의가 의미론적으로 정확하지 않다는 시각적 통지를 제공할 수 있다. 에러 지표를 가진 부재들 및 정의들은 상태 기계의 시뮬레이션에서 실행될 수 없다. 디스플레이는 경고 지표들로서 사용될 수 있는 지표들(226, 228, 230)을 포함한다. 경고 지표들은, 부재 또는 정의가 전혀 정의되지 않거나 또는 어떤 것은 정의로부터 빠져있음을 나타내기 위해 사용될 수 있다. 정의되지 않은 부재들(도 2에서 이메일 전이와 같은)은 이 체크로부터 배제된다. 경고 지표를 가지는 부재들 및 정의들은 실행가능하지만 그들은 실행 관점에서 논리적으로 부정확하거나 불완전할 수 있다. 상태 기계는, 그것이 적용된 상태 기계 형식주의에 대하여 정의된 실행 의미론에 따르는 경우에 실행가능하다. 실행은 상태 기계 번역(interpret)에 의한 코드 생성을 통해 실현될 수 있다.
본 발명의 실시예들은, 예를 들어, 디스플레이, 키보드, 및 키보드 및 디스플레이에 동작가능하도록 연결된 제어부를 포함하는 전자장치에서 실현될 수 있다. 제어부는, 도 2 및 도 4의 흐름도와 관련해서 그리고 도 2a, 2b, 및 2c에 관련해서 설명된 단계들의 적어도 몇몇을 수행하도록 구성될 수 있다. 본 실시예들은, 유한 상태 기계 모델을 구축하기 위한 컴퓨터 처리를 실행하기 위한 지시들을 포함하는 컴퓨터 프로그램으로서 수행될 수 있으며, 상기 처리는, 적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 여기서 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 표시단계와, 상기 상태와 포커스를 취득하는 모델링 구성요소를 탐색하는 단계와, 상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능한 외향성 상태 천이들 및 목적지 상태들을 검색하는 단계와, 발견된 외향성 상태 전이들과 목적지 상태들을 표시하는 단계와, 상태 전이들과 목적지 상태들의 선택들을 수신하는 단계와, 상기 선택들을 상기 유한 상태 기계를 기술하는 모델에 부가하는 단계, 를 포함한다.
상기 컴퓨터 프로그램은, 컴퓨터 또는 프로세서에 의해 판독가능한 컴퓨터 프로그램 배포 매체에 저장될 수 있다. 상기 컴퓨터 프로그램 매체는, 예를 들어 전기, 자기, 광학적, 적외선 또는 반도체 시스템, 장치 또는 전송매체일 수 있으며, 다음의 매체들 중 적어도 하나를 포함할 수 있지만, 이들에 한정되지 않는다: 컴퓨터로 판독가능한 매체, 프로그램 저장 매체, 기록매체, 컴퓨터로 판독가능한 메모리, 랜덤 억세스 메모리, EPOM(erasable programmable read-only memory), 컴퓨터로 판독가능한 소프트웨어 배포 패키지, 컴퓨터로 판독가능한 신호, 컴퓨터로 판독가능한 통신신호, 컴퓨터로 판독가능한 프린트된 재료, 및 컴퓨터로 판독가능한 압축된 소프트웨어 패키지이다.
본 발명이 첨부된 도면들에 따라 예를 참조하여 위에서 설명되었지만, 본 발명이 이것에 한정하지 않고 첨부된 청구항들의 범주 내에서 여러 가지 방법들에 의해 수정될 수 있다는 것은 명확하다.

Claims (16)

  1. 유한 상태 기계 모델을 구축하기 위한 방법으로서, 상기 방법은,
    적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 표시단계(300)와,
    포커스를 취득하는 상기 상태와 모델링 구성요소를 탐색하는 단계(302)를 포함하며, 상기 방법은,
    상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하는 단계(304)와,
    상기 발견된 외향성 상태 전이들 및 목적지 상태들을 표시하는 단계(306)와,
    상기 상태 전이들 및 목적지 상태들의 선택들을 수신하는 단계(308)와, 그리고
    상기 선택들을, 상기 유한 상태 기계 모델을 기술하는 모델에 부가하는 단계(310)를 특징으로 하는 유한 상태 기계 모델 구축 방법.
  2. 제 1 항에 있어서,
    상기 상태와 관련 있는 상태 및 모델링 구성요소가 포커스를 취득한다는 것을 탐색하는 단계,
    상기 구성요소가 트리거링 이벤트들에게 상기 유한 상태 기계에 포함되어 있 지 않은 이용가능한 상태 전이들 및 목적지 상태들을 제공하는지를 체크하는 단계,
    상기 탐색된 상태 전이들 및 목적지 상태들을 디스플레이에 표시하는 단계를 특징으로 하는 유한 상태 기계 모델 구축 방법.
  3. 제 1 항에 있어서,
    상기 유한 상태 기계에 포함되어 있는 상태 전이들 및 목적지 상태들을, 유한 상태 기계에 포함되어 있지 않은 상태 전이들 및 목적지 상태들과 비교해서 강조되게 표시하는 것을 특징으로 하는 유한 상태 기계 모델 구축 방법.
  4. 제 1 항에 있어서,
    상기 유한 상태 모델은, 전자장치의 유저 인터페이스의 행위를 기술하는 것을 특징으로 하는 유한 상태 기계 모델 구축 방법.
  5. 제 1 항에 있어서,
    상기 모델은, 통합 모델링 언어(United Modeling Language) 상태 챠트인 것을 특징으로 하는 유한 상태 기계 모델 구축 방법.
  6. 제 1 항에 있어서,
    에러 또는 경고를 나타내는 지표들이 상태들과 함께 표시되는 것을 특징으로 하는 유한 상태 기계 모델 구축 방법.
  7. 제 1 항에 있어서,
    상태와 관련 있는 모델링 구성요소는 서브 구성요소들을 포함하는 것을 특징으로 하는 유한 상태 기계 모델 구축 방법.
  8. 제 1 항에 있어서,
    서브 구성요소는 서브 구성요소들을 포함하는 것을 특징으로 하는 유한 상태 기계 모델 구축 방법.
  9. 제 7 항 또는 제 8 항에 있어서,
    서브 구성요소는, 트리거링 이벤트들에 상태 전이들 및 목적지 상태들을 제공하는 것을 특징으로 하는 유한 상태 기계 모델 구축 방법.
  10. 동작가능하도록 상호 연결되어 있는 프로세서(102), 디스플레이(104), 및 입력수단(106)을 포함하는 전자장치로서, 상기 프로세서(102)는, 상태 기계의 상태들과 관련 있는 모델링 구성요소들을 이용하여 유한 상태 기계 모델을 생성하도록 구성되며, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 상기 장치는,
    적어도 하나의 모델링 구성요소와 관련 있는 상태를 상기 디스플레이(104)에 표시하고,
    포커스를 취득하는 상태 및 모델링 구성요소를 탐색하도록, 구성되며, 상기 장치는,
    상기 적어도 하나의 모델링 구성요소가 관련 있는 상기 상태에 관련된 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하고,
    상기 발견된 외향성 상태 전이들 및 목적지 상태들을 표시하고,
    상기 입력수단(106)에 의해, 상태 전이들 및 목적지 상태들의 선택들을 수신하고, 그리고
    상기 프로세서(102)에 의해, 상기 선택들을 상기 유한 상태 기계를 기술하는 모델에 부가하도록 더 구성되는 것을 특징으로 하는 전자장치.
  11. 제 10 항에 있어서,
    상기 장치는,
    상기 상태와 관련 있는 상태 및 모델링 구성요소가 포커스를 취득하는 것을 탐색하고,
    상기 구성요소가 트리거링 이벤트들에 상기 유한 상태 기계에 포함되어 있지 않은 이용가능한 상태 전이들 및 목적지 상태들을 제공하는지를 체크하고,
    상기 탐색된 상태 전이들과 목적지 상태들을 상기 디스플레이(104)에 표시하도록 더 구성되는 것을 특징으로 하는 전자장치.
  12. 제 10 항에 있어서,
    상기 장치는, 상기 유한 상태 기계에 포함된 상기 상태 전이들 및 목적지 상태들을, 상기 유한 상태 기계에 포함되어 있지 않은 상태 전이들 및 목적지 상태들과 비교하여 강조하여 표시하도록 더 구성되는 것을 특징으로 하는 전자장치.
  13. 제 10 항에 있어서,
    상기 장치는, 에러 또는 경고를 나타내는 지표들을 상태들과 함께 표시하도록 더 구성되는 것을 특징으로 하는 전자장치.
  14. 유한 상태 기계 모델을 구축하기 위한 컴퓨터 처리를 실행하기 위한 지시들의 컴퓨터 프로그램을 인코딩하는 컴퓨터 프로그램 제품으로서, 상기 처리는:
    적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는 표시단계(300)와,
    포커스를 취득하는 상기 상태 및 모델링 구성요소를 탐색하는 단계(302)를 포함하며, 상기 처리는:
    상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하는 단계(304)와,
    상기 발견된 외향성 상태 전이들 및 목적지 상태들을 표시하는 단계(306)와,
    상기 상태 전이들 및 목적지 상태들의 선택들을 수신하는 단계(308)와, 그리고
    상기 선택들을 상기 유한 상태 기계를 기술하는 모델에 부가하는 단계(310)를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 제품.
  15. 유한 상태 기계모델을 구축하기 위한 컴퓨터 처리를 실행하기 위한 지시들의 컴퓨터 프로그램을 인코딩하고 컴퓨터에 의해 판독가능한 컴퓨터 프로그램 배포 매체로서, 상기 처리는:
    적어도 하나의 모델링 구성요소와 관련 있는 상태를 디스플레이에 표시하는 단계로서, 상기 구성요소는 이용가능한 트리거링 이벤트들에 대한 정보를 포함하는, 표시단계(300)와,
    포커스를 취득하는 상기 상태 및 모델링 구성요소를 탐색하는 단계(302)를 포함하며, 상기 처리는:
    상기 적어도 하나의 모델링 구성요소와 관련 있는 상태에 관한 가능성 있는 외향성 상태 전이들 및 목적지 상태들을 검색하는 단계(304)와,
    상기 모델링 구성요소와 관련 있는 상태에 관한 탐색된 외향성 상태 전이들 및 목적지 상태들을 표시하는 단계(306)와,
    상기 상태 전이들 및 목적지 상태들의 선택들을 수신하는 단계(308)와, 그리고
    상기 선택들을 상기 유한 상태 기계를 기술하는 모델에 부가하는 단계(310)를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 배포 매체.
  16. 제 15 항에 있어서,
    상기 배포 매체는 다음의 매체들 중 적어도 하나를 포함하는, 컴퓨터 프로그램 배포 매체: 컴퓨터로 판독가능한 매체, 프로그램 저장 매체, 기록매체, 컴퓨터로 판독가능한 메모리, 컴퓨터로 판독가능한 소프트웨어 배포 패키지, 컴퓨터로 판독가능한 신호, 컴퓨터로 판독가능한 통신신호, 및 컴퓨터로 판독가능한 압축된 소프트웨어 패키지.
KR1020087003096A 2005-07-12 2006-07-11 유한 상태 기계 모델 구축 KR20080048454A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20055408A FI118064B (fi) 2005-07-12 2005-07-12 Äärellisen tilakonemallin luominen
FI20055408 2005-07-12

Publications (1)

Publication Number Publication Date
KR20080048454A true KR20080048454A (ko) 2008-06-02

Family

ID=34803276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087003096A KR20080048454A (ko) 2005-07-12 2006-07-11 유한 상태 기계 모델 구축

Country Status (6)

Country Link
US (1) US20080270101A1 (ko)
EP (1) EP1907958A4 (ko)
JP (1) JP2009501970A (ko)
KR (1) KR20080048454A (ko)
FI (1) FI118064B (ko)
WO (1) WO2007006869A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210060998A (ko) * 2019-11-19 2021-05-27 주식회사 카카오뱅크 유한 상태기계 생성 방법, 유한 상태기계 운영 방법, 이를 수행하는 서버 및 컴퓨터 프로그램

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412483B2 (en) * 2005-01-07 2008-08-12 International Business Machines Corporation Automated email activity management
US8605888B2 (en) * 2006-12-01 2013-12-10 Samsung Electronics Co., Ltd. Method for making status function matrix and method for controlling call connection using it
EP2169489B1 (en) * 2008-09-30 2012-08-01 Siemens Aktiengesellschaft Method for implementing production processes
US9009609B2 (en) 2011-09-15 2015-04-14 International Business Machines Corporation Interaction with a visualized state transition model
WO2013123376A1 (en) 2012-02-15 2013-08-22 The Mathworks, Inc. Unified state transition table describing a state machine model
JP6033891B2 (ja) * 2012-02-15 2016-11-30 ザ マスワークス, インクThe Mathworks, Inc. 状態図の生成
US9733782B2 (en) * 2013-09-13 2017-08-15 Fujitsu Limited Extracting a deterministic finite-state machine model of a GUI based application
US9652360B2 (en) * 2014-04-04 2017-05-16 Fujitsu Limited Crawling for extracting a model of a GUI-based application
US10078502B2 (en) * 2014-06-19 2018-09-18 Fujitsu Limited Verification of a model of a GUI-based application
EP3350962B1 (en) * 2015-09-18 2021-11-03 Telefonaktiebolaget LM Ericsson (PUBL) Management of communication between m2m device and m2m server
US10430211B2 (en) * 2016-09-12 2019-10-01 Ignition Interfaces, Inc. Parameterized user interface for capturing user feedback
EP3340044A1 (en) * 2016-12-22 2018-06-27 Ecole Nationale de l'Aviation Civile Method and apparatus for processing software code

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485600A (en) * 1992-11-09 1996-01-16 Virtual Prototypes, Inc. Computer modelling system and method for specifying the behavior of graphical operator interfaces
US5801687A (en) * 1994-09-30 1998-09-01 Apple Computer, Inc. Authoring tool comprising nested state machines for use in a computer system
US6222537B1 (en) * 1997-07-29 2001-04-24 International Business Machines Corporation User interface controls for a computer system
WO2000033235A1 (en) * 1998-11-30 2000-06-08 Siebel Systems, Inc. State models for monitoring processes
US6718533B1 (en) * 1999-02-26 2004-04-06 Real-Time Innovations, Inc. Method for building a real-time control system with mode and logical rate
US6031747A (en) * 1999-08-02 2000-02-29 Lockheed Martin Missiles & Space Company Interleaved synchronous flyback converter with high efficiency over a wide operating load range
US6668203B1 (en) * 2001-04-26 2003-12-23 Sandia Corporation State machine analysis of sensor data from dynamic processes
US7415483B2 (en) * 2002-06-05 2008-08-19 Sap Ag Individual data objects in enterprise computing systems
US7231630B2 (en) * 2002-07-12 2007-06-12 Ensequence Inc. Method and system automatic control of graphical computer application appearance and execution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210060998A (ko) * 2019-11-19 2021-05-27 주식회사 카카오뱅크 유한 상태기계 생성 방법, 유한 상태기계 운영 방법, 이를 수행하는 서버 및 컴퓨터 프로그램

Also Published As

Publication number Publication date
FI20055408A (fi) 2007-01-13
US20080270101A1 (en) 2008-10-30
JP2009501970A (ja) 2009-01-22
EP1907958A1 (en) 2008-04-09
WO2007006869A1 (en) 2007-01-18
FI118064B (fi) 2007-06-15
FI20055408A0 (fi) 2005-07-12
EP1907958A4 (en) 2010-10-06

Similar Documents

Publication Publication Date Title
KR20080048454A (ko) 유한 상태 기계 모델 구축
WO2019144680A1 (zh) 自动化测试方法及装置、存储介质、电子设备
US6829733B2 (en) System and method for graphically detecting differences between test executive sequence files
US7228524B2 (en) Method and system for analysis of software requirements
US8015550B2 (en) Systems and methods for hazards analysis
US8249732B2 (en) System and method for developing automated templates for knowledge capture
US8327333B2 (en) Apparatus, method, and system of assisting software development
CN101025686A (zh) 一种自动化测试系统及测试脚本的生成和运行方法
US20080015911A1 (en) Methods and apparatuses for developing business solutions
KR20060051821A (ko) 사용자 인터페이스 구성요소를 가시화하기 위한 시스템 및방법
US10635855B1 (en) Code comment markup
US8589858B1 (en) Requirement manager for UML and SysML application
CN107480369B (zh) 一种pcb设计中分类显示drc的设计、操作方法
CN104937540B (zh) 获取与类似代码相关联的应用生命周期管理实体的标识
US20110126171A1 (en) Dynamic native editor code view facade
KR20080043345A (ko) 선언적으로 정의되는 컨트롤 액션
CN117215556A (zh) 模块化的页面快速构建方法、系统、设备及介质
CN101710275A (zh) 利用gui工具来编辑工作流逻辑和屏幕的方法和系统
US8548798B2 (en) Representations for graphical user interfaces of operators, data types, and data values in a plurality of natural languages
JP4397393B2 (ja) モジュラー構造のメッセージを修正する方法および装置
Pradhan User interface test automation and its challenges in an industrial scenario
CN113220596B (zh) 应用的测试方法、装置、设备、存储介质及程序产品
US20230401056A1 (en) Interactive code visualization system
JP6281239B2 (ja) プログラム開発サポート装置および方法
Le Comparing State Management Between Redux And Zustand In React

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid