cbse - presentations advanced component-based software engineering assignment 2
TRANSCRIPT
CBSE - presentations
Advanced Component-Based Software Advanced Component-Based Software
EngineeringEngineering
Assignment 2Assignment 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
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
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
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
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
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
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
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
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
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)
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
13
SaveCCM – For Vehicular SystemsSaveCCM – For Vehicular Systems
Characteristcs:
Many suppliers
Distributed applications
Safety
Reliability
Resource efficiency
(Hard) Real-Time requirements
The SaveCCM component modelThe SaveCCM component model
Page 14, April 19, 2023CBSE - presentations
15
SaveCCT Technology OverviewSaveCCT Technology Overview
RepositoryRepository
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
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;
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;
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
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
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
23-04-19 Séverine Sentilles 22
Unified Modelling Language (UML)Unified Modelling Language (UML)
Modelling componentsModelling components
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
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
23-04-19
PortsPorts
Role:
Access point to the internal structure of the component
Can have 0 or several interfaces
Representation:
<<component>>C
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
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
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