corba cim framework
Download
Skip this Video
Download Presentation
CORBA 를 이용한 CIM Framework 개발

Loading in 2 Seconds...

play fullscreen
1 / 39

CORBA 를 이용한 CIM Framework 개발 - PowerPoint PPT Presentation


  • 164 Views
  • Uploaded on

CORBA 를 이용한 CIM Framework 개발. 1999. 10. 29 이 경 렬. ㈜ 글로벌데이타시스템. G D S. 목차. 프로젝트 개요 Framework CORBA CIM Framework 결론. 프로젝트 개요. 프로젝트명 객체기술과 CORBA 를 이용한 분산 제조 메카트로닉스 시스템의 통합 · 운영 S/W 개발 연구기간 1997.1.1 ~ 1998.12.31 (24 개월 ) 추진내용 CIM 업무 분석 및 CIM Framework 설계

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CORBA 를 이용한 CIM Framework 개발' - thuyet


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
corba cim framework

CORBA를 이용한 CIM Framework 개발

1999. 10. 29

이 경 렬

㈜글로벌데이타시스템

G D S

slide2
목차
  • 프로젝트 개요
  • Framework
  • CORBA
  • CIM Framework
  • 결론
slide3
프로젝트 개요
  • 프로젝트명

객체기술과 CORBA를 이용한 분산 제조 메카트로닉스 시스템의 통합·운영 S/W 개발

  • 연구기간

1997.1.1 ~ 1998.12.31 (24개월)

  • 추진내용
    • CIM 업무 분석 및 CIM Framework 설계
    • 객체지향 방법론을 적용한 CIM 컴포넌트 개발
    • CORBA를 이용한 분산 CIM 개발
slide4
프로젝트 개요 (cont.)
  • 배경

정보 시스템 구축 생산성 저하

축적된 기술 및 소스 재사용의 어려움

반복 개발에 따른 고비용 및 장기간 소요

분산 컴퓨팅 환경 대비 취약

이종 시스템간 통합의 어려움

분산 제조 시스템 통합 기술 취약

업무 환경 급속 변화

Internet의 고성장 및 고속화

H/W 고성능화 및 저가 가속

표준(CORBA) 채택으로 global화

slide5
높은 개발 생산성
  • 높은 안정성
  • BPR효과
  • 분산 환경 적응

Framework

분산기술 (CORBA)

프로젝트 개요 (cont.)
  • 개발방향
    • 재사용성이 뛰어난 S/W 개발
    • 대상 기업에 맞는 유연성이 뛰어난 S/W 개발
    • 분산컴퓨팅환경에서 분산 시스템간 연결
framework
Framework
  • Definition
    • A framework is a set of prefabricated software building blocks that programmers can use, extend, or customize for specific computing solutions.
    • A framework is a set of classes that embodies an abstract design for solutions to a family of related problems.

by Taligent (www.taligent.com)

※ 특정 업무(Problem Domain)를 해결하기 위해 상호 동작이 기정의되어 있는 객체들의 집합을 말하며, 각 객체들은 상속 등을 통해 변경 및 확장될 수 있다.

framework cont
Framework (cont.)
  • Structural Programming vs. Framework

Structural Programming

Framework

main()

class1

sub1()

sub2()

class2

class3

F

child2

child3

sub3()

F

class4

S/W 모듈

신규작성

child class

사전작성

함수

framework cont1
Framework (cont.)
  • Property

·A set of classes

·Default - prefabricated, abstract - behavior

·Embodied workflow(flow of execution)

·Extended by customization(deriving or overriding)

·Fewer lines of programmer’s code

·In terms of families rather than individual problems

·Better integration across applications

·Require more efforts to build and learn

·Harder to debug

framework cont2
Library

Framework

Framework (cont.)
  • Library vs. Framework

Library

Framework

·Set of classes instantiated by client

·Client calls functions

·No predefined for flow of control

·No predefined interaction

·No default behavior

·Customization by subclassing

·Calls client functions

·Controls flow of execution

·Defines object interaction

·Provides default behavior

framework cont3
교육량

초기비용

확장성

에러발생율

PARAMET-ERIZING

COPY & PASTE

DESIGN REUSE

FRAMEWORK

Framework (cont.)
  • S/W 재사용 비교

Level 1. COPY & PASTE

Level 2. PARAMETERIZING

Level 3. DESIGN REUSE

Level 4. FRAMEWORK

framework cont4

COPY & PASTE

FRAMEWORK

PARAMETERIZING

구축효율

DESIGN

구축대비 수정효율

=

시스템 규모

Framework (cont.)
  • 구축 효율 비교

Level 1. COPY & PASTE

Level 2. PARAMETERIZING

Level 3. DESIGN REUSE

Level 4. FRAMEWORK

framework cont5
Framework (cont.)
  • 구축 방법

step 1. Domain Analysis

      • 문제 유형화
      • 유사 문제 조사 및 유형 일반화
      • 재검토 및 정교화

step 2. Design using Standards

      • Design Patterns 활용
      • 기존 Framework 활용 및 확장

step 3. Design Framework

      • 기본적 흐름 (Basic Scenario ) 설계
      • 객체 설계 ( attributes 및 setting, verifying methods, etc. )
      • Event-driven Methods 설계
framework cont6
Framework (cont.)
  • Framework 적용 사례

1) WORKS : SEMATECH’s CIM FRAMEWORK

    • US chip manufacturing consortium (www.sematech.org)
    • 미국반도체산업의 경쟁력 강화를 위해 업계 표준 CIM Framework으로서 개발
    • Reduce cycle time,cost; increase flexibility; uniform production operation

2) POSC : Petrotechnical Open Software Corporation

    • Oil and Gas companies (www.posc.org)
    • Build custom applications to a standard business model

3) MFC : Microsoft Foundation Class Library

    • Microsoft에서 제작한 GUI application framework
    • Windows programming을 쉽게 할 수 있는 Framework 제공
corba
CORBA
  • OMA 구조

Application Objects

Vertical Facilities

Horizontal

Facilities..

C,C++

smalltalk,..

Healthcare

Financial

...

user interface

info manage

..

Common Object Request Broker Architecture

93

94

95

96

Name

Event

Life Cycle

Persistence

Relationships

Externalization

Transactions

Concurrency

Trading

Change Mgmt

Data Interchabge

Security

Time

Licensing

Properties

Query

CORBA services

corba cont
CORBA (cont.)
  • CORBA 구성도
    • IDL(Interface Definition Language) 제공
    • Client와 Object Implementation 간의 통신
    • 통신 기능 기본 제공

Object Implementation

Client

IDL

API Lang

Implementation

Skeletons

Dynamic

Invocation

Client

Stubs

ORB

Interface

Object

Adapter

ORB Core

One interface

Proprietary interface

One interface per object adapter

Normal call interface

Up call interface

One interface per object operation

corba cont1
DB

DB

CORBA (cont.)
  • CIM Framework에서의 CORBA 필요성
    • CIM 업무의 분산화
    • 이기종 DB간 데이터 처리 요구
    • Global 시스템간 연동에 필요한 표준 필요

CORBA

cim framework
CIM Framework
  • CIM Framework이란 - (1/2)
    • 생산 정보 시스템(CIM)의 기본 골격(Framework)
    • 이를 바탕으로 각 업체마다 customizing

★ ★회사

○ ○ 회사

CIM Framework

cim framework cont
CIM Framework (cont.)
  • CIM Framework이란 - (2/2)
    • 컴포넌트간의 연동으로 CIM 업무 구현
    • 컴포넌트의 수정 및 확장을 통해 customizing
    • CORBA를 이용하여 컴포넌트 분산화

CIM XX 업무

CIM XX 업무

CORBA

cim framework cont1
CIM Framework (cont.)
  • 계층 구조
    • UI(User Interface) 층
      • CIM Framework 층의 Component들을 호출한다.
    • CF(CIM Framework) 층
      • 업무 구현(CIM Logic) 층
      • DB 작업을 위해 DDF(Distributed Data Framework) 층의 Component를 호출한다.
    • DDF(Distributed Data Framework) 층
      • DB 처리 업무를 담당하는 층
    • 각 층은 상호 독립적이며 재사용성 및 확장성 획득.
cim framework cont2
WEB

UI

N

CIM Framework (cont.)
  • 계층 구조도

UI 층

Component

Component

CF 층

MC

...

Component

DBObject

DBContainer

DDF 층

...

DBManager

DBVar

cim framework cont3
CIM Framework (cont.)
  • 기반구조
    • DB : MSSQL, Oracle  DB Library : DBTool.h++
    • CORBA Products : Orbix v2.3  Development Language : C++

주문관리

생산관리

· · ·

재고관리

C++

MSSQL, Oracle

DBTools.h++

Orbix

ODBC

CORBA

TCP/IP

cim framework cont4
CIM Framework (cont.)
  • Distributed Data Framework 층 구조도
cim framework cont5
ODBC 관련 객체

CORBA 관련 객체

CIM Framework (cont.)
  • Distributed Data Framework 층 객체 관계도

DBvar

MetaData

DBLocation

MetaDataManager

DBTable

DBObject

DBManager

DBMProxy

DBM_i

DBContainer

MDI

MDI_i

CF 연결 객체

DBMDI

RemoteMDI

MDIProxy

cim framework cont6
CIM Framework (cont.)
  • CIM Framework 층 객체 관계
    • MD(Manufacturing Data) : 데이터 객체
    • MC(Manufacturing Component) : 업무 객체
    • 모든 MD 들은 DBObject를 상속함으로써 DB 처리 기능을 가진다.
    • CIM 업무는 Component들간의 연동으로 구현된다.
    • DDF 층과는 DBContainer와 DBObject를 통해 연동한다.
    • Component 는 MC를 통해 Remote Component와 연동한다.
cim framework cont7
CORBA 관련 객체CIM Framework (cont.)
  • CIM Framework 층 객체 관계도

CIM Framework 층

Component

MC

Proxy

Component

DBContainer

DBObject

...

Data Framework 층

...

MD

cim framework cont8
DB

DB

CIM Framework (cont.)
  • 통신 경로

CIM Framework 층

Remote Side

Component

Component

CORBA

MC

Component

DBObject

DBManager

DBContainer

MDI

MDI_i

DBMDI

RemoteMDI

ODBC

CORBA

ODBC

Data Framework 층

cim framework cont9
CIM Framework (cont.)
  • MD 예 : 주문정보, OrderMD

class OrderMD : public DBObject

{

public:

RWCString sOrderID; // 주문번호

RWCString sCustomerID; // 고객ID

double dContractedTotalPrice; // 총거래가격

DBvar SELOrderID;

DBvar SELCustomerID;

DBvar SELContractedTotalPrice;

OrderMD();

OrderMD& operator = (OrderMD& t);

int SortByOrderID() { return 0; }

int SortByCustomerID() { return 1; }

int SortByContractedTotalPrice() { return 2; }

};

cim framework cont10
CIM Framework (cont.)
  • MD 예 : 주문정보, OrderMD (cont.)

OrderMD::OrderMD() {

setClassName("OrderMD");

setMember(&SELOrderID, &sOrderID, "sOrderID");

setMember(&SELCustomerID, &sCustomerID, "sCustomerID");

setMember(&SELContractedTotalPrice,&dContractedTotalPrice,

"dContractedTotalPrice");

SELOrderID.setKey();

}

OrderMD& OrderMD::operator = (OrderMD& t) {

sOrderID = t.sOrderID;

sCustomerID = t.sCustomerID;

dContractedTotalPrice = t.dContractedTotalPrice;

return *this;

}

cim framework cont11
CIM Framework (cont.)
  • CIM 업무 관계도
cim framework cont12
CIM Framework (cont.)
  • CIM Component 관계도

고객

제품정보

BOM

공정정보

수요예측

작업달력

주문

MPS

MRP

스케쥴링

기계

재고

외주

LINE

LOT

작업자

협력업체

발주

TOOL

cim framework cont13
제품정보

수요예측

작업달력

주문

MPS

MRP

고객

제품정보

주문관리

공정정보

MPS

재고

BOM

MRP

작업달력

주문

MPS

MRP

Scheduling

주문관리

MPS

MRP

스케쥴링

기계

발주관리

MPS

MRP

스케쥴링

MPS

재고

재고

MRP

LINE

LOT

작업자

재고

외주

Scheduling

협력업체

발주

TOOL

발주관리

발주

CIM Framework (cont.)
  • CIM Component 연동 예

고객

제품정보

BOM

공정정보

수요예측

작업달력

주문

MPS

MRP

스케쥴링

기계

재고

외주

LINE

LOT

작업자

협력업체

발주

TOOL

cim framework cont14
MC_1

COMP_A

COMP_B

MC_2

COMP_BA

COMP_BA

MC_12

MC_12

MC_11

MC_11

CIM Framework (cont.)
  • CIM Component 내부

COMP_A

COMP_B

MC_1

MC_2

cim framework cont15
재고

주문

예측

스케쥴

작업달력

N

98.4

98.5

98.6

CIM Framework (cont.)
  • 예: MPS(Master Product Scheduling )

: 어떤 제품(product) 을 언제(due date) 까지 얼마나(quantity) 만들 것인가에 대한 구간별(per term) 대략적 생산 계획(planning)

요청서

A, 14개

접수

재고할당

계획

완료

cim framework cont16
CIM Framework (cont.)
  • MPS 분석

1.1 기본 데이터

제품 : itemid

납기일 : duedate

수량 : totalqty

단위기간 : unitterm ( = Y(년), M(월), W(주) )

구간별 생산수량 리스트 : mpslist ( list of )

cim framework cont17
CIM Framework (cont.)
  • MPS 분석 (cont.)

1.2 기본 업무 흐름

1) 사전 작업 : 업무 권한 확인 etc

2) target 설정 : itemid, quantity, duedate

3) 단위기간 설정 : unitterm

4) 재고 할당 : 안전 재고 고려 여부

5) 구간별 생산량 결정 : 작업달력 고려, 스케쥴 고려 등

6) 확정 및 저장 : MPS DB에 저장

7) 종료 후 작업 : MRP 구동, 종료 메시지 발신, etc.

cim framework cont18
CIM Framework (cont.)
  • MPS 설계 ( 표준 사용 )

2.1 Design Patterns 및 기존 S/W 모듈 이용

기본 업무 흐름

기존 S/W 모듈 이용

사전 작업

Target 설정

단위기간 결정

재고 할당

구간별 생산량 결정

확정 및 저장

사후 작업

●권한 확인 : MCUserPermission

●재고 할당 : CmpInvControl

● MRP 호출 : MCTriggerWorkFlow

cim framework cont19
CIM Framework (cont.)
  • MPS 설계 ( 업무 설계 )

2.2 신규 작성

기본 업무 흐름

신규 작성

사전 작업

Target 설정

단위기간 결정

재고 할당

구간별 생산량 결정

확정 및 저장

사후 작업

● setItemID(), checkItemID() etc

● setUnitTerm(), checkUnitTerm()

●새로운 MC, MCSetMPSList 작성

●confirmMPS(), saveMPS()

cim framework cont20
CIM Framework (cont.)
  • MPS Model

MCUserPermission

MCTriggerWF

CmpMPS

MCSetMPSLists

CmpMRP

MCInvControl

MCWCControl

CmpInvControl

CmpWCControl

CmpXX

: main Component

MCXX

: Sub Component

slide39
결론
  • CORBA와 Framework을 이용하여 CIM Framework 개발
  • S/W 재사용성 및 분산 환경 적응력 증대
  • 구축/유지비용 절감, BPR 효과, 미래 환경 적응

CORBA

S/W 재사용성

분산 환경 적응력

Framework

ad