cbse - presentations advanced component-based software engineering assignment 2

28
CBSE - presentations Advanced Component-Based Software Advanced Component-Based Software Engineering Engineering Assignment 2 Assignment 2

Upload: willa-morrison

Post on 30-Dec-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

CBSE - presentations

Advanced Component-Based Software Advanced Component-Based Software

EngineeringEngineering

Assignment 2Assignment 2

Page 2: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Assigment 2Assigment 2

There will be some changes in the assignment 2

Due to a large number of students – less flexibility to ensure that the students achieve the knowledge required

Running the assignment in a more organized form

Good opportunity to learn about trends in component-based software engineering (practice and research).

Due to an opportunity to participate in a research project

Page 2, April 19, 2023CBSE - presentations

Page 3: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Assigment 2 planAssigment 2 plan

Goal

Learn about modeling component-based systems using two different component models

Learn about principles of the two component models

Practical exercise in modeling component-based systems

Following and reporting the own work and reflecting over the work and the results

Make assignment 2 more fun!

Page 3, April 19, 2023CBSE - presentations

Page 4: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Assigment plan – changesAssigment plan – changes

NO long reports!

Instead

Assignment – Reading & questionnaire

Practical work

Short presentation

Individual work (everyone work for himself/herself)

Participating in a research project

Page 4, April 19, 2023CBSE - presentations

Page 5: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Assigment 2 - actionsAssigment 2 - actionsActions

1. STUDY - Get theoretical knowledge about modeling component-based systems using two technologies

Read literature about modeling components and component-based systems using UML Modeling components and component-based systems using SaveCCM

Model an application (the requirements and some specifications will be given) using UML and SaveCCM

2. Questionnaire I/test1. On-line assignments to the questions related to UML and

SaveCCM3. INSTALLATION & TRAINING

1. Installing tools IBM Rational Software Architect Save-IDE Development Environment

2. Model the application in these tools

Page 5, April 19, 2023CBSE - presentations

Page 6: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Assigment 2 – actions (cont.)Assigment 2 – actions (cont.)Actions

4. MODELING - For a given requirements and draft specification model

Design a model using IBM Software Architect or Save-IDE

Measure your activities

Submit the model

5. Questionnaire II

Fill in data about your experience and findings during the work

6. Presentation

Present the result

Page 6, April 19, 2023CBSE - presentations

Page 7: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Assigment 2 - actionsAssigment 2 - actionsActions

1. STUDY 5/2 – 17/2

Reading papers + “manual”

2. Questionnaire I 18/2 (Wednesday)

3. INSTALLATION 19/2

& TRAINING

4. MODELING 25/2 – 10/3

5. Questionnaire II 11/3 (Wednesday)

6. Presentation 16/3 (Monday)

Page 7, April 19, 2023CBSE - presentations

1 Week

2 Weeks

3 Days

All G1 G2 G3 All G1 G2 G3

UML Save UML+Save

3 WeeksInstallation+ UML +SaveIDE modelling

1 Week

1 Week

Page 8: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

UML - find literature by yourself

UML design

UML component diagrams

UML profiles

SaveCCM

The SAVE Approach to Component-Based Development of Vehicular Systems. M. Åkerholm, J. Carlson, J. Fredriksson, H. Hansson, J. Håkansson, A. Möller, P. Pettersson, and M. Tivoli. Journal of Systems and Software, 80(5):655–667, May 2007. http://www.mrtc.mdh.se/index.php?choice=publications&id=1108

The SaveCCM Language Reference Manual. M. Åkerholm, J. Carlson, J. Håkansson, H. Hansson, M. Nolin, T. Nolte, and P. Pettersson. Technical Report ISSN 1404-3041 ISRN MDH-MRTC-207/2007-1-SE, M¨alardalen University, January 2007.http://www.mrtc.mdh.se/index.php?choice=publications&id=1210

Page 8, April 19, 2023CBSE - presentations

Page 9: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Assigment 2 - actionsAssigment 2 - actionsActions

1. STUDY 5/2 – 17/2

2. Questionnaire I 18/2 (Wednesday)

3. INSTALLATION 19/2

& TRAINING

4. MODELING 25/2 – 10/3

5. Questionnaire II 11/3 (Wednesday)

6. Presentation 16/3 (Monday)

Page 9, April 19, 2023CBSE - presentations

1 Week

2 Weeks

3 Days

All G1 G2 G3 All G1 G2 G3

UML Save UML+Save

3 WeeksInstallation+ UML +SaveIDE modelling

1 Week

1 Week

Page 10: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Modelling I Model a system using IBM Rational tool or SaveIDE

System specification and other requirements will be given to you IBM Rational Software Architect tool

UML + SaveUML profile

Page 11: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Modelling II Model a system using IBM Rational tool or SaveIDE

System specification and other details will be given to you SaveIDE

SaveComp Component Model (SaveCCM)

Page 12: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Requirements and deliverables

Individual work

Every student has to make notes on:

Time spent on implementing the model

Number of errors the developing tool reported during the work

...

Important: your notes must be accurate

2009-03-10 delivering model you developed and data you collected

2008-03-11 fill in an online questionnaire:

your experience during the work

your results

Page 13: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

13

SaveCCM – For Vehicular SystemsSaveCCM – For Vehicular Systems

Characteristcs:

Many suppliers

Distributed applications

Safety

Reliability

Resource efficiency

(Hard) Real-Time requirements

Page 14: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

The SaveCCM component modelThe SaveCCM component model

Page 14, April 19, 2023CBSE - presentations

Page 15: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

15

SaveCCT Technology OverviewSaveCCT Technology Overview

RepositoryRepository

Page 16: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

16

The SaveCCM component modelThe SaveCCM component model

Restictive in comparision to PC/Internet component models

COM, .Net, EJB

Enable analysis during design-time, and determinstic reproducable behaviour during run-time (test-time)

Textual xml, and graphical UML influenced syntax

Page 17: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Mikael Åkerholm, SaveCCT lecture CBSE Course 200717

SaveCCM Syntax:SaveCCM Syntax:

Basic ComponentBasic ComponentPorts

Trigger, data, combined

Behaviour Read Execute Write

<<SaveComp>>

CalculateOutput

State

IntergrationEnabled

Setpoint

Value

Control

New State

fixed_t error = Setpoint – Value;fixed_t u = fixed_mul(K, e);

if (IntegrationEnabled) u += fixed_div(NewState, T_i);

Control = LIMIT(u, 0, MAX_CONTROL);State = error;

Page 18: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Mikael Åkerholm, SaveCCT lecture CBSE Course 200718

SaveCCM Syntax:SaveCCM Syntax:

Basic ComponentBasic ComponentPorts

Trigger, data, combined

Behaviour Read Execute Write

<<SaveComp>>

CalculateOutput

State

IntergrationEnabled

Setpoint

Value

Control

New State

fixed_t error = Setpoint – Value;fixed_t u = fixed_mul(K, e);

if (IntegrationEnabled) u += fixed_div(NewState, T_i);

Control = LIMIT(u, 0, MAX_CONTROL);State = error;

Page 19: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Mikael Åkerholm, SaveCCT lecture CBSE Course 200719

SaveCCM Syntax:SaveCCM Syntax:

SwitchSwitch

Ports Setports determine active configuration

Connection patterns For static or dynamic reconfiguration

<<Switch>>

Mode

IntergrationEnabled

FeebackOut 1

FeedbackIn

FeebackOut 2

To PortFeedback Out 1Feedback Out 2

From PortFeedback InFeedback In

ExpressionIntegration Enabled Integration Enabled

Page 20: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

20

SaveCCM Syntax:SaveCCM Syntax:

AssemblyAssembly Ports

Internal components and connections

Encapsulation of a “subsystem”

PI Controller<<Assembly>>

<<Switch>>

Mode

<<SaveComp>>

CalculateOutput

<<SaveComp>>

UpdateState

State

IntergrationEnabled

Setpoint

Value

FeebackOut

Feedback In

Control

Page 21: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

Mikael Åkerholm, SaveCCT lecture CBSE Course 200721

SaveCCM Syntax:SaveCCM Syntax:

Composite ComponentComposite Component

PortsInternal components and connections

Restricted behaviour, read-execute-write

MultiplyAndAdd<<Composite>>

<<SaveComp>>

Multiply <<SaveComp>>

AddA

B

C

Q

Page 22: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

23-04-19 Séverine Sentilles 22

Unified Modelling Language (UML)Unified Modelling Language (UML)

Modelling componentsModelling components

Page 23: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

23-04-19

Component diagramComponent diagram

Three representations for a component

But access points are required

Utilisation of interfaces

Utilisation of port

C<<component>>

C<<component>>

C

Page 24: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

23-04-19

InterfacesInterfaces Role:

Specification of the access point Required functionalities Provided functionalities

2 existing representation The most descriptive The compact

The compact

<<interface>>

ProvidedItf

<<component>>C

<<interface>>

RequiredItf

<<component>>C

ProvidedItf RequiredItf

Page 25: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

23-04-19

PortsPorts

Role:

Access point to the internal structure of the component

Can have 0 or several interfaces

Representation:

<<component>>C

Page 26: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

23-04-19Séverine Sentilles26

Relationship between componentsRelationship between components

Use the notion of connector Roughly a way to link components together & make them

”communicate” via a request of services

Generalisation of the means of communication Example:

Client-server Pipe&filter Message exchange

Can also be called horizontal composition

<<component>>Client

<<component>>Server

IdenticalItf

Page 27: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

23-04-19Séverine Sentilles27

Vertical compositionVertical composition

Can also be called hierarchical composition

Role To increase the component granularity

To expose the content of the component

Use the notion of delegation connector (between two ports)

<<component>>C

<<component>>A

<<component>>B

Page 28: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2

23-04-19Séverine Sentilles28

Profile UMLProfile UML

Extension of the UML model in order to adapt it to the particular requirements of a context

Adjunction of elements Adjunction of constraints But: No suppression !!!

Uses Stereotypes Tagged values OCL Constraints

Examples: Profile for EJB components Profile for a software architecture