{{위키데이터 속성 추적}}
{{다른 뜻 넘어옴|데브스|드라마|데브스 (드라마)}}
'''이산사건 시스템 명세'''(Discrete Event System Specification, 이하 DEVS)는 [[애리조나 대학교]]의 교수인 [[버나드 P. 지글러]](Bernard P. Zeigler)<ref>{{웹 인용 |url=http://www.acims.arizona.edu/MEMBERS/bio/BPZWebBio.htm |제목=보관된 사본 |확인날짜=2010-04-06 |보존url=https://web.archive.org/web/20100625215838/http://www.acims.arizona.edu/MEMBERS/bio/BPZWebBio.htm# |보존날짜=2010-06-25 |url-status=dead }}</ref> 가 고안한 [[모형]]화를 위한 계층적 형식론(形式論, formalism)으로 사건의 발생에 따라 상태가 변하는 관점에서 시스템의 동적인 변화를 기술한다.

== 역사 ==
DEVS 형식론은 지글러가 자신의 박사학위 논문을 작성하던 중 [[오토마타 이론|오토마타]]<ref>[[오토마타 이론|오토마타]]는 지글러의 박사학위 논문에서 수학모델로 사용되었다.</ref><ref><nowiki>[Zeigler68]</nowiki></ref>에서부터 (1) 입력 사건에 의해서 상태가 천이(遷移, transition)되거나 (2) 시간의 흐름에 따라서 내부적으로 상태 천이<ref name="output">이때 출력 사건을 발생시킴</ref>가 가능한 방법론을 고안하게 된다. 그는 1976년에 출간된 그의 첫 번째 저서인 ''Theory of Modeling and Simulation''<ref><nowiki>[Zeigler76]</nowiki></ref>에서 이러한 방법론을 [[미분방정식]]으로 표현되는 연속 시스템(continuous system)과 차분방정식(difference equation)으로 표현되는 이산시간시스템(discrete time system)과 비교하여 설명하였다.

== 형식론 ==
DEVS는 수학적으로 크게 원소 모델과 연결 모델로 구성된다.

=== 원소 모델 ===
'''원소 DEVS 모델'''은 (1) 입력 사건에 의한 상태의 천이와 (2) 시간 진행에 따른 내부 상태의 천이<ref name="output" />를 기술하기 위해서, 다음의 7개의 요소를 이용한다.
: <math>M = \, <X,Y,S,ta, \delta_{ext}, \delta_{int}, \lambda> \,</math>
여기서
<blockquote>
* <math>X</math>는 입력 사건 집합(set of input events)을 의미한다.
* <math>Y</math>는 출력 사건 집합(set of output events)을 의미한다.
* <math>S</math>는 상태 집합(set of states)을 의미한다.
* <math>ta:S \rightarrow \mathbb{R}_{[0,\infty]}</math>는 시간 전진 함수(time advance function)로서, 어떤 상태에 얼마나 머물 수 있는가를 기술하는 데 사용된다.<ref>
예를 들면,

:<math>ta</math>(공부)=50분, <math>ta</math>(사망)=<math>\infty </math>
는 '공부'라는 상태는 50분 동안, '사망'이라는 상태는 무한히 오래 유지됨을 각각 표시한다.</ref>
** 여기서 <math>\mathbb{R}_{[0,\infty]}</math>는 무한대(infinity)를 포함한 비음(non-negative)의 실수 집합을 의미한다.
* <math>\delta_{ext}:Q \times X \rightarrow  S </math>는 외부 상태 천이함수(external transition function)로서, 외부의 입력 사건이 원소 모델의 상태를 어떻게 변화시키는가를 기술하는 데 사용된다.
** 여기서 <math>Q=\{(s,t_e)|s \in S,  t_e \in ([0,\infty)\cap[0,ta(s)]) \}</math>는 총 상태(total state) 집합을, <math>t_e</math>는 최근 사건 발생 이후부터의 소요시간(elapsed time)을 각각 의미한다.
* <math>\delta_{int}:S \rightarrow S </math>는 내부 상태 천이함수(internal transition function)로서, 외부의 입력사건과 무관하게 소요시간이 현 상태의 수명(lifespan)에 도달 했을 때에 다음 상태로 바뀌는 현상을 기술하는 데 사용된다.
* <math>\lambda:S \rightarrow  Y</math>는 출력 함수(output function)로서, 내부상태 천이가 발생하는 시점에서 외부로 출력 사건을 발생하는 것을 기술하는 데 사용된다.
</blockquote>

=== 연결 모델 ===
'''연결 DEVS 모델'''은 DEVS모델을 연결하여 커다란 시스템을 만들고, 또 그 시스템이 더 큰 시스템의 부품으로 사용될 수 있도록 하는 기능을 제공한다. 따라서 DEVS 형식론을 사용할 경우 모델을 부품화(部品化, modular)하고 계층적으로 개발할 수 있는 장점이다.

다음 8개의 요소로 정의된다.
: <math> N = \, <X,Y,D,\{M_i\},C_{xx}, C_{yx}, C_{yy}, Select> \,</math>
여기서
<blockquote>
* <math>X</math>는 입력 사건 집합(set of input events)을 의미한다.
* <math>Y</math>는 출력 사건 집합(set of output events)을 의미한다.
* <math>D</math>는 구성 모델의 이름 집합(name set of sub-components)을 의미한다.
* <math>\{M_i\}</math>는 구성 모델 집합(set of sub-components)을 의미한다. 여기서, 한 <math>i \in D</math>에 대한 <math>M_i</math>는 원소 DEVS 모델이거나 연결 DEVS 모델이다.
* <math>C_{xx}\subseteq X \times \bigcup_{i \in D} X_i</math> 은 입력 연결 집합(set of external input couplings)을 의미한다.
* <math>C_{yx}\subseteq \bigcup_{i \in D} Y_i \times \bigcup_{i \in D} X_i</math> 은 내부 연결 집합(set of internal couplings)을 의미한다.
* <math>C_{yy}\subseteq \bigcup_{i \in D} Y_i \times Y</math>는 출력 연결 집합(set of external output couplings)을 의미한다.
* <math>Select:2^D \rightarrow D</math>는 동률 해결 함수(tie-breaking function)로서, 구성 모델 중에 동일한 시점의 내부 상태 천이 일정을 갖는 복수의 모델이 존재할 때에 어떤 모델을 선택할지를 기술할 때에 사용된다.
</blockquote>

== 참고 문헌 ==
* [Cellier91] {{서적 인용|저자 = Francois E. Cellier | 연도= 1991| 제목 = Continuous System Modeling| publisher = Springer|ISBN=978-0387975023  |edition=first}}
* [CK06] {{서적 인용|저자 = Francois E. Cellier and Ernesto Kofman| 연도= 2006| 제목= Continuous System Simulation| publisher = Springer|ISBN=978-0387261027 |edition=first}}
* [Zeigler68] {{서적 인용|저자 = Bernard Zeigler | 연도= 1968| 제목= On the Feedback Complexity of Automata| publisher = University of Michigan | id = |edition=Ph.D. Thesis}}
* [Zeigler76] {{서적 인용|저자 = Bernard Zeigler | 연도= 1976| 제목= Theory of Modeling and Simulation| publisher = Wiley Interscience, New York  | id = |edition=first}}
* [Zeigler84] {{서적 인용|저자 = Bernard Zeigler | 연도= 1984| 제목= Multifacetted Modeling and Discrete Event Simulation | publisher = Academic Press, London; Orlando |ISBN=978-0127784502  |}}
* [Zeigler87] {{저널 인용|저자 = Bernard Zeigler|연도=1987| 제목= Hierarchical, modular discrete-event modelling in an object-oriented environment | 저널= SIMULATION | 볼륨= 49 | 페이지=219–230}}
* [ZKP00] {{서적 인용|저자 = Bernard Zeigler, Tag Gon Kim, Herbert Praehofer| 연도= 2000| 제목= Theory of Modeling and Simulation| publisher = Academic Press, New York  |ISBN=978-0127784557 |edition=second}}

== 각주 ==
<references />

[[분류:형식 언어]]
[[분류:이론 컴퓨터 과학]]