Product Lines Platform Wiki

The most promising software development paradigm for increasing productivity.

사용자 도구

사이트 도구


assets:architecturemodel

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

assets:architecturemodel [2014/05/23 23:10]
wiki_admin [Process Architecture Model]
assets:architecturemodel [2014/11/25 00:03] (현재)
edeward
줄 8: 줄 8:
  
  
-{{assets:​form_architecture_model.png?450}}+{{assets:​form_architecture_model.png}}
  
 <​그림1>​ 아키텍처 모델과 구성요소들 사이의 관계 <​그림1>​ 아키텍처 모델과 구성요소들 사이의 관계
줄 25: 줄 25:
 아래의 <​그림2>​는 개념적 아키텍처의 예를 보여준다. 개념적 아키텍처에서 개발자는 시스템과 외부 개체들 그리고 구분된 개념적인 기능들 사이의 제어와 데이터 흐름을 모델링 할 수 있다. 아래의 <​그림2>​는 개념적 아키텍처의 예를 보여준다. 개념적 아키텍처에서 개발자는 시스템과 외부 개체들 그리고 구분된 개념적인 기능들 사이의 제어와 데이터 흐름을 모델링 할 수 있다.
  
-{{assets:​subsystem_architecture_exam.png?450}}+{{assets:​subsystem_architecture_exam.png}}
  
 <​그림2>​ 개념적 아키텍처의 예  <​그림2>​ 개념적 아키텍처의 예 
줄 31: 줄 31:
 개념적 아키텍처 모델은 <​그림3>​과 같이 개념적인 컴포넌트(Conceptual Component)단위로 계층적으로 세분화 될 수 있으며 세분화된 계층들 가운데 최상위에서 구분된 기능을 서브시스템(Subsystem)이라고 할 수 있다. 개념적인 컴포넌트를 이용하여 기능의 세분화를 진행하다가 더이상 세부 기능으로 구분할 필요가 없거나 구분될 수 없는 개념적인 컴포넌트를 기능적인 컴포넌트(Functional Component)라고 한다. <​그림2>​의 예에서 ''​운전제어시스템''​과 ''​관리시스템''​은 필요시 좀 더 세분화된 개념적 컴포넌트로 나눠질 수 있다. 개념적 아키텍처 모델은 <​그림3>​과 같이 개념적인 컴포넌트(Conceptual Component)단위로 계층적으로 세분화 될 수 있으며 세분화된 계층들 가운데 최상위에서 구분된 기능을 서브시스템(Subsystem)이라고 할 수 있다. 개념적인 컴포넌트를 이용하여 기능의 세분화를 진행하다가 더이상 세부 기능으로 구분할 필요가 없거나 구분될 수 없는 개념적인 컴포넌트를 기능적인 컴포넌트(Functional Component)라고 한다. <​그림2>​의 예에서 ''​운전제어시스템''​과 ''​관리시스템''​은 필요시 좀 더 세분화된 개념적 컴포넌트로 나눠질 수 있다.
  
-{{assets:​conceptual_component_refinement.png?450}}+{{assets:​conceptual_component_refinement.png}}
  
 <​그림3>​ 개념적 컴포넌트를 이용한 아키텍처의 세분화 개념 <​그림3>​ 개념적 컴포넌트를 이용한 아키텍처의 세분화 개념
줄 53: 줄 53:
 프로세스와 프로세스 사이의 상호작용은 프로세스 커넥터(Process Connector)를 이용하여 연결된다. 프로세스 커넥터는 이후 메시지 통신, 공유데이터,​ 이벤트 동기화등의 방식으로 구현될 수 있다. 프로세스 통신 커넥터는 개념 컴포넌트들 사이의 연결관계가 프로세스 아키텍처에서 상세화 (Refinement)된 것이다. 그러므로 개념 컴포넌트 사이의 논리적인 상호작용이 존재한다면 프로세스 컴포넌트 사이에도 프로세스 커넥터로 연결이 되어 있어야 한다. 프로세스와 프로세스 사이의 상호작용은 프로세스 커넥터(Process Connector)를 이용하여 연결된다. 프로세스 커넥터는 이후 메시지 통신, 공유데이터,​ 이벤트 동기화등의 방식으로 구현될 수 있다. 프로세스 통신 커넥터는 개념 컴포넌트들 사이의 연결관계가 프로세스 아키텍처에서 상세화 (Refinement)된 것이다. 그러므로 개념 컴포넌트 사이의 논리적인 상호작용이 존재한다면 프로세스 컴포넌트 사이에도 프로세스 커넥터로 연결이 되어 있어야 한다.
  
-{{assets:​process_architecture_exam.png?450}}+{{assets:​process_architecture_exam.png}}
  
 <​그림3>​ 운전제어시스템의 프로세스 아키텍처 예제 ​ <​그림3>​ 운전제어시스템의 프로세스 아키텍처 예제 ​
줄 59: 줄 59:
 <​그림3>​은 개념적 아키텍처에서 정의된 ''​운전제어시스템''​에 연결된(Mapping) 프로세스 아키텍처의 예를 보여준다. 예제에서 정의된 프로세스 컴포넌트는 모두 상주 프로세스로 데이터가 입력될 때마다 해당 데이터를 처리한 이후, 상호작용 방식에 따라 연산 결과를 다른 프로세스 컴포넌트로 전달하게 설계되어 있다. 프로세스 컴포넌트들 사이에 통신 방식은 크게 메시지 큐(Message Queue)와 메시지 응답(Message Reply) 방식만 사용되고 있다. 메시지 큐는 비동기 방식이므로 이 방식으로 연결된 프로세스들은 동시에 병렬 수행되고,​ 메시지 응답은 동기식 방식인 관계로 데이터를 보내는 프로세스 컴포넌트가 데이터를 수신한 프로세스 컴포넌트로부터 응답이 올때까지는 대기하고 있어야 한다. <​그림3>​은 개념적 아키텍처에서 정의된 ''​운전제어시스템''​에 연결된(Mapping) 프로세스 아키텍처의 예를 보여준다. 예제에서 정의된 프로세스 컴포넌트는 모두 상주 프로세스로 데이터가 입력될 때마다 해당 데이터를 처리한 이후, 상호작용 방식에 따라 연산 결과를 다른 프로세스 컴포넌트로 전달하게 설계되어 있다. 프로세스 컴포넌트들 사이에 통신 방식은 크게 메시지 큐(Message Queue)와 메시지 응답(Message Reply) 방식만 사용되고 있다. 메시지 큐는 비동기 방식이므로 이 방식으로 연결된 프로세스들은 동시에 병렬 수행되고,​ 메시지 응답은 동기식 방식인 관계로 데이터를 보내는 프로세스 컴포넌트가 데이터를 수신한 프로세스 컴포넌트로부터 응답이 올때까지는 대기하고 있어야 한다.
  
-{{assets:​mapping_between_architecture_models.png:450}}+{{assets:​mapping_between_architecture_models.png}}
  
 <​그림4>​ 개념적 컴포넌트와 프로세스 컴포넌트들 사이의 연결 관계 <​그림4>​ 개념적 컴포넌트와 프로세스 컴포넌트들 사이의 연결 관계
assets/architecturemodel.txt · 마지막으로 수정됨: 2014/11/25 00:03 저자 edeward