Page 1 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Chapter 19 Industrial Experience.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Database Systems: Design, Implementation, and Management Tenth Edition
Alternate Software Development Methodologies
Basic Concepts in Component-Based Software Engineering
COP th Lecture September 26, 2005 COP 4009 Component-Based Software Engineering Fall 2005 Instructor: Masoud Sadjadi
Object-Oriented Analysis and Design
Component Models and Technology Component-based Software Engineering
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
COMP 6710 Course NotesSlide 2-0 Auburn University Computer Science and Software Engineering Course Notes Set 2: Software Process Models Computer Science.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Information Systems Development Lecture 2: the idea of the Life Cycle.
Managing Reuse Presented by: Aisha Al-Hammadi. Outline Introduction History. The technical and managerial advantages of Reusing Solutions. The main challenges.
Page 1 Building Reliable Component-based Systems Chapter 6 - Semantic Integrity in Component Based Development Chapter 6 Semantic Integrity in Component.
Page 1 Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Chapter 11 Components in Product Line Architectures.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
1 CS 691z / 791z Topics on Software Engineering Chapter 17: Interfaces and Subsystems [Arlow & Neustadt, 2002] March 6, 2007.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
Planning for Middleware Rose Gamble Leigh Davis Jamie Payton University of Tulsa.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
Course Instructor: Aisha Azeem
Project phases and the life cycle
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Seminar of “CBSE” Course Mohammad Mahdizadeh SM. University of Science and Technology Mazandaran-Babol January 2010 Adaptation of.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Chapter 2 The process Process, Methods, and Tools
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
Information System Development Courses Figure: ISD Course Structure.
Selected Topics in Software Engineering - Distributed Software Development.
The Systems Development Life Cycle
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Component Oriented Programming 1 Introduction to COP.
Part VII: Design Continuous
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Relationships Relationships between objects and between classes.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Page 1, December 8, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview
Chapter 19: Interfaces and Components [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
© Bennett, McRobb and Farmer 2005
Chapter 1: Introduction Omar Meqdadi SE 3860 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Advanced Software Engineering Dr. Cheng
Component Object Model(COM)
Configuration Management
CompSci 280 S Introduction to Software Development
The Development Process of Web Applications
Software Life Cycle “What happens in the ‘life’ of software”
Complexity Time: 2 Hours.
Component Based Software Engineering
Ada – 1983 History’s largest design effort
Object Oriented Analysis and Design
Chapter 20 Object-Oriented Analysis and Design
Presentation transcript:

Page 1 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Chapter 19 Industrial Experience with Dassault Système Component Model

Page 2 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Overview qIntroduction qThe OM Component Model qDiscussion qLessons Learned

Page 3 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Introduction q CATIA l Dassault Systèmes main software product l 5 millions lines of code l clients l work places l C++ classes l 8000 components l Object Modeller: Own component model

Page 4 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Dassault Systèmes q The DS objective was not primarily: l To sell isolated OM components. l To sell the OM component framework. l To make their component model a standard. q The primary objective was: l To find a way to develop its software under the best conditions, and to provide to its customers with powerful adaptability facilities.

Page 5 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model The OM Component Model q The OM is quite similar to COM. qInterfaces: a set of method signatures l Component may support more than one interface.

Page 6 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model External view of OM components (a) External view of an OM component Interfaces (b) Heterogeneous application Other software entities OM components Dependencies

Page 7 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Using OM Components to Build Applications q In practice, there is no boundary between traditional development and component-based development. l DS applications are hybrids. l There is a Lack of support for explicit connections and assembly facilities. l DS does not aim to sell components, but extensible applications.

Page 8 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Component implementation Component inheritance Bases Extensions c c ? ? Interfaces Component implementation Delegation

Page 9 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Implementations qDS components are typically developed by different teams in different companies. qComponents are in fact a collection of elementary pieces of code, called implementations.

Page 10 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Extensions q Has two kinds of implementations: l Base implementations and extensions. l A component is defined by a base implementation. q An extension has two advantageous properties: l It does not change the identity of the component being extended. l It does not change the code of the component being extended

Page 11 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Component inheritance qSingle inheritance qInherits all its interfaces and all its implementations.

Page 12 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Conditional interfaces qThe interface will be returned to the client only if this expression evaluates to true. l 2D or 3D

Page 13 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Discussion q Has not develop a new language: l The OM can be seen as a layer superimposed on the C++ language. l Interfaces and implementations are represented as C++ classes. l OM constructions are indeed represented as code patterns and macros in C++ source code.

Page 14 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Different Kinds of Architecture (a) Physical architecture(b) OM components vs. frameworks Frameworks Dependency OM elements Other entities

Page 15 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Framework Evolution q A good component framework: l Satisfies development / maintenance needs. l Is easily mastered and understood by developers. q It is incorrect to believe that if a concept is simple, its use will also be simple: l “goto” and pointers l AddRef and Release

Page 16 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Evolution q An incremental process. l Model evolved permanently while CATIA software was in development. l Required different concepts and constructs to coexist, which created problems. q A bug may be due to: l Faulty implementation of the concept, l Undefined semantic hole l Inherent complexity. Specific training courses should be employed to ensure the correct use of the component model.

Page 17 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Industrial Perspective q Should Connectors be regarded as first class citizens? q Reexamination of the definitions of: l Connectors l Behavior l Architecture l Components

Page 18 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Summary qThe design of a powerful component model is shown to be a complex task. q The model has improved progressively over the years. q Very large systems must live with inconsistencies. l Training is needed to prevent misuse. l Tools for tracking invalid constructions. We have still to invent the CBSE environments of the future.