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
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
Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University
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
Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University
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
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
Two- level hierarchy of “comparison aspects” Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University
Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University
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
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
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
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
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
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
Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University
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
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
Master thesis in Software Engineering - 28 June 2011 University of Sofia, Mälardalen University
Recommend
More recommend