CBSE - presentations Advanced Component-Based Software Engineering Assignment 2
Assigment 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, October 6, 2015 CBSE - presentations
Assigment 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, October 6, 2015 CBSE - presentations
Assigment 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, October 6, 2015 CBSE - presentations
Assigment 2 - actions Actions 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/test 1. On-line assignments to the questions related to UML and SaveCCM 3.INSTALLATION & TRAINING 1. Installing tools IBM Rational Software Architect Save-IDE Development Environment 2. Model the application in these tools Page 5, October 6, 2015 CBSE - presentations
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, October 6, 2015 CBSE - presentations
Assigment 2 - actions Actions 1.STUDY 5/2 – 17/2 Reading papers + “manual” 2.Questionnaire I18/2 (Wednesday) 3.INSTALLATION19/2 & TRAINING 4.MODELING25/2 – 10/3 5. Questionnaire II11/3 (Wednesday) 6. Presentation16/3 (Monday) Page 7, October 6, 2015 CBSE - presentations 1 Week 2 Weeks 3 Days All G1 G2 G3 UML Save UML+Save 3 Weeks Installation + UML + SaveIDE modelling 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 The SaveCCM Language Reference Manual. M. Åkerholm, J. Carlson, J. Håkansson, H. Hansson, M. Nolin, T. Nolte, and P. Pettersson. Technical Report ISSN ISRN MDH-MRTC-207/ SE, M¨alardalen University, January Page 8, October 6, 2015 CBSE - presentations
Assigment 2 - actions Actions 1.STUDY 5/2 – 17/2 2.Questionnaire I18/2 (Wednesday) 3.INSTALLATION19/2 & TRAINING 4.MODELING25/2 – 10/3 5. Questionnaire II11/3 (Wednesday) 6. Presentation16/3 (Monday) Page 9, October 6, 2015 CBSE - presentations 1 Week 2 Weeks 3 Days All G1 G2 G3 UML Save UML+Save 3 Weeks Installation + UML + SaveIDE modelling 1 Week
Modelling I qModel a system using IBM Rational tool or SaveIDE l System specification and other requirements will be given to you qIBM Rational Software Architect tool l UML + SaveUML profile
Modelling II qModel a system using IBM Rational tool or SaveIDE l System specification and other details will be given to you qSaveIDE l SaveComp Component Model (SaveCCM)
Requirements and deliverables qIndividual work qEvery student has to make notes on: l Time spent on implementing the model l Number of errors the developing tool reported during the work l... l Important: your notes must be accurate q delivering model you developed and data you collected q fill in an online questionnaire: l your experience during the work l your results
13 SaveCCM – For Vehicular Systems Characteristcs: Many suppliers Distributed applications Safety Reliability Resource efficiency (Hard) Real-Time requirements
The SaveCCM component model Page 14, October 6, 2015 CBSE - presentations
15 SaveCCT Technology Overview Repository
16 The 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 SaveCCM Syntax: Basic Component Ports Trigger, data, combined Behaviour Read Execute Write 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 SaveCCM Syntax: Basic Component Ports Trigger, data, combined Behaviour Read Execute Write 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 SaveCCM Syntax: Switch Ports Setports determine active configuration Connection patterns For static or dynamic reconfiguration
20 SaveCCM Syntax: Assembly Ports Internal components and connections Encapsulation of a “subsystem”
Mikael Åkerholm, SaveCCT lecture CBSE Course SaveCCM Syntax: Composite Component Ports Internal components and connections Restricted behaviour, read-execute-write
Séverine Sentilles 22 Unified Modelling Language (UML) Modelling components
Component diagram Three representations for a component But access points are required Utilisation of interfaces Utilisation of port C > C > C
Interfaces Role: Specification of the access point Required functionalities Provided functionalities 2 existing representation The most descriptive The compact > ProvidedItf > C > RequiredItf > C ProvidedItf RequiredItf
Ports Role: Access point to the internal structure of the component Can have 0 or several interfaces Representation: > C
Séverine Sentilles 26 Relationship 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 > Client > Server IdenticalItf
Séverine Sentilles 27 Vertical 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) > C > A > B
Séverine Sentilles 28 Profile 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