cbse - presentations advanced component-based software engineering assignment 2
TRANSCRIPT
![Page 1: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/1.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/2.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/3.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/4.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/6.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/7.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/8.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/9.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/10.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/11.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/12.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/13.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/14.jpg)
The SaveCCM component modelThe SaveCCM component model
Page 14, April 19, 2023CBSE - presentations
![Page 15: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/15.jpg)
15
SaveCCT Technology OverviewSaveCCT Technology Overview
RepositoryRepository
![Page 16: CBSE - presentations Advanced Component-Based Software Engineering Assignment 2](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/16.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/17.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/18.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/19.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/20.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/21.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/22.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/23.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/24.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/25.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/26.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/27.jpg)
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](https://reader037.vdocuments.us/reader037/viewer/2022102718/56649e895503460f94b8e412/html5/thumbnails/28.jpg)
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