주요 콘텐츠

활동 다이어그램을 사용하여 시스템 거동 설명하기

활동 다이어그램은 제어된 일련의 액션을 통해 입력에서 출력으로 토큰이 흐르는 과정을 모델링하여 시스템 거동을 설명합니다. 활동 다이어그램에는 흐름 선으로 연결된 핀을 갖는 액션 노드가 포함되어 있습니다.

액션은 활동의 구성요소이며, 활동이 실행될 때 발생하는 동작을 설명합니다. 각 액션은 입력을 받고 출력을 생성할 수 있습니다(입력과 출력은 각각 토큰이라고 함).

활동 다이어그램을 사용하여 시스템을 개념화하고, 액션이나 결정을 통해 기능적 흐름을 시각화하고, 시스템 컴포넌트가 서로 상호 작용하는 방식을 이해합니다.

[Allocation Editor]를 사용하여 활동 다이어그램의 요소를 System Composer™ 아키텍처 모델의 요소에 할당하여 기능 아키텍처 설계를 더욱 완전하게 설명할 수 있습니다. 자세한 내용은 이동 로봇의 아키텍처 및 활동 다이어그램 설계 항목을 참조하십시오.

다음 개념은 활동 다이어그램을 작성하는 데 필요합니다.

  • 토큰(token)은 활동 다이어그램에서 흐르는 객체입니다. 토큰은 구조체 및 정수와 같은 데이터를 나타낼 수도 있고, 단순히 제어를 전달할 수도 있습니다.

    토큰의 유형은 다음과 같습니다.

    • 객체 토큰(object token) — 데이터 조각과 같은 객체를 나타냅니다.

    • 제어 토큰(control token) — 데이터를 전달하지 않는 제어 또는 트리거 이벤트를 나타냅니다.

  • 활동 다이어그램의 흐름(flow)은 두 개의 노드를 연결합니다. 파선은 제어 흐름을 나타냅니다. 실선은 객체 흐름을 나타냅니다.

    흐름의 유형은 다음과 같습니다.

    • 객체 흐름(object flow) — 객체 흐름의 토큰은 액션이 동작을 수행하는 토큰 데이터를 포함합니다. 객체 흐름을 사용하면 입력 또는 출력 토큰을 라우팅하여 객체 노드 간에 정보나 물리 항목을 전달할 수 있습니다.

    • 제어 흐름(control flow) — 제어 흐름의 토큰은 액션의 실행을 트리거합니다. 제어 흐름을 사용하면 Action Node 간의 제어 전달을 모델링할 수 있습니다.

  • 액션 노드(action node)는 활동 다이어그램의 핵심 구성요소입니다. 액션 노드는 실행할 액션을 나타냅니다. 액션 노드는 입력 토큰을 수신하고 핀에 출력 토큰을 생성합니다.

    MATLAB® 함수 또는 중첩된 활동 다이어그램을 사용하여 액션 노드의 거동을 설명합니다.

  • 제어 노드(control node)는 시스템 전체에서 토큰의 논리적 흐름을 라우팅합니다.

    제어 노드와 흐름을 사용하여 토큰을 라우팅합니다. 제어 노드는 토큰 흐름을 초기화, 분할, 병합 및 종료하는 데 사용할 수 있습니다.

    다음은 활동에 있는 다양한 유형의 제어 노드입니다.

    • Initial Node — 활동 시작 시 제어 토큰을 디스패치합니다.

    • Decision or Merge Node — 결정 노드는 가드식(guard expression)의 실행 결과에 따라 입력 토큰을 출력 흐름으로 라우팅합니다. 병합 노드(merge node)는 여러 입력 흐름에서 들어오는 토큰을 단일 출력 흐름으로 라우팅합니다. 병합 결정 노드는 가드식의 실행 결과에 따라 여러 입력 흐름에서 들어오는 토큰을 특정 출력 흐름으로 라우팅합니다.

    • Join or Fork Node — 조인 노드(join node)는 각 입력 핀에서 토큰을 사용할 수 있을 때, 여러 개의 입력 토큰을 하나의 출력 흐름으로 통합합니다. 포크 노드(fork node)는 하나의 입력 토큰을 받아 각 출력 흐름에 복제합니다.

    • Flow Final Node — 하나의 객체 또는 제어 흐름을 종료하며, 전체 활동은 종료하지 않습니다.

    • Activity Final Node — 들어오는 토큰과 전체 활동을 종료합니다.

  • 핀(pin)은 객체 토큰의 버퍼 역할을 하며, 토큰이 액션 노드로 들어가거나 액션 노드에서 나가도록 지시합니다. 핀의 방향성은 입력 또는 출력을 나타냅니다. 객체 흐름으로 핀을 연결할 수 있습니다.

    핀을 사용하여 객체 토큰을 Action Node로 들어가거나 나가도록 라우팅합니다. 핀은 실행 전이나 실행 중에 객체 토큰을 저장하는 데에도 사용됩니다. 핀은 객체 흐름에만 사용할 수 있습니다.

  • 유형(type)은 핀을 통해 흐르는 토큰의 내용을 정의합니다. 유형에는 차원, 단위, 실수/복소수 여부, 최솟값, 최댓값, 설명이 포함됩니다.

    활동 다이어그램에는 다음 세 가지 토큰 유형이 있습니다.

    • 값 유형: 값 유형(value type)은 하나의 값에 할당되는 유형입니다.

    • 복합 유형: 복합 유형(composite type)은 여러 값 및 데이터형의 필드를 포함하는 버스 구조체와 동일합니다.

    • MATLAB 클래스 유형: MATLAB 클래스 유형(MATLAB class type)은 경로에 있는 MATLAB 클래스를 참조하여, 속성과 메서드를 갖는 복잡한 객체를 정의합니다. 내장 MATLAB 클래스를 사용하거나 자신만의 고유한 MATLAB 클래스를 정의할 수 있습니다. MATLAB 클래스 유형을 사용하는 방법에 대한 자세한 내용은 Model Complex Objects in Activity Diagrams Using MATLAB Class Tokens 항목을 참조하십시오.

  • 파라미터 노드(parameter node)는 중첩된 활동 다이어그램으로 들어가거나 나가도록 토큰을 라우팅합니다. 핀이 생성되면 중첩된 활동 내부에 이에 대응되는 파라미터 노드가 생성됩니다.

    파라미터 노드를 사용하여 토큰이 중첩된 활동에 들어가거나 나가는 방식을 정의합니다. 파라미터 노드에는 입력과 출력 두 가지 유형이 있습니다.

새 활동 다이어그램 만들기

System Composer 시작 페이지를 실행하여 활동 다이어그램을 만듭니다. MATLAB 명령 창에 다음 명령을 입력합니다.

systemcomposer

대화 상자가 열리면 [Activity Diagram]을 선택합니다.

Activity Diagram from Simulink Start menu

또는 systemcomposer.createActivity 함수를 사용하여 새 활동 다이어그램을 만들 수 있습니다.

활동 다이어그램 작성, 시뮬레이션, 시각화하기

활동 다이어그램은 System Composer에서 아키텍처 모델과 통합됩니다. 시스템을 설계할 때 활동 다이어그램을 사용하여 시스템을 개념화하고 액션이나 결정의 흐름을 시각화할 수 있습니다. 활동 다이어그램은 시스템 요소가 어떻게 서로 상호 작용하는지 이해하는 데 도움이 됩니다. System Composer에서는 활동 다이어그램을 시뮬레이션하고 시각화하여 시스템 거동을 검증할 수도 있습니다.

항목설명
Author Activity Diagrams활동 다이어그램을 대화형 방식으로 만들고 편집하며 용어를 익힙니다.
Simulate, Visualize, and Validate Activity Diagrams활동 다이어그램을 시뮬레이션하고 시각화하여 시스템 거동을 검증합니다.

System Composer 개념이 시스템 공학 설계에 어떻게 적용되는지 자세히 알아보려면 System Composer Concepts 항목을 참조하십시오.

참고 항목

함수

블록

도움말 항목