You are on page 1of 22

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

You might also like