Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview www.idt.mdh.se/cbse-book.

Slides:



Advertisements
Similar presentations
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Advertisements

© 2002 ABB Automation Technology Products AB BSE ppt Industrial IT The Aspect Object Architecture Overview.
Page 1 Building Reliable Component-based Systems Chapter 16 - Component based embedded systems Chapter 16 Component based embedded systems.
Page 1 Building Reliable Component-based Systems Chapter 13 -Components in Real-Time Systems Chapter 13 Components in Real-Time Systems.
1 CS 426 Senior Projects Chapter 19: Interfaces and Components [Arlow & Neustadt 2005] February 28, 2008.
Software Reuse Building software from reusable components Objectives
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Review 2.
Page 1 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Chapter 3 Architecting Component-Based Systems.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 19 Slide 1 Component-based software engineering.
Page 1 Building Reliable Component-based Systems Chapter 10 - Predicting System Trustworthiness Chapter 10 Predicting System Trustworthiness.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Page 1 Building Reliable Component-based Systems Chapter 19 - Industrial Experience with Dassault Système Component Model Chapter 19 Industrial Experience.
1 Software Architecture: a Roadmap David Garlen Roshanak Roshandel Yulong Liu.
- 1 - Component Based Development R&D SDM Theo Schouten.
Page 1, CBSE graduate course Component-Based Software Engineering Building reliable component-based systems Tasks for the CBSE group.
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.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
March 22, 2004CS WPI1 CS 509 Design of Software Systems Lecture #9 Monday, March 22, 2004.
Page 1 Building Reliable Component-based Systems Chapter 4 - Component Models and Technology Chapter 4 Component Models and Technology.
Building software from reusable components.
Page 1, CBSE graduate course Component-Based Software Engineering Building reliable component-based systems Assignments for the CBSE group.
Course Instructor: Aisha Azeem
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
Page 1, August 14, 2015 Advanced CBSE Advanced Component-Based Software Engineering - Course Organization Ivica Crnkovic Mälardalen University Software.
 1. Introduction  2. Development Life-Cycle  3. Current Component Technologies  4. Component Quality Assurance  5. Advantages and Disadvantages.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Design with Reuse l Building software from reusable components.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 2.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
1 Tools for Commercial Component Assembly Francis Bordeleau, Zeligsoft/Carleton University Mark Vigder, National Research Council Canada.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
02/10/2015 Page 1 R. Theeuws Siemens Atea Filename: CBD_ervaring Werkgroep Component Based Developments Ervaring CBD.
CBSE - presentations Advanced Component-Based Software Engineering Assignment 2.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
SWE 316: Software Design and Architecture Objectives Lecture # 18 Introduction to Components SWE 316: Software Design and Architecture To learn:  benefits.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Component Oriented Programming 1 Introduction to COP.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Part VII: Design Continuous
Basic Concepts of Component- Based Software Development (CBSD) Model-Based Programming and Verification.
©Ian Sommerville 2000 Software Engineering. Chapter 18Slide 1 Chapters 18/19 Software Reuse / CBSE.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14Slide 1 Chapter 14 Design with Reuse.
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.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 32. Review Behavioral Patterns – Observer Pattern – Chain of command.
Page 1 Building Reliable Component-based Systems Chapter 9 - Component Composition and Integration Chapter 9 Component Composition and Integration.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
Lecture 21: Component-Based Software Engineering
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Page 1, CBSE graduate course Component-Based Software Engineering Building reliable component-based systems Assigments for the CBSE group.
SOFA 2 Component Model Tomáš Bureš, Petr Hnětynka, František Plášil CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Czech Republic.
Advanced Software Engineering Dr. Cheng
Component Based Software Engineering
Component Based Software Engineering
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Component-Based Software Engineering
UML profiles.
Chapter 19: Interfaces and Components
Presentation transcript:

Page 1, July 3, 2015 CBSE – graduate course Component-Based Software Engineering Building reliable component-based systems Overview

Page 2, July 3, 2015 CBSE – graduate course The Book Organization Book Introduction Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Chapter 1Chapter 2 Chapter 3Chapter 4 Chapter 5Chapter 6 Chapter 7 Chapter 8Chapter 9 Chapter 10 Chapter 11 Chapter 12Chapter 13 Chapter 14 Chapter 15Chapter 16 Chapter 17Chapter 18 Chapter 12

Page 3, July 3, 2015 CBSE – graduate course The Book Organization Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Basic definitions and concepts of component specification Component models and architecture Developing Software Components (development process) Using components (evaluation, test, composition) Software Product-Lines Real-time components, real-time systems and components Case studies – real–time, industrial and office component-based systems

Page 4, July 3, 2015 CBSE – graduate course The Book Organization II Part 1 Part 2 Part 3 Part 4 Part 5 Part 6 Part 7 Component Theoretical partsGeneral for components (definitions) Compositions Processesdependability/reliability Systems Domain specificReal-time requirements processesSafety-critical requirements Complex systems Case studiesSpecific cases

Page 5, July 3, 2015 CBSE – graduate course PART 1 CONCEPTS OF CBSE Chapter 1 Chapter 1 Basic Concepts in CBSE  How to define a component?  Component specification  Interface  Contracts  Patterns  Frameworks Chapter 2 Chapter 2 Specification of Software Components  Component Specification  Interface Specification  UML Component Specification  Specifying extra functional components What is a software component?

Page 6, July 3, 2015 CBSE – graduate course Part 1 - Interesting questions  What are the relations between objects and components? How does it work in different technologies?  What are component frameworks in different component models?  Which types of design patterns can be implemented as components. Examples of some patterns and their implementation in a component technology  How are interfaces implemented in different technologies?  UML and component specification (UML components) In particular UML 2.0

Page 7, July 3, 2015 CBSE – graduate course PART 2 - SOFTWARE ARCHITECTURE AND COMPONENTS Chapter 3 Chapter 3 Architecting Component- based Systems  Relation between Software architecture and CBSE  Architecture – design issue – identify components  Redesign system depending of components availability  Type of components “architectural” components already existing components Chapter 4 Chapter 4 Component Models and Technology qDifferent component technologies from architectural point of view qADL (architectural definition language) qJavaBeans, CORBA Component model,.NET Component Model and “Open Service Gateway Initiative” Component Model

Page 8, July 3, 2015 CBSE – graduate course Part 2- Interesting questions  Dynamic software architecture Dynamic replacement of components Dynamic restructuring of resources  Different ADLs and their relations to components  UML 2.0  Containers and Frameworks in different technologies

Page 9, July 3, 2015 CBSE – graduate course Part 3 - Developing Software Components Chapter 5 Chapter 5 CBD Life-Cycles  System & Application development  Separation of processes Component development Component-based development  Different phases and emphasize on parts specific for CBD Chapter 6 Semantic Integrity in Component - based Development qImportance of semantics qDifferent levels of semantic specifications qAddressing semantic questions in CBSE literature – a statistic survey

Page 10, July 3, 2015 CBSE – graduate course Part 3 - Developing Software Components Chapter 7 Chapter 7 Role-Based Component Engineering q Relations class/object – role – framework – components  Role – parts of interface having a particular “role” in a framework together with other components  How a role is implemented in OO languages?

Page 11, July 3, 2015 CBSE – graduate course Part 3- Interesting questions parts  Component-based processes Component-based databases – problems and examples How and when to test components Component documentation Component certification  Semantic integrity UML, OCL and specification of pre- and post-conditions  Role-Based components Component Frameworks and Roles

Page 12, July 3, 2015 CBSE – graduate course Part 4 - USING SOFTWARE COMPONENTS Chapter 8 Chapter 8 Dispelling the Myth of Component Evaluation q How to evaluate and select components? q What should we evaluate? Components or component compositions? q How component properties behave in compositions? Chapter 9 Chapter 9 Component Composition and Integration qIntegration – putting components together (complied to component models) qComposition – reasoning about compositions attributes qPredictable assembly from “certificated” components

Page 13, July 3, 2015 CBSE – graduate course Part 4 - USING SOFTWARE COMPONENTS (cont) Chapter 10 Chapter 10 Predicting System Trustworthiness from Software Component Trustworthiness q Predictable assembly q Can be predict reliability of a composition from reliability from components q How to test assemblies? q Fault injection method – Interface Propagation Analysis - send invalid data between connected components

Page 14, July 3, 2015 CBSE – graduate course Part 4- Interesting questions  Component evaluation Component repositories Component documentations Automatic test of components  Fault injection models Managing exception handlings in components  Component and system properties Reliability, Safety, Security, etc. Experience from hardware systems and components

Page 15, July 3, 2015 CBSE – graduate course Part 5 - SOFTWARE PRODUCT-LINES Chapter 11 Chapter 11 Components in product line architectures  What is “Software product lines”  How to make reusable parts in in-house development for different families of products? Chapter 12  KOALA –component model implemented at Philips Requirements, model architecture, interface definitions, experience

Page 16, July 3, 2015 CBSE – graduate course Part 5- Interesting questions/additional parts  Software product lines Overview Process challenges – how to develop platforms What is a component in PLA Platform-based development Configuration Management and PLA  Integration principles Type of bindings/compositions (functions, libraries, shared libraries, dynamic binding,…)

Page 17, July 3, 2015 CBSE – graduate course Part 6- REAL-TIME SOFTWARE COMPONENTS Part 6- REAL-TIME SOFTWARE COMPONENTS Chapter 13 Chapter 13 Components in Real-Time Systems  Real-time requirements  Real-time components (OS)  Designing real-time component-based systems  Reusing RT components Chapter 14 Chapter 14 Test of Reusable Software Components in Safety-Critical Real-Time Systems qSafety-critical systems qLarge costs for testing qCan we reuse components? qWhat is the minimum of tests we must repeat

Page 18, July 3, 2015 CBSE – graduate course Part 6- REAL-TIME SOFTWARE COMPONENTS (cont) Part 6- REAL-TIME SOFTWARE COMPONENTS (cont) Chapter 15 Chapter 15 Providing real-time services for COTS components  Using non-real time system (Windows NT) for real time application  Can we adjust non-real time systems to use it as a real-time component  RT characteristics of Windows NT  Adding a new RT component – what is the behavior of the entire system

Page 19, July 3, 2015 CBSE – graduate course Part 6- Interesting questions  RT components Interface required for RT components RT component components RT CORBA Timing aspects of using indirect (or dynamic) bindings Why component models such as COM, CORBA cannot be used in hard RT systems? RT UML - overview  Testing safety-critical components What is a reliability of a component (hardware /software comparison) Dependability of components in relation of dependability of systems

Page 20, July 3, 2015 CBSE – graduate course Part 7 - CASE STUDIES Chapter 16 Chapter 16 Component-Based Embedded Systems  How to use components in small embedded systems? q Which component model to use? q Which composition environment? q Which run-time environment? q Case study – ABB embedded systems Chapter 17 Chapter 17 Architectural Support for Reuse: A Case Study in Industrial Automation qABB’s next generation of automation system architecture qAspectObjects qAspect directories qFlexibility in integration and data mining COMPONENT-BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS

Page 21, July 3, 2015 CBSE – graduate course Part 7- Interesting questions  Embedded systems and component-based systems Identification of configuration environment/framework and run- time environment OS for embedded systems and possibility of using CBSE for them (example Rubus) OPC overview Interesting services of a RT component-based framework

Page 22, July 3, 2015 CBSE – graduate course Part 7 - CASE STUDIES (cont.) Chapter 18 Chapter 18 A Framework for Integrating Business Applications  Similar to chapter 16, but standards used (Microsoft) q Office Information systems q Issue Management Systems q Integration of large applications q From different applications to common Interface Chapter 19 Chapter 19 Industrial Experience with the Dassault Système Component Model qReuse, dynamic configuration of applications (CAD/CAM) qInternal component model qProblems and experiences COMPONENT-BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS

Assignment – a report – a summary of selected chapters 1. Basic Concepts in CBSE 2. On the Specification of Components 3. Architecting Component-based Systems 4. Component Models and Technology 5. Component-Based Development Process 6. Semantic Integrity in CBD 7. Role-Based Component Engineering 8. Dispelling the Myth of Component Evaluation 9. Component Composition and Integration 10. Predicting System Trustworthiness 11. Components in product-line architecture 12. The Koala Component Model 13. Components in RT systems 14.Components in Safety-Critical RT Systems 15.Providing RT Services for COTS 16.CB Embedded Systems 17. ABB AIP 18.Application Integration 19.Dassault System Component Model Page 23, July 3, 2015  A: 1,2, 6  B: 1, 2, 7  C: 3, 4, 9  D: 5, 11, 12  E: 12, 13, 14  F: 1, 3, 5  G: 10, 13, 14  H: 12, 13, 16  I: 13, 14, 15

Report Assignment  /- 10% (8-10 pages)  Read the chapters, reflect upon them and make a synthesis  NOT A SUMMARY of each chapter!  Describe the chapters, find relations between them  For Grade 5: Find related literature, relate your text to it Page 24, July 3, 2015