목록CCR (7)
CHOU
CCR 에서 WinForm들 간의 이벤트를 제어하는 방법을 알아보겠습니다. 우선 아래 그림과 같이 WinForm을 생성 한 후, 각각의 WinForm에서 발생하는 이벤트들을 중간의 CCR Program을 통해서 상호 중계해주는 예제를 알아보겠습니다. 그림1. 예제 다이어그램(출처: 네이버 MSRDS 카페) 메인 폼에서는 각각의 WinForm으로 부터 메세지를 받는 포트들을 정의해 놓고, 이러한 포트들에 메시지가 등록될 경우 실행되는 핸들러를 정의 합니다. 이 핸들러에서는 다시 각각 WinForm 들의 메소드를 호출하는 명령어를 기술해 놓아서 수신받은 다른 폼에 전달되도록 합니다. 즉, 별도의 WinForm으로 부터 데이터를 받을 때에는 포트를 통해서 받고, 이 포트에 연결된 핸들러안에서 FormInvok..
Arbiter는 CCR에서 가장 중요한 기능을 담당하는데 크게 3가지의 기능을 제공합니다. 1) 다른 프로시저(핸들러) 형태로 정의되어 있는 부분을 ITask에 매핑시켜서 해당 프로시저가 수행할 수 있도록 합니다. 2) Coordination 기능으로서 특정한 메세지를 해당 핸들러에 매핑시켜서, 해당 메세지가 수신되면 해당 헨들러에 전달하여 해당 핸들러가 수행되도록 합니다. 3) 동시성을 제어하는 기능으로, 특정한 시점에 동시 실행을 허용하던가, 아니면 배타적으로 오직 하나의 작업만 수행다던가 하는 선택 작업을 수행할 수 있습니다. 오늘은 핸들러 형태로 정의되어 있는 프로시저 부분을 ITask로 변환시켜서 해당 핸들러 안에 구현되어 있는 작업들을 실행시키는 예제를 수행하면서 위에 1번의 기능에 대해 알아..
PortSet은 멀티 배열과 같이 여러 형식의 값을 저장할 수 있는데 PortSet에 값을 추가하기 위해서는 Post 메소드를 사용해야 하며, 값을 읽어오기 위해서는 Test 명령을 사용하면 됩니다. PortSet의 기능을 알아보기 위해서 http://cafe.naver.com/msrskorea 에 김영준 수석님께서 올려주신 예제를 구현해 보겠습니다. 1. C# Windows Form Application 프로젝트를 생성합니다. 그림1. 프로젝트 생성화면 2. 레퍼런스에 Microsoft.Ccr.Core.dll 을 추가해 주고 코드 상단에 선언해 줍니다. 그림2. .NET 레퍼런스 창 화면 //add code using Microsoft.Ccr.Core; using Microsoft.Ccr.Core.Ar..
CCR에서는 메세지를 주고 받기 위해 Port 라는 방식을 적용하는데 Port는 1차원 배열과도 같으며, 메세지를 저장하고있는 객체로 볼 수 있습니다. 기존 C#에서의 List 객체와 유사하다고 생각하시면 됩니다. Port에 값을 추가하기 위해서는 Post Method를 사용해야 하고, 값을 읽어오기 위해서는 Test 명령을 사용합니다. Port 기능을 http://cafe.naver.com/msrskorea 에 김영준 수석 님께서 올려주신 예제를 구현해 보면서 알아보겠습니다. 1. C# Windows Forms Application을 생성합니다. 그림1. 프로젝트 생성화면 2. 레퍼런스(Reference)에 Microsoft.Ccr.Core.dll 을 추가해 주고 코드화면 상단에 정의해 줍니다. 그림2..
CCR(Concurrency and Coordination Tuntime)에서는 원하는 기능 즉 Task를 ITask 라는 형식으로 정의합니다. 정의 된 ITask 형식의 Data를 DispatcherQueue에 넣으면 Dispatcher가 해당 ITask를 읽어서 해당 기능을 처리합니다. 오늘은 ITask에 대해서 http://cafe.naver.com/msrskorea 예문을 통해 알아보겠습니다. 1. 우선 Visual Studio 2008 C# WindowsApplication을 생성해 줍니다. 이름은 적당한 형식으로 지정해 주시면 됩니다. 그림1. 프로젝트 생성 화면 2. 레퍼런스(Reference) 추가를 선택하여 Microsoft.Ccr.Core.dll 을 추가해 줍니다. 그림2. .NET 레..