nikolay grozev
play

Nikolay Grozev Mlardalen University, School of Innovation, Design - PowerPoint PPT Presentation

University of Sofia, Faculty of Mathematics and Informatics Nikolay Grozev Mlardalen University, School of Innovation, Design and Engineering Supervisor : Juraj Feljan, Mlardalen University Consultant : Sylvia Ilieva, University of Sofia


  1. University of Sofia, Faculty of Mathematics and Informatics Nikolay Grozev Mälardalen University, School of Innovation, Design and Engineering Supervisor : Juraj Feljan, Mälardalen University Consultant : Sylvia Ilieva, University of Sofia Master thesis, Software Engineering – 28/Jun/11

  2.  Introduction  General comparison - background  General comparison of CBSE and MDD  Overview of ProCom  Comparison of CBSE and MDD with respect to ProCom  Conclusion  Q & A Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  3. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  4.  Software development complexity is proverbial – especially in the embedded domain. Ways to tackle it: • Component-based software engineering (CBSE) • Model Driven Development (MDD)  ProCom – component model for the embedded domain. Uses both CBSE and MDD  Thesis purposes • Systematically compare CBSE and MDD in general • Enrich the general comparison with a case study comparing CBSE and MDD with respect to ProCom. • Analyze the outcomes of the comparisons. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  5. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  6.  CBSE - building software from pre-existing components  Component - many definitions " A software component is a unit of composition with contractually • specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third party " – Szyperski  Interface - a specification of a component's access point  Component model • A set of standards and conventions for a component. • Defines what a component is and how it interacts with other components  Component framework – a component model implementation. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  7.  Rahmani: " [A model is] a description or specification of a system and its environment for some certain purposes “  Model formalisms  Model transformation - an operation which converts a model of a system described in formalism F 1 to one described in formalism F 2 .  MDD refinements – MDA, AMDD Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  8.  Two- level hierarchy of “comparison aspects” Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  9. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  10. CBSE MDD Component reuse Higher level of abstraction than Drivers code. Complexity management. Relatively mature. Some theoretical Controversy about real-life Maturity achievements still have not made it usefulness of modeling. Not yet into practice. Many practitioners proven in practice, though still misunderstand basic concepts. some types of modeling have been a basis for success stories. Target system Suitable for all kinds of systems, Modeling can be applied in all except for ones with high demands kinds of systems. Most useful in specifics for extra-functional requirements. large and complex ones. Especially useful for product lines. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  11. CBSE MDD Requirement Most current technologies do not Some models are very useful for allow requirements specification, requirement specification - UML specification though CBSE relies on well use cases, BPMN etc. specified requirements. Changing requirements pose great Allows adequate reaction to such Changing risks - hard traceability, cyclical a change, since the software is requirements requirement-component more traceable. If dependency (CRCD) transformations are automatic changes can be applied very quickly. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  12. CBSE MDD SoC is implemented through Does not define explicitly how Separation of components and interfaces. SoC is achieved. concerns (SoC) Technology-specific formalisms. Suitable for architecture and Architectural Lack of popular standards. design specifications -ArchiMate, support Many technologies do not some UML models, ADLs facilitate modeling at all. Design for Extra- “Credentials” are still not UML extensions especially widely used. designed for the purpose. functional requirements Design & Does not help in Standard evaluation approaches architecture/design evaluation. can be used. Some models help Architecture Standard evaluation approaches when discussing evaluation are used. design/architecture properties. Design reuse Some component system Models can be reused in case the models can be reused. This is "donor" and "recipient" systems hindered by the lack of popular use the same formalisms. Using and standard component modeling standards like UML is a modeling formalisms. best practice. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  13. CBSE MDD The only tool needed - component Sophisticated tools are Required tools, framework. Currently CBSE tools required. If a popular technologies and are considerably mature, though modeling formalism is used their maturity some theoretical achievements (e.g. UML) there are mature have not been widely incorporated tools available. Vendor lock- yet. Vendor lock-in can be avoided in can be avoided by using by using implementations of public tools that can export models component model specifications. to a popular exchange formats - e.g. XMI. Verification and Components' quality is crucial and Models allow for early they should be heavily verified analysis. Model based testing Validation (V&V) and in many cases certified. can make verification easier. Component based systems are Having models expressed in easier for verification since a lot a mathematical formalism of the work has been done at the allows automatic component level. Their validation verification. is similar to that of standard systems. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  14. CBSE MDD Depends on the quality of the High traceability and Traceability, documentation and the understandability. understandability architecture. Maintenance Maintainability is usually also and depends on the quality of the high, especially if the maintainability glue code and the maintenance transformations are well support of the components. automated. Problematic model versioning, comparison and merging. Dealing with Legacy code is encapsulated Legacy code must be "brought" into designated components. to the level of the models, so legacy code that the interaction with it can be modeled. Reverse engineering tools are usually used for the purpose. Code reuse Reuse is the paramount idea. Not focused on code reuse. Custom components still need to Code reuse may be a side be developed, but they are effect of model reuse. typically reused in-house later. Reuse benefits can be diminished by developing too much glue code. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  15. CBSE MDD Lack of real-life proven Can be used with almost all Organizational development methodologies. existing development specifics Existing methodologies are methodologies, with minor customized to facilitate CBSE adaptations. Steep individual specific activities, roles etc. learning curve due to complex Staff should be trained in the basic formalisms and tools. theoretical concepts of CBSE. Use Enterprise modeling tools a pilot project for gathering hands- contribute to the price of on experience. adoption as well. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  16. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  17.  ProCom - component model for embedded systems used throughout SDLC  Design at two level of granularity – ProSys and ProSave  ProSys - coarse grained modeling • Subsystems – concurrent active components • Message passing - typed input and output message ports • Hierarchical components Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  18.  ProSave – fine grained modeling • Components encapsulate relatively small and rather low- level, non-distributed functionality • Components are hierarchical, passive and present at design time only. Primitive components are C functions • Ports and connectors  Deployment modeling Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

  19. Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University

Recommend


More recommend