Download presentation
Presentation is loading. Please wait.
Published byHillary Sims Modified over 9 years ago
1
제 목 1999... PD99- 부서번호 - 일련번호 ㅇㅇㅇ연구소 ( 본부, 부 ) 별표 4( 국문 ) CBSE: New Paradigm for the New Millennium 1999. 10. 29. 컴퓨터 - 소프트웨어기술연구소 권 오 천권 오 천
2
2 컴퓨터 소프트웨어기술연구소 1. Introduction to CBSE 목 차목 차 2. Application of CBSE to an Organization 3. Technologies Related to CBSE 4. Conclusions
3
3 컴퓨터 소프트웨어기술연구소 Introduction to CBSE
4
4 컴퓨터 소프트웨어기술연구소 Definition of CBSE/CBD/Componentware ▣소프트웨어산업 육성법 ( 안 ): 정통부 특정한 기능을 수행하기 위해 독립적으로 개발, 보급되고 잘 정의된 인터페이스를 가 지며 다른 부품과 조립되어 응용시스템을 구축하기 위해 사용되는 소프트웨어의 단위 ▣컴포넌트 산업 활성화 방안 : ETRI 부품을 조립해서 제품을 만들어내는 것처럼 부품화 된 소프트웨어들을 조립하여 완성 된 소프트웨어를 만들어낼 수 있는데, 이러한 독립된 단위 기능의 소프트웨어 부품을 말함 ※ 그룹웨어 패키지는 전자게시판, 워크플로우, 사용자인터페이스, 데이터관리, 전자 우편 등 단위업무를 처리하는 소프트웨어 부품으로 구성
5
5 컴퓨터 소프트웨어기술연구소
6
6 컴퓨터 소프트웨어기술연구소 Definition of CBSE ▣ '99 ICSE CBSE Workshop ◈ Executable ◈ 3rd-party composable ◈ Has explicit interfaces ◈ Conforms to a component model ▣ Clemens Szyperski (Component Software) A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to to third-party composition. ▣ Philippe Krutchen (Rational Software) A Component is a nontrivial, nearly independent, and replaceable part of a system that fulfills a clear function in the context of a well-defined architecture. A component conforms to and provides the physical realization of a set of interfaces.
7
7 컴퓨터 소프트웨어기술연구소 Components vs Objects
8
8 컴퓨터 소프트웨어기술연구소 Benefits of CBSE ▣ Faster production ◈소프트웨어 개발의 자동화와 생산성 향상 ▣ Better product ◈소프트웨어의 품질 향상 : 표준화와 다수 사용자의 변경요청 ▣ Cheaper cost: ◈불특정 다수의 다회 사용으로 long term 에 걸쳐 많은 이익 발생 ==> software component 를 기업 asset 으로 인식
9
9 컴퓨터 소프트웨어기술연구소 Application of CBSE to an Organization
10
10 컴퓨터 소프트웨어기술연구소 CBSE Processes and Methodologies Comparison of Conventional and CBSE Development Models
11
11 컴퓨터 소프트웨어기술연구소 CBSE Processes and Methodologies CBSE Methodology
12
12 컴퓨터 소프트웨어기술연구소 ▣현존 CBD 방법론 ◈ CBD 96: –Sterling Software 의 프로덕트 COOL:Gen 을 사용해서 소프트웨 어 컴포넌트를 명세화하고 납품하기 위한 표준 – 컴포넌트의 개념, 이익, 컴포넌트를 생성하기 위해 사용되는 개발 프로세스 등을 설명하지 않고 단지 Guideline 만을 제공 – 표준 컴포넌트를 위한 납품 요구조건, 고객에게 제공될 컴포 넌트 명세 모델 – 컴포넌트 인터페이스를 위한 표준, 컴포넌트 구현 모델의 표 준 – 컴포넌트 실행 모듈의 표준, 컴포넌트 문서 – 컴포넌트 업그레이드의 관리 방법, 명명법 표준 (Naming Convention Standards) 등을 포함 CBSE Processes and Methodologies
13
13 컴퓨터 소프트웨어기술연구소 ▣현존 CBD 도구 ◈ Catalysis method: Component & Framework 기반의 소프트웨어 개 발, UML & OMG compliant. ◈ IBM SanFrancisco R1.4: + WebSphere(connecting server applications to the Web), + CBO ported as EJBs + Legacy Wrapper ◈ Sterling Cool Spex: Providing CBD96(Cool:Gen 기반의 표준 ) ◈ SELECT Software Tools’ SCF(SELECT Component Factory): –SELECT Component Manager: Wrapping, Cataloguing & Searching –SELECT Enterprise: Modeling & generating new components –SCF supports industry standards: Microsoft Solution Framework, DCOM, EJB & CORBA –SCF utilizes a model-driven approach centred on the UML ◈ Others: HOW(Riverton Software Corp), Uniface(Compuware Corp) Fusion(Netron Inc.), Dynasty(Dynasty Technologies Inc.) CBSE Processes and Methodologies
14
14 컴퓨터 소프트웨어기술연구소 Component Business Model
15
15 컴퓨터 소프트웨어기술연구소 Technologies Related to CBSE
16
16 컴퓨터 소프트웨어기술연구소 Domain Analysis & Modeling ▣영역 분석 방법론 ◈ FODA(Feature-Oriented Domain Analysis, Kang, 1990), FORM(Kang) ◈ DSSA(Domain-Specific Software Architecture, Tracz et al., 1993) ◈ ODM(Organization Domain Modeling, Simos, 1995)
17
17 컴퓨터 소프트웨어기술연구소 Domain Engineering Output
18
18 컴퓨터 소프트웨어기술연구소 Software Architecture ▣ Definition: The software architecture of a program or computing system is the structure of the system, which comprises software components, the externally visible properties of those components, and the relationships among them. ▣ Three critical roles of an architecture Blueprint –A Blueprint of future systems : an objective representation of knowledge about the design and plan of systems Picture –A Picture of existing systems: an objective representation of knowledge that facilitates the understanding of systems Roadmap –A Roadmap about how to get there: –An objective representation of knowledge that provides guidance and supporting elements of practice –The captured knowledge is not about detailed information of any application systems environment framework –Provides an environment framework to guide new systems development according to certain defined standards and rules
19
19 컴퓨터 소프트웨어기술연구소 The Importance of Architecture ▣ To a project ◈ vehicle for stakeholder communication ◈ key to achieving system qualities ◈ basis for development project structure ▣ To an organization ◈ can be reused from project to project ◈ forms a basis for product lines ◈ is a foundation for new market entry ▣ To a community ◈ standard models emerge for mature domains ◈ is a basis for component markets
20
20 컴퓨터 소프트웨어기술연구소 Stakeholders of a System Marketing stakeholder Behavior, performance, security, reliability! Low cost, keeping people employed, leveraging existing corporate assets! Low cost, timely delivery, not changed very often! Modifiability! Neat features, short time to market, low cost, parity with competing products! Ohhhhh... Architect Development organization’s management stakeholder End user stakeholder Maintenance organization stakeholder Customer stakeholder
21
21 컴퓨터 소프트웨어기술연구소 Layered Architecture Model for the Specific Domain of a Specific Organization ▣ System Software Middleware Business Specific Application Systems Variants of a particular application system (e.g., Digicash Cashier) Distinct application systems(e.g., ATM Cashier, Payment, Invoicing) Application domain and organization specific(e.g., Account Mgn’t, Bank Customer Mgn’t) Platform-independent distributed object computing(Java, HP ORB + ) Platform-specific(NT, TCP/IP)
22
22 컴퓨터 소프트웨어기술연구소 Example of Software Architecture
23
23 컴퓨터 소프트웨어기술연구소 ▣ ADL(Architecture Description Language) 의 종류 –CMU 의 ACME & AESOP, ObjectTime 의 ObjectTime, etc. ▣ ADL 의 기능 ◈ Architecture Description(structural & behavioral) 을 위한 7 type 정의 : components, connectors, systems, ports, roles, representations, rep- maps. ◈ Syntax Checker ◈ Design Guideline Caption: to describe an architectural design of a specific domain along with components, connectors, etc. ▣ Architecture-focused DoD Software Technology programs ◈ STARS, CARDS, PRISM, DISA, SEI, DSSA, etc. Architecture Description Language
24
24 컴퓨터 소프트웨어기술연구소 Component Modeling ▣컴포넌트 명세 방법 : ADL 의 Design rule 에 의해 어느 정도 명세의 자동 checking 이 가능하나 formal 한 명세도 가능 ▣컴포넌트 명세 작성 : ADL 과 UML ◈ Domain specific ADL 을 이용한 component 의 design 시 UML 의 사용 : UML 의 extension ◈ ADL + UML 기능 ==> Domain Specific Modeling Language 의 개발 ◈ Component Description Model: Chilvers’ Python –Extension of CORBA IDL to add 3 keywords(Provide, Require, Management) –Classification of component interfaces including QoS Spec(nonfunc Prop): –Provide: describes a set of interfaces that an object can provide to its environment. Given as a set of CORBA interface references. –Require: a set of interfaces describing the dependencies of this object to its environment. Reference CORBA interfaces. –Management: Require & Provide Interfaces 와 이들의 Behavior 를 view, add, remove, change 하는 방법을 정의
25
25 컴퓨터 소프트웨어기술연구소 Component Description Model CORBA Object CORBA Object Component CORBA Object Component Management Interface Require Interface Provide Interface
26
26 컴퓨터 소프트웨어기술연구소 컴포넌트 생성 기술 ▣ Component Architectures 조사 분석 : COM/DCOM, OCX/ActiveX, JavaBeans/EJB, CORBA ▣ Component Execution Platforms 조사분석 : IBM Component Broker, MS Windows DNA, Oracle NCA, Sybase CTS/ACA ▣다른 platform 간의 연계 기술 ◈ wrapper/mapper 개발 : e.g., COM/DCOM 과 JavaBeans 연계, JavaBeans 와 CORBA 와의 연계 ▣컴포넌트 인터페이스 기술 ◈ IDL: describes interfaces provided by and used by an object. ◈컴포넌트 인터페이스 명세의 표준화 : CORBA/EJB/MS interface specification 의 참조 또는 국내 컴포넌트 인터페이스 명세의 표준화 ◈ IDL 의 예 : Orbix 2.2 IDL compiler ▣정형 명세로 부터 코드 생성 및 Domain specific IDL 개발
27
27 컴퓨터 소프트웨어기술연구소 컴포넌트 조립 (Assembly/Composition) ▣ ADL 은 컴포넌트가 inter-operate 하기 위해 따라야 하는 reference model 로서 component composition 을 위한 language ▣ ADL: Ease the plug-and-play of heterogeneous components to build S/W ▣ An application is represented as a set of components that have fulfilled the required connections between Provide and Require Interfaces ▣ Composition 중에 composition 의 consistency(compatibility) 를 check 하기 위해 Management interface 를 사용
28
28 컴퓨터 소프트웨어기술연구소 Component Adaptation ▣ Adaptation(Dynamic Re-configuration) ◈ Watching some events of interest generated internally or from the environment and taking appropriate action to adjust to these new conditions. ◈ The Management Interface(MI) is in charge of all static & dynamic configuration of a component: adaptation rules must be defined according to Event/Condition/Action tuples. ▣ Types of Component Adaptation ◈ Component adaptation(black box component): modifications as planned by component developers (e.g., parameterization) and/or as supported by component technology (e.g., inheritance) ◈ Component modification(white box component): modifications not planned by component developers or supported by component technology
29
29 컴퓨터 소프트웨어기술연구소 컴포넌트 추출 기술 ▣ 객체 추출 기술 : How to extract reusable components from existing systems ◈ Domain Analysis by domain experts ▣ PSDG(Post-State Dependency Graph, Pizz, Petius software): 정적분할과 동적분할 및 의미분할의 장점을 살린 코드분할로서 기존 코 드의 분석 및 세그먼트화를 수행하여 재사용 컴포넌트를 추출. 분할의 원리는 기존코드 의 상태 종속성을 추적하여 그래프로 모형화한 후 조각화 (Clustering) 를 통해서 ▣ Facade: a packaged subset of components, references to components ▣ Component Wrapping 기술 ◈ Software architecture, Facade 를 기반으로 extracted object sources 를 Clustering ◈ Clustered Components 에 Interface 를 정의하여 componentization ▣ Legacy Wrapping 기술 ◈ Legacy applications 과 Data 를 access 하기 위해 Wrapping tool(server-side component wrapper) 을 이용 ◈ Design recovery, Software architecture(ADL) 기술 이용
30
30 컴퓨터 소프트웨어기술연구소 컴포넌트 유통 ▣컴포넌트 인증의 대체적인 수단 : ◈ Operate a rating system by users ◈ Produce an evaluation & demo version ▣컴포넌트 등록, 검색, 구독, 청구를 위한 유통 시스템 Portal Site 운영의 필요성 ▣컴포넌트 청구 시스템 : 종량제, Usage-Based Billing System ▣ Commercial Component Sites EarthWeb, Inc. (http://www.gamelan): Called Gamelan, the official directory for Java, Java Focused EarthWeb, Inc.(http://www.jars.com): Called Gamelan, Rating Scheme of Components Webresource.net(http://www.webresource.net) Flashline (http://www.flashline.com): Beta Beans Available, Component Development Brokerage(Bidding) system ActiveX.com(http://www.activex.com): ActiveX Based ObjectTiger(http://www.objecttiger.com) Componentsource(http://www.componentsource.co.uk): Business Component Request Center
31
31 컴퓨터 소프트웨어기술연구소 Conclusions 감사합니다
32
32 컴퓨터 소프트웨어기술연구소 Characteristics of the Best Components ▣ Security, Licensing, Versioning, Life-cycle management ▣ Event Notification, Configuration and property management ▣ Scripting, Metadata and introspection, Concurrent control and locking ▣ Relationships, Ease of use, Self-testing, Self-installing
33
33 컴퓨터 소프트웨어기술연구소 국내 컴포넌트 활성화를 위한 추진 전략
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.