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

The Book Organization

  • Upload
    hayes

  • View
    74

  • Download
    1

Embed Size (px)

DESCRIPTION

Component-Based Software Engineering Building reliable component-based systems Overview www.idt.mdh.se/cbse-book. The Book Organization. Book. Introduction. Part 1. Chapter 1. Chapter 2. Part 2. Chapter 3. Chapter 4. Part 3. Chapter 7. Chapter 5. Chapter 6. Part 4. Chapter 10. - PowerPoint PPT Presentation

Citation preview

Page 1: The Book Organization

Page 1, April 22, 2023CBSE – graduate course

Component-Based Software EngineeringComponent-Based Software EngineeringBuilding reliable component-based Building reliable component-based

systemssystems

OverviewOverviewwww.idt.mdh.se/cbse-bookwww.idt.mdh.se/cbse-book

Page 2: The Book Organization

Page 2, April 22, 2023CBSE – graduate course

The Book OrganizationThe Book OrganizationBook

Introduction

Part 1

Part 2

Part 3

Part 4

Part 5

Part 6

Part 7

Chapter 1 Chapter 2

Chapter 3 Chapter 4

Chapter 5 Chapter 6 Chapter 7

Chapter 8 Chapter 9 Chapter 10

Chapter 11

Chapter 12 Chapter 13 Chapter 14

Chapter 15 Chapter 16 Chapter 17 Chapter 18

Chapter 12

Page 3: The Book Organization

Page 3, April 22, 2023CBSE – graduate course

The Book OrganizationThe Book Organization

Part 1

Part 2

Part 3

Part 4

Part 5

Part 6

Part 7

Basic definitions and concepts of component specificationBasic definitions and concepts of component specification

Component models and architectureComponent models and architecture

Developing Software Components (development process)Developing Software Components (development process)

Using components (evaluation, test, composition)Using components (evaluation, test, composition)

Software Product-LinesSoftware Product-Lines

Real-time components, real-time systems and componentsReal-time components, real-time systems and components

Case studies – real–time, industrial and office component-based systemsCase studies – real–time, industrial and office component-based systems

Page 4: The Book Organization

Page 4, April 22, 2023CBSE – graduate course

The Book Organization IIThe Book Organization II

Part 1Part 1

Part 2Part 2

Part 3Part 3

Part 4Part 4

Part 5Part 5

Part 6Part 6

Part 7Part 7

Component Theoretical parts General for components (definitions)

Compositions Processes dependability/reliability

Systems Domain specific Real-time requirements processes Safety-critical requirements

Complex systems Case studies Specific cases

Page 5: The Book Organization

Page 5, April 22, 2023CBSE – graduate course

PART 1 CONCEPTS OF CBSE PART 1 CONCEPTS OF CBSE

Chapter 1Basic Concepts in CBSE

How to define a component? Component specification Interface Contracts Patterns Frameworks

Chapter 2Specification of Software Components

Component Specification Interface Specification UML Component Specification Specifying extra functional

components

What is a software component?What is a software component?

Page 6: The Book Organization

Page 6, April 22, 2023CBSE – graduate course

Part 1 - Interesting questionsPart 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: The Book Organization

Page 7, April 22, 2023CBSE – graduate course

PART 2 - SOFTWARE ARCHITECTURE AND COMPONENTSPART 2 - SOFTWARE ARCHITECTURE AND COMPONENTS

Chapter 3Architecting 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 4Component Models and Technology

Different component technologies from architectural point of view

ADL (architectural definition language)

Java Bean, CORBA Component model, .NET Component Model and “Open Service Gateway Initiative” Component Model

Page 8: The Book Organization

Page 8, April 22, 2023CBSE – graduate course

Part 2- Interesting questionsPart 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: The Book Organization

Page 9, April 22, 2023CBSE – graduate course

Part 3 - Part 3 - Developing Software ComponentsDeveloping Software Components 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 6Semantic Integrity in Component

- based Development

Importance of semantics Different levels of semantic

specifications Addressing semantic questions in

CBSE literature – a statistic survey

Page 10: The Book Organization

Page 10, April 22, 2023CBSE – graduate course

Part 3 - Part 3 - Developing Software ComponentsDeveloping Software Components

Chapter 7Role-Based Component Engineering 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: The Book Organization

Page 11, April 22, 2023CBSE – graduate course

Part 3- Interesting questions partsPart 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: The Book Organization

Page 12, April 22, 2023CBSE – graduate course

Part 4 - USING SOFTWARE COMPONENTS Part 4 - USING SOFTWARE COMPONENTS

Chapter 8Dispelling the Myth of Component Evaluation

How to evaluate and select components?

What should we evaluate? Components or component compositions?

How component properties behave in compositions?

Chapter 9Component Composition and Integration

Integration – putting components together (complied to component models)

Composition – reasoning about compositions attributes

Predictable assembly from “certificated” components

Page 13: The Book Organization

Page 13, April 22, 2023CBSE – graduate course

Part 4 - USING SOFTWARE COMPONENTS (cont) Part 4 - USING SOFTWARE COMPONENTS (cont)

Chapter 10Predicting System Trustworthiness from Software Component Trustworthiness

Predictable assembly Can be predict reliability of a composition from reliability from

components How to test assemblies? Fault injection method – Interface Propagation Analysis - send

invalid data between connected components

Page 14: The Book Organization

Page 14, April 22, 2023CBSE – graduate course

Part 4- Interesting questionsPart 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: The Book Organization

Page 15, April 22, 2023CBSE – graduate course

Part 5 - SOFTWARE PRODUCT-LINES Part 5 - SOFTWARE PRODUCT-LINES 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: The Book Organization

Page 16, April 22, 2023CBSE – graduate course

Part 5- Interesting questions/additional partsPart 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: The Book Organization

Page 17, April 22, 2023CBSE – graduate course

Part 6- REAL-TIME SOFTWARE COMPONENTS Part 6- REAL-TIME SOFTWARE COMPONENTS

Chapter 13Components in Real-Time Systems

Real-time requirements Real-time components (OS) Designing real-time

component-based systems Reusing RT components

Chapter 14Test of Reusable Software Components in Safety-Critical Real-Time Systems

Safety-critical systems Large costs for testing Can we reuse components? What is the minimum of tests we

must repeat

Page 18: The Book Organization

Page 18, April 22, 2023CBSE – graduate course

Part 6- REAL-TIME SOFTWARE COMPONENTS (cont)Part 6- REAL-TIME SOFTWARE COMPONENTS (cont)

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: The Book Organization

Page 19, April 22, 2023CBSE – graduate course

Part 6- Interesting questionsPart 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: The Book Organization

Page 20, April 22, 2023CBSE – graduate course

Part 7 - CASE STUDIESPart 7 - CASE STUDIES

Chapter 16Component-Based Embedded Systems

How to use components in small embedded systems?

Which component model to use?

Which composition environment?

Which run-time environment? Case study – ABB embedded

systems

Chapter 17Architectural Support for Reuse: A Case Study in Industrial Automation

ABB’s next generation of automation system architecture

AspectObjects Aspect directories Flexibility in integration and data

mining

COMPONENT-BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS COMPONENT-BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS

Page 21: The Book Organization

Page 21, April 22, 2023CBSE – graduate course

Part 7- Interesting questionsPart 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: The Book Organization

Page 22, April 22, 2023CBSE – graduate course

Part 7 - CASE STUDIES (cont.)Part 7 - CASE STUDIES (cont.)

Chapter 18A Framework for Integrating Business Applications

Similar to chapter 16, but standards used (Microsoft)

Office Information systems Issue Management Systems Integration of large

applications From different applications to

common Interface

Chapter 19Industrial Experience with the Dassault Système Component Model

Reuse, dynamic configuration of applications (CAD/CAM)

Internal component model Problems and experiences

COMPONENT-BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS COMPONENT-BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS

Page 23: The Book Organization

Page 23, April 22, 2023CBSE – graduate course

Related topicsRelated topics1   Basic Concepts in CBSE2   On the Specification of Components3   Architecting Component-based Systems4    Component Models and Technology5   Component-Based Development Process6    Semantic Integrity in CBD7   Role-Based Component Engineering8   Dispelling the Myth of Component

Evaluation9    Component Composition and Integration10  Predicting System Trustworthiness11  Components in PLA12  The Koala Component Model13 Components in RT systems14  Components in Safety-Critical RT

Systems15 Providing RT Services for COTS 16  CB Embedded Systems17  ABB AIP18 Application Integration19 Dassault Système Component Model 

Related chaptersA: 1,2,6B: 1,2,7C: 1,2,13D: 1,2,16E: 1,3,4, F: 1, 3,5G: 3,11, 12H: 4,17,19I: 10,14J: 13,14,16 K: 1,2,13,15 L: 17,18,19Describe them, find relations

between them

Page 24: The Book Organization

Page 24, April 22, 2023CBSE – graduate course

Related topicsRelated topics1   Basic Concepts in Component-Based Software Engineering2   On the Specification of Components3   Architecting Component-based Systems4    Component Models and Technology5   Component-Based Development Process6    Semantic Integrity in Component Based Development7   Role-Based Component Engineering8   Dispelling the Myth of Component Evaluation9    Component Composition and Integration10  Predicting System Trustworthiness11  Components in product line architectures12  The Koala Component Model13 Components in Real-Time Systems14  Testing Reusable Software Components in Safety-Critical Real-Time Systems15 Providing Real-Time Services for COTS 16  Component-Based Embedded Systems17  Architectural Support for Reuse: A Case Study in Industrial Automation18  A Framework for Integrating Business Applications19 Industrial Experience with the Dassault Système Component Model