Component-Based Software Engineering
Component-
Building reliable component-
component-based
systems
Overview
www.idt.mdh.se/cbse--book
www.idt.mdh.se/cbse
CBSE – graduate course
Page 1, April 8, 2009
The Book Organization
Book
Introduction
Part 1 Chapter 1 Chapter 2
Part 2 Chapter 3 Chapter 4
Part 3 Chapter 5 Chapter 6 Chapter 7
Part 4 Chapter 8 Chapter 9 Chapter 10
Part 5 Chapter 11 Chapter 12
Part 6 Chapter 12 Chapter 13 Chapter 14
Part 7 Chapter 15 Chapter 16 Chapter 17 Chapter 18
CBSE – graduate course
Page 2, April 8, 2009
The Book Organization
Part 1 Basic definitions and concepts of component specification
Part 2 Component models and architecture
Part 3 Developing Software Components (development process)
Part 4 Using components (evaluation
(evaluation, test
test, composition)
Part 5 Software Product-Lines
Part 6 Real-time components, real-time systems and components
Part 7 Case studies – real–time, industrial and office component-based systems
CBSE – graduate course
Page 3, April 8, 2009
The Book Organization II
Part 1 Component Theoretical parts General for components
(definitions)
Part 2
Part 3
Compositions Processes dependability/reliability
Part 4
Systems Domain specific Real-time requirements
Part 5 processes Safety-critical requirements
Part 6
Complex systems Case studies Specific cases
Part 7
CBSE – graduate course
Page 4, April 8, 2009
PART 1 CONCEPTS OF CBSE
What is a software component?
Chapter 1 Chapter 2
Basic Concepts
p in CBSE Specification
p of Software
Components
How to define a component?
Component specification Component Specification
Interface Interface Specification
Contracts UML Component
C t Specification
S ifi ti
Patterns Specifying extra functional
p
components
Frameworks
F k
CBSE – graduate course
Page 5, April 8, 2009
Part 1 - Interesting questions
What are the relations between objects and components?
How
o does itt work
o in different
d e e t technologies?
tec o og es
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)
z In particular UML 2.0
CBSE – graduate course
Page 6, April 8, 2009
PART 2 - SOFTWARE ARCHITECTURE AND COMPONENTS
Chapter 3 Chapter 4
Architecting Component- Component Models and
based Systems Technology
Relation between Software Different component
architecture and CBSE technologies from architectural
Architecture – design issue – pointt of
po o view
e
identify components ADL (architectural definition
Redesign system depending language)
of components availability JavaBeans, CORBA Component
Type of components model, .NET Component Model
and “Open Service Gateway
z “architectural”
architectural components I iti ti ” Component
Initiative” C t Model
M d l
z already existing components
CBSE – graduate course
Page 7, April 8, 2009
Part 2
2-- Interesting questions
Dynamic software architecture
z D
Dynamic
i replacement
l off components
z Dynamic restructuring of resources
Different
Diff t ADLs
ADL and
d their
th i relations
l ti to
t components
t
UML 2.0
Containers
C t i and
dFFrameworks
k iin diff
differentt technologies
t h l i
CBSE – graduate course
Page 8, April 8, 2009
Part 3 - Developing Software Components
Chapter 5 Chapter 6
CBD Life-Cycles Semantic
S i Integrity
I i ini Component
C
- based Development
System & Application
development
Importance of semantics
Separation of processes
Different levels of semantic
z Component development specifications
z Component-based Addressing semantic questions in
development
de e op e t CBSE literature – a statistic
Different phases and survey
emphasize on parts specific
for CBD
CBSE – graduate course
Page 9, April 8, 2009
Part 3 - Developing Software Components
Ch
Chapter 7
Role-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?
CBSE – graduate course
Page 10, April 8, 2009
Part 3
3-- Interesting questions parts
Component-based
C tb d processes
z Component-based databases – problems and examples
z H
How and
d when
h tto ttestt components
t
z Component documentation
z C
Component
t certification
tifi ti
Semantic integrity
z UML OCL and
UML, d specification
ifi ti off pre- and
d post-conditions
t diti
Role-Based components
z C
Component
tFFrameworks
k and
d Roles
R l
CBSE – graduate course
Page 11, April 8, 2009
Part 4 - USING SOFTWARE COMPONENTS
Chapter
Ch t 8 Chapter
Ch t 9
Dispelling the Myth of Component Composition
Component Evaluation and Integration
How to evaluate and select Integration – putting
components?
t ? components t together
t th
What should we evaluate? (complied to component
Components or component models)
compositions? Composition – reasoning
How component properties about compositions attributes
behave in compositions? Predictable assembly from
“certificated” components
CBSE – graduate course
Page 12, April 8, 2009
Part 4 - USING SOFTWARE COMPONENTS (cont)
Chapter 10
Ch
Predicting System Trustworthiness from Software
Component Trustworthiness
Predictable assembly
assembl
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
CBSE – graduate course
Page 13, April 8, 2009
Part 4
4-- Interesting questions
Component
C t evaluation
l ti
z Component repositories
z C
Component
tddocumentations
t ti
z Automatic test of components
Fault
F lt injection
i j ti models
d l
z Managing exception handlings in components
Component
C t and
d system
t properties
ti
z Reliability, Safety, Security, etc.
z E
Experience
i ffrom h
hardware
d systems
t and
d components
t
CBSE – graduate course
Page 14, April 8, 2009
Part 5 - SOFTWARE PRODUCT-
PRODUCT-LINES
Chapter 11
Components
p in product
p
line architectures Ch t 12
Chapter
What is “Software
Software product KOALA –component
component model
lines” implemented at Philips
How to make reusable parts in z Requirements, model
in-house development for architecture, interface
different
ff ffamilies off products? definitions, experience
CBSE – graduate course
Page 15, April 8, 2009
Part 5
5-- Interesting questions/additional parts
Software
S ft product
d t lines
li
z Overview
z P
Process challenges
h ll – how
h tto develop
d l platforms
l tf
z What is a component in PLA
z Pl tf
Platform-based
b dddevelopment
l t
z Configuration Management and PLA
Integration
I t ti principles
i i l
z Type of bindings/compositions (functions, libraries, shared
libraries dynamic binding
libraries, binding,…))
CBSE – graduate course
Page 16, April 8, 2009
Part 6-
6- REAL
REAL--TIME SOFTWARE COMPONENTS
Chapter
Ch t 13 Chapter
Ch t 14
Components in Real-Time Test of Reusable Software
Systems Components in Safety-Critical
Real-Time Systems
Real-time requirements
Real-time components (OS) Safety-critical
S f systems
Designing real-time Large costs for testing
component-based systems Can we reuse components?
Reusing RT components What is the minimum of tests we
must repeat
CBSE – graduate course
Page 17, April 8, 2009
Part 6-
6- REAL
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
p
component
RT characteristics of Windows NT
Adding a new RT component – what is the behavior of the entire
system
CBSE – graduate course
Page 18, April 8, 2009
Part 6
6-- Interesting questions
RT components
z Interface required for RT components
z RT component components
z RT CORBA
z Timing aspects of using indirect (or dynamic) bindings
z Why component models such as COM, CORBA cannot be
used in hard RT systems?
z RT UML - overview
Testing safety-critical components
z What is a reliability of a component (hardware /software
comparison)
z Dependability
p y of components
p in relation of dependability
p y of
systems
CBSE – graduate course
Page 19, April 8, 2009
Part 7 - CASE STUDIES
COMPONENT--BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS
COMPONENT
Chapter 16 Chapter 17
Component-Based Architectural Support for
y
Embedded Systems Reuse: A Case Study in
How to use components in Industrial Automation
small embedded systems?
Whi
Whichh componentt model
d l to
t ABB’s next generation of
use? automation system architecture
Which composition
p AspectObjects
environment?
Aspect directories
Which run-time environment?
Flexibility
y in integration
g and data
C
Case study
t d – ABB embedded
b dd d mining
systems
CBSE – graduate course
Page 20, April 8, 2009
Part 7
7-- Interesting questions
Embedded systems and component-based systems
z Identification of configuration environment/framework and run-
time environment
z OS for embedded systems and possibility of using CBSE for
them (example Rubus)
z OPC overview
z Interesting services of a RT component-based framework
CBSE – graduate course
Page 21, April 8, 2009
Part 7 - CASE STUDIES (cont.)
COMPONENT--BASED DEVELOPMENT IN INDUSTRIAL APPLICATIONS
COMPONENT
Chapter 18
A Framework for Chapter 19
Integrating Business Industrial Experience with the
Applications Dassault Système Component
Similar to chapter 16, but Model
standards used (Microsoft)
Office Information systems
Reuse, dynamic configuration of
Issue Management Systems applications (CAD/CAM)
Integration of large Internal component model
applications
Problems and experiences
From different applications to
common Interface
CBSE – graduate course
Page 22, April 8, 2009