Upload
hayes
View
74
Download
1
Tags:
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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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