slide1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
제 목 PowerPoint Presentation
Download Presentation
제 목

Loading in 2 Seconds...

play fullscreen
1 / 33

제 목 - PowerPoint PPT Presentation

Download Presentation
제 목
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

  1. PD99-부서번호-일련번호 별표4(국문) CBSE: New Paradigm for the New Millennium 제 목 1999. . . 1999. 10 . 29 . 권 오 천 컴퓨터-소프트웨어기술연구소 ㅇㅇㅇ연구소(본부, 부)

  2. 목 차 1. Introduction to CBSE 2. Application of CBSE to an Organization 3. Technologies Related to CBSE 4. Conclusions 2컴퓨터소프트웨어기술연구소

  3. Introduction to CBSE 3컴퓨터소프트웨어기술연구소

  4. Definition of CBSE/CBD/Componentware • 소프트웨어산업 육성법(안): 정통부 특정한 기능을 수행하기 위해 독립적으로 개발, 보급되고 잘 정의된 인터페이스를 가지며 다른 부품과 조립되어 응용시스템을 구축하기 위해 사용되는 소프트웨어의 단위 • 컴포넌트 산업 활성화 방안: ETRI 부품을 조립해서 제품을 만들어내는 것처럼 부품화 된 소프트웨어들을 조립하여 완성된 소프트웨어를 만들어낼 수 있는데, 이러한 독립된 단위 기능의 소프트웨어 부품을 말함 ※ 그룹웨어 패키지는 전자게시판, 워크플로우, 사용자인터페이스, 데이터관리, 전자우편 등 단위업무를 처리하는 소프트웨어 부품으로 구성 4컴퓨터소프트웨어기술연구소

  5. 5컴퓨터소프트웨어기술연구소

  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. 6컴퓨터소프트웨어기술연구소

  7. Components vs Objects 7컴퓨터소프트웨어기술연구소

  8. Benefits of CBSE • Faster production • 소프트웨어 개발의 자동화와 생산성 향상 • Better product • 소프트웨어의 품질 향상: 표준화와 다수 사용자의 변경요청 • Cheaper cost: • 불특정 다수의 다회 사용으로 long term에 걸쳐 많은 이익 발생==> software component를 기업 asset으로 인식 8컴퓨터소프트웨어기술연구소

  9. Application of CBSE to an Organization 9컴퓨터소프트웨어기술연구소

  10. CBSE Processes and Methodologies Comparison of Conventional and CBSE Development Models 10컴퓨터소프트웨어기술연구소

  11. CBSE Processes and Methodologies CBSE Methodology 11컴퓨터소프트웨어기술연구소

  12. CBSE Processes and Methodologies • 현존 CBD 방법론 • CBD 96: • Sterling Software의 프로덕트 COOL:Gen을 사용해서 소프트웨어 컴포넌트를 명세화하고 납품하기 위한 표준 • 컴포넌트의 개념, 이익, 컴포넌트를 생성하기 위해 사용되는 개발 프로세스 등을 설명하지 않고 단지 Guideline만을 제공 • 표준 컴포넌트를 위한 납품 요구조건, 고객에게 제공될 컴포넌트 명세 모델 • 컴포넌트 인터페이스를 위한 표준, 컴포넌트 구현 모델의 표준 • 컴포넌트 실행 모듈의 표준, 컴포넌트 문서 • 컴포넌트 업그레이드의 관리 방법, 명명법 표준(Naming Convention Standards) 등을 포함 12컴퓨터소프트웨어기술연구소

  13. CBSE Processes and Methodologies • 현존 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.) 13컴퓨터소프트웨어기술연구소

  14. Component Business Model 14컴퓨터소프트웨어기술연구소

  15. Technologies Related to CBSE 15컴퓨터소프트웨어기술연구소

  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) 16컴퓨터소프트웨어기술연구소

  17. Domain Engineering Output 17컴퓨터소프트웨어기술연구소

  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 • A Blueprint of future systems : an objective representation of knowledge about the design and plan of systems • A Pictureof existing systems: an objective representation of knowledge that facilitates the understanding of systems • 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 • Provides an environment framework to guide new systems development according to certain defined standards and rules 18컴퓨터소프트웨어기술연구소

  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 19컴퓨터소프트웨어기술연구소

  20. Development organization’s management stakeholder Maintenance organization stakeholder End user stakeholder Customer stakeholder Behavior, performance, security, reliability! Modifiability! Low cost, keeping people employed, leveraging existing corporate assets! Neat features, short time to market, low cost, parity with competing products! Low cost, timely delivery, not changed very often! Architect Ohhhhh... Stakeholders of a System Marketing stakeholder 20컴퓨터소프트웨어기술연구소

  21. Layered Architecture Model for the Specific Domain of a Specific Organization • Variants of a particular application system (e.g., Digicash Cashier) • Distinct application systems(e.g., ATM Cashier, Payment, Invoicing) Application Systems • Application domain and organization specific(e.g., Account Mgn’t, Bank Customer Mgn’t) Business Specific Middleware • Platform-independent distributed object computing(Java, HP ORB + ) System Software • Platform-specific(NT, TCP/IP) 21컴퓨터소프트웨어기술연구소

  22. Example of Software Architecture 22컴퓨터소프트웨어기술연구소

  23. Architecture Description Language • 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. 23컴퓨터소프트웨어기술연구소

  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하는 방법을 정의 24컴퓨터소프트웨어기술연구소

  25. Component Description Model Provide Interface Component CORBA Object Require Interface Management Interface Component Component CORBA Object CORBA Object 25컴퓨터소프트웨어기술연구소

  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 개발 26컴퓨터소프트웨어기술연구소

  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를 사용 27컴퓨터소프트웨어기술연구소

  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 configurationof 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 28컴퓨터소프트웨어기술연구소

  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) 기술 이용 29컴퓨터소프트웨어기술연구소

  30. 컴포넌트 유통 • 컴포넌트 인증의 대체적인 수단: • Operate a rating system by users • Produce an evaluation & demo version • 컴포넌트 등록, 검색, 구독, 청구를 위한 유통 시스템 Portal Site 운영의 필요성 • 컴포넌트 청구 시스템: 종량제, Usage-Based Billing System • Commercial Component Sites <JavaBeans> • EarthWeb, Inc. (http://www.gamelan): Called Gamelan, the official directory for Java, Java Focused • EarthWeb, Inc.( Called Gamelan, Rating Scheme of Components • • Flashline( Beta Beans Available, Component Development Brokerage(Bidding) system <ActiveX/OCX> • ActiveX Based • ObjectTiger( <Various Components from Various Architectures> • Componentsource( Business Component Request Center 30컴퓨터소프트웨어기술연구소

  31. Conclusions감사합니다 31컴퓨터소프트웨어기술연구소

  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 32컴퓨터소프트웨어기술연구소

  33. 국내 컴포넌트 활성화를 위한 추진 전략 33컴퓨터소프트웨어기술연구소