components

advertisement
Component-Based Software Engineering
ComponentBuilding reliable componentcomponent-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
CBSE – graduate course
Chapter 18
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
(definitions)
General for components
Compositions
Processes
dependability/reliability
Systems
Domain specific
processes
Real-time requirements
Safety-critical requirements
Complex systems
Case studies
Specific cases
Part 2
Part 3
Part 4
Part 5
Part 6
Part 7
CBSE – graduate course
Page 4, April 8, 2009
PART 1
CONCEPTS OF CBSE
What is a software component?
Chapter 1
Basic Concepts
p in CBSE
Chapter 2
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
Architecting Componentbased Systems
Chapter 4
Component Models and
Technology
‰ Relation between Software
architecture and CBSE
‰ Different component
technologies from architectural
pointt of
po
o view
e
‰ Architecture – design issue –
identify components
‰ Redesign system depending
of components availability
‰ Type of components
z
“architectural”
architectural components
z
already existing components
‰ ADL (architectural definition
language)
‰ JavaBeans, CORBA Component
model, .NET Component Model
and “Open Service Gateway
I iti ti ” Component
Initiative”
C
t Model
M d l
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
dF
Frameworks
k iin diff
differentt technologies
t h l i
CBSE – graduate course
Page 8, April 8, 2009
Part 3 - Developing Software Components
Chapter 5
CBD Life-Cycles
Chapter 6
Semantic
S
i Integrity
I
i in
i Component
C
- based Development
‰ System & Application
development
‰ Separation of processes
z
Component development
z
Component-based
development
de
e op e t
‰ Different phases and
emphasize on parts specific
for CBD
‰ Importance of semantics
‰ Different levels of semantic
specifications
‰ Addressing semantic questions in
CBSE literature – a statistic
survey
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
tF
Frameworks
k and
d Roles
R l
CBSE – graduate course
Page 11, April 8, 2009
Part 4 - USING SOFTWARE COMPONENTS
Chapter
Ch
t 8
Dispelling the Myth of
Component Evaluation
Chapter
Ch
t 9
Component Composition
and Integration
‰ How to evaluate and select
components?
t ?
‰ Integration – putting
components
t together
t
th
(complied to component
models)
‰ What should we evaluate?
Components or component
compositions?
‰ How component properties
behave in compositions?
‰ Composition – reasoning
about compositions attributes
‰ 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
td
documentations
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 PRODUCTPRODUCT-LINES
Chapter 11
Components
p
in product
p
line architectures
‰ What is “Software
Software product
lines”
‰ How to make reusable parts in
in-house development for
different
ff
ffamilies off products?
Ch t 12
Chapter
‰ KOALA –component
component model
implemented at Philips
z
CBSE – graduate course
Requirements, model
architecture, interface
definitions, experience
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
dd
development
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 66- REAL
REAL--TIME SOFTWARE COMPONENTS
Chapter
Ch
t 13
Components in Real-Time
Systems
Chapter
Ch
t 14
Test of Reusable Software
Components in Safety-Critical
Real-Time Systems
‰ Real-time requirements
‰ Real-time components (OS)
‰ Safety-critical
S f
systems
‰ Designing real-time
component-based systems
‰ Large costs for testing
‰ Reusing RT components
‰ Can we reuse components?
‰ What is the minimum of tests we
must repeat
CBSE – graduate course
Page 17, April 8, 2009
Part 66- 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
Component-Based
y
Embedded Systems
‰ How to use components in
small embedded systems?
Chapter 17
Architectural Support for
Reuse: A Case Study in
Industrial Automation
‰ Whi
Which
h componentt model
d l to
t
use?
‰ ABB’s next generation of
automation system architecture
p
‰ Which composition
environment?
‰ AspectObjects
‰ Which run-time environment?
‰ C
Case study
t d – ABB embedded
b dd d
systems
‰ Aspect directories
y in integration
g
and data
‰ Flexibility
mining
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 runtime 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
Integrating Business
Applications
‰ Similar to chapter 16, but
standards used (Microsoft)
‰ Office Information systems
‰ Issue Management Systems
‰ Integration of large
applications
Chapter 19
Industrial Experience with the
Dassault Système Component
Model
‰ Reuse, dynamic configuration of
applications (CAD/CAM)
‰ Internal component model
‰ From different applications to
common Interface
‰ Problems and experiences
CBSE – graduate course
Page 22, April 8, 2009
Download