Presentation is loading. Please wait.

Presentation is loading. Please wait.

Copyright 2002 KLOCwork Solutions Inc. 1 Toward the full-cycle application of ITU-T languages Dr. Nikolai Mansurov Chief Scientist 2 nd March, 2002, Geneva.

Similar presentations


Presentation on theme: "Copyright 2002 KLOCwork Solutions Inc. 1 Toward the full-cycle application of ITU-T languages Dr. Nikolai Mansurov Chief Scientist 2 nd March, 2002, Geneva."— Presentation transcript:

1 Copyright 2002 KLOCwork Solutions Inc. 1 Toward the full-cycle application of ITU-T languages Dr. Nikolai Mansurov Chief Scientist 2 nd March, 2002, Geneva

2 Copyright 2002 KLOCwork Solutions Inc. 2 Presentation outline 1.Introduction to KLOCwork 2.Discontinuities in today’s SW engineering space Missing ITU notation and recommendation for SW architectures Gap between methods and tools support for developing new code and maintaining existing code (including architecture optimization) Discontinuity between requirements, architecture design and component implementation 3.Closing the architecture gap: KLOCwork’s experiences in architecture modeling, analysis and optimization 4.Closing another gap: Rapid prototyping with scenarios 5.Synergy: The full-cycle application of ITU-T languages 6.Conclusions and discussion points

3 Copyright 2002 KLOCwork Solutions Inc. 3 1. Introduction to KLOCwork KLOCwork: Productivity solutions, aimed at helping SW development organizations improve their Architecture Capability Maturity Short-term: suite of tools and professional services to Expose SW architecture problems, quality issues Explore solutions, architecture clean-up and optimization Enforce integrity, manage architecture, prevent erosion Long-term: Evolution of existing SW into software product lines Adoption of state-of-art methodologies Evolution towards hybrid systems Spun out of Nortel Networks (Canada) in March 2001 Based in Ottawa, Canada – Silicon Valley North Research subsidiary in Russian Academy of Sciences, Moscow Currently 40 members of staff

4 Copyright 2002 KLOCwork Solutions Inc. 4 Clients and partners

5 Copyright 2002 KLOCwork Solutions Inc. 5 2. Discontinuities in today’s SW engineering space SW engineering space: notation perspective Today’s status Success stories Discontinuities in SW engineering space Discontinuities

6 Copyright 2002 KLOCwork Solutions Inc. 6 SW engineering space: notations state-based models (SDL) scenarios (MSC) source code (C,C++,CHILL, Java, etc) execution traces (MSC) object models (UML) architecture models (UML?!) requirements (URN) behaviorstructure detailed abstract performance models deployment models testing models (TTCN) ITU-T notation exists Under construction Legend: Missing notation ? ???

7 Copyright 2002 KLOCwork Solutions Inc. 7 Today’s status State-of-art object-oriented analysis and design methodologies (aka UML) and component-based methodologies (e.g. WebSphere, etc.) successfully embrace structure modeling (object models). Methods and tools provide guidance and automated support for Specification of object models Code generation from object models State-of-art real-time modeling methodologies (e.g. ITU method, Telelogic, Rational Rose RealTime) successfully embrace behavioral modeling (state-based models). Methods and tools provide guidance and automated support for Specification of state-based models Analysis and validation of state-based models, Simulation of state-based models Code generation from state-based models However there exist several discontinuities

8 Copyright 2002 KLOCwork Solutions Inc. 8 Success stories Notation Tool-supported transition Other transition execution simulation or validation real-time modeling tools state-based models scenarios source code execution traces object models architecture models requirements code generation UML tools

9 Copyright 2002 KLOCwork Solutions Inc. 9 Discontinuities in SW engineering space state-based models scenarios source code execution traces code generation execution simulation or validation real-time modeling tools object models UML tools ??? architecture models requirements ??? Discontinuity Notation Tool-supported transition

10 Copyright 2002 KLOCwork Solutions Inc. 10 Discontinuities: Notation and methodology recommendation for SW architectures Lack of guidance in modeling and managing SW architectures of existing SW is a serious problem for our customers Architecture design to component design and implementation Formal modeling of requirements (therefore tool support for early SW engineering stages) Requirements to architecture design Requirements to design (including state-based models) Tool support for scenarios Scenarios to state machines Implementation to analysis and design (the “legacy barrier”): Implementation back to architecture design Implementation back to scenarios Implementation back to state-based models There exists a huge (and growing) gap between method and tool support for developing new code and maintaining existing code

11 Copyright 2002 KLOCwork Solutions Inc. 11 3. Architecture excavation, analysis and optimization Closing the architecture gap: KLOCwork’s experiences in architecture modeling, analysis and optimization What is architecture excavation ? Architecture models used by KLOCwork Operations on architecture models, supported by KLOCwork Suite Architecture Optimization Process Architecture-centric evolution of existing SW

12 Copyright 2002 KLOCwork Solutions Inc. 12 Architecture Excavation: Acceleration effect from combined excavation of structure and scenarios scenarios (MSCs) Architecture models are precise source code architecture model Initial model is automatically extracted by our Architecture Compiler detailed abstract Architecture excavation is a process of transforming the initial architecture model to achieve more abstraction and remove accidental dependencies Abstraction of scenarios is driven by abstraction of the architecture model The excavated architecture model should be simple enough to communicate and therefore – to manage; it can be analyzed and then optimized

13 Copyright 2002 KLOCwork Solutions Inc. 13 Package Diagram Architectural Package Architectural Package Dependencies between packages Dependencies between a package and environment 100153 number of relations Model Project KLOCwork architecture models list of relations / interfaces Containment tree double-click symbol Symbol on an object diagram source code double-click File relation in source code double-click

14 Copyright 2002 KLOCwork Solutions Inc. 14 Package or Object Diagram Architectural Package (block) Architectural Package (block) Dependencies between blocks Dependencies between blocks and environment 100153 Select type of relationships to view Change selections List relationship details Model Project Create Build Delete Open Save Enable others to view Delete Group/Ungroup Cut/Paste Add Delete Move Resize Rename Go inside block Go up in hierarchy Show flowchart Show definition Show usage Show messaging Show inheritance Block description Show attributes Show users Show uses Operations on KLOCwork architecture models Main operations supporting architecture excavation are group/ungroup and cut/paste. Dependencies between packages are recalculated on-the-fly as symbols and sub-packages are moved.

15 Copyright 2002 KLOCwork Solutions Inc. 15 Architecture Optimization Process: Launch Review Assessment Cleanup Integration Software DNA Extraction Architecture Excavation Conceptual Analysis Robustness Analysis Analysis phase Implementation phase Step applied to each component (in parallel) Step applied to the whole system Phase

16 Copyright 2002 KLOCwork Solutions Inc. 16 Architecture-centric evolution of existing SW existing code Notation Tool-supported transition 4. Clean-up scenarios (H)MSC architecture models 1. Architecture excavation Architecture of the software is improved as the result of the optimizations. This results in better SW engineering productivity Integrity of the SW needs to be enforced to prevent architecture erosion 5. Enforce integrity of the architecture 3. Optimization 2. Architecture analysis In the long-term, evolution should be directed by a certain goal, for example evolution into a software product line

17 Copyright 2002 KLOCwork Solutions Inc. 17 4. Closing another gap: rapid prototyping with scenarios KLOCwork MSC to SDL Synthesizer Scenario support extends applicability of modeling tools to earlier phases of the SW engineering Use Cases for the KLOCwork MSC to SDL Synthesizer KLOCwork Bridge product family

18 Copyright 2002 KLOCwork Solutions Inc. 18 KLOCwork MSC to SDL Synthesizer Supports ITU-T Message Sequence Charts (MSC) as scenario notation Supports ITU-T High-level Message Sequence Charts (HMSC) a composition language Supports SDL data extensions to MSC scenarios Automatically generates state-based models ITU-T Specification and Description Language (SDL) Both structure, behavior and data definitions are generated Complete & correct SDL, ready to simulate and validate Readable plain SDL is generated Flexible type-based SDL is generated Seamlessly integrates with Telelogic Tau environment Brings SDL tools to early phases of the development process Provides complete graphical environment for rapid prototyping with scenarios

19 Copyright 2002 KLOCwork Solutions Inc. 19 Scenario support expands applicability of modeling tools state-based models (SDL) source code execution traces code generation execution simulation or validation real-time modeling tools scenarios (H)MSC simulation or validation KLOCwork MSC to SDL Synthesizer code generation architecture models requirements models Notation Tool-supported transition

20 Copyright 2002 KLOCwork Solutions Inc. 20 Use Cases for the KLOCwork MSC to SDL Synthesizer Jump-start SDL projects with MSCs Use MSCs to rapidly prototype functional requirements Use MSCs to perform early fault detection Use MSCs to generate test cases (“system slice”) Use MSCs to architecture definition and validation (“executable architectures”) Use MSCs and data extensions to design components Use MSC to SDL Synthesizer for training SDL

21 Copyright 2002 KLOCwork Solutions Inc. 21 The KLOCwork Bridge product family Type-based SDL (H)MSC with SDL data (H)MSC Analyzer Synthesizer Event Automata Tcl API Plain SDL code generator User Defined KLOCwork MSC to SDL Synthesizer Java KLOCwork Bridge for Java

22 Copyright 2002 KLOCwork Solutions Inc. 22 5. Synergy: The full-cycle application of ITU-T languages “Full-cycle” application of ITU-T languages embraces both the existing code and the early SW engineering phases. In other words, the full-cycle addresses the discontinuities in SW engineering space. We believe, that if we achieve the full-cycle applicability of ITU-T languages, this will dramatically improve their adoption. From KLOCwork’s perspective, the full-cycle should support evolution of existing SW, should be architecture-centric and scenario-based. Architecture-centric evolution of existing software Scenario-based reconstruction of SDL models of existing SW Evolution of existing SW: hybrid systems as an architecture concept to support using state-of–art methodologies to develop new features to existing code

23 Copyright 2002 KLOCwork Solutions Inc. 23 Architecture-centric evolution of existing SW Notation Tool-supported transition This is an important problem for real-time industry ! scenarios (H)MSC existing code architecture models 4. Clean-up 3. Optimization 1. Architecture excavation 5. Enforce integrity of the architecture 2. Architecture analysis Currently KLOCwork is using proprietary notation for modeling architectures of existing SW, because an ITU-T notation does not exist

24 Copyright 2002 KLOCwork Solutions Inc. 24 Scenario-based reconstruction of SDL models of existing SW state-based models (SDL) scenarios (H)MSC source code execution traces execution code generation architecture models Notation Tool-supported transition ??? Dynamic approach to extracting scenarios from existing SW. Execution is driven by legacy test suites. Source code needs to be instrumented according to an architecturally significant probe placement strategy. Static approach to extracting scenarios from existing SW. Is driven entirely by architecture excavation. Dynamic approach is relatively easy to implement but it may result in large information spaces. Static approach requires more effort, however it guarantees a smaller number of architecturally significant scenarios. The two approaches can be combined. The resulting SDL model can be used for verification purposes, to generate test cases, or for evolutionary purposes

25 Copyright 2002 KLOCwork Solutions Inc. 25 Evolution of existing SW: hybrid systems state-based models (SDL) scenarios (H)MSC existing code architecture models Notation Tool-supported transition generated code 5. Code generation 3. Clean-up 2. Optimization 1. Architecture excavation Hybrid system 4. State-of-art methodologies are used to develop new features to existing code Architecture of existing code needs to be improved to allow integration with generated code Hybrid systems require high level of Architecture Capability Maturity. The architecture of the system needs to be tightly managed and optimized. Hybrid systems require advanced adaptive code generation techniques

26 Copyright 2002 KLOCwork Solutions Inc. 26 6. Conclusions and discussion Conclusions Discussion questions Discussion

27 Copyright 2002 KLOCwork Solutions Inc. 27 Conclusions: 1.KLOCwork is committed to work together with ITU-T to develop better languages & methodologies for SW engineering space, and to promote their wider adoption by the industry 2.Full-cycle application of ITU-T languages will improve adoption 3.There exist certain discontinuities in today’s SW engineering space that prevent the full-cycle application of ITU-T languages: Missing ITU-T notation and recommendation for SW architectures The “legacy barrier”: lack of systematic recommendations and tool support to (re-)construct formal models of existing SW Gap between methods and tools support for developing new code and maintaining existing code (including architecture optimization) Discontinuity between requirements, architecture design and component implementation 4.The KLOCwork MSC to SDL Synthesizer allows rapid prototyping with (H)MSC scenarios. We believe, this closes the gap with support for early SW engineering phases and will improve adoption of ITU-T notations 5.Full-cycle: evolutionary, architecture-centric and scenario-based.

28 Copyright 2002 KLOCwork Solutions Inc. 28 Discussion questions: Should ITU-T SG17 recommend a separate SW architecture notation and methodology ? Is it not already covered by SDL and MSC ? ODP ? All SG17 recommendations combined ? Should ITU-T SG17 recommend a methodology to model, manage and optimize existing SW architectures ? Should ITU-T recommend methodology for the evolution of existing SW ? Strategic reuse recommendations Software product lines recommendations Best practices and architecture patterns for real-time SW Are there any other gaps in ITU-T suite of recommendations for SW engineering ? How to promote rapid prototyping with (H)MSC scenarios ? Who would be the early adopters and champions ? (see some use cases in addendum)

29 Copyright 2002 KLOCwork Solutions Inc. 29 Addendum: Use cases for the KLOCwork MSC to SDL Synthesizer Jumpstart an SDL project Rapidly prototype requirements Automatically perform early fault detection Automatically generate test cases Define and validate architecture Design components Train team members

30 Copyright 2002 KLOCwork Solutions Inc. 30 Jump start your next SDL project MSC to SDL Synthesizer can be used to jumpstart your SDL project. Start with few easy to understand scenarios and MSC to SDL Synthesizer will automatically generate a complete SDL specification that is ready to run in Telelogic Tau Start Telelogic TAU tool Use Telelogic MSC Editor (MSCE) tool to create MSC diagrams Use Telelogic HMSC Editor (HMSCE) tool to create High-level MSC diagram(s) Run KLOCwork MSC to SDL Synthesizer to produce the SDL model, corresponding to your (H)MSC model Use Tau tool to review and simulate the model Refine the (H)MSC model and re-synthesize the SDL model Continue SDL project by further refining the generated SDL model

31 Copyright 2002 KLOCwork Solutions Inc. 31 Use MSCs to rapidly prototype requirements Jumping into coding too early and not understanding the requirements can result in developing a product that does not meet customer expectations. By using scenarios you can describe functional requirements in an easy to understand format that can be discussed with non-technical stakeholders. Use Telelogic MSC and HMSC Editors to capture functional requirements as scenarios, focus on the interaction between your system and its environment Simulate your (H)MSC requirements model by using the KLOCwork MSC to SDL Synthesizer and Telelogic Simulator GUI When you notice inconsistencies in the prototype go back to your MSC tool, add more scenarios to solve the problem Consider co-design on the user interface prototype and scenarios Review scenarios with customers Repeat this process until you are satisfied with your prototype

32 Copyright 2002 KLOCwork Solutions Inc. 32 Use MSCs to perform early fault detection Even when the goals of your project do not include building an SDL model, the KLOCwork MSC to SDL Synthesizer can be used for systematic validation of MSC scenario models. The synthesized SDL model can be analyzed using state-of-the-art state space exploration. Validation process automatically discovers certain faulty behaviors, such as deadlocks, or failed communication. These faulty behaviors are represented as scenarios using the MSC tool. Anomalies in the behavior of the synthesized model usually reflects problems or inconsistencies in the original MSC model. Use Telelogic MSC and HMSC Editors to capture functional requirements as scenarios, focus on the interaction between your system and its environment Run KLOCwork MSC to SDL Synthesizer to produce the SDL model, corresponding to your (H)MSC model Use Tau Validator tool to validate the synthesized SDL model Review Tau Validator reports Update the input scenario model

33 Copyright 2002 KLOCwork Solutions Inc. 33 Use MSCs to generate test cases MSC to SDL Synthesizer can be used to automatically produce test cases as early as at the requirements definition phase. During scenario modeling, the black-box behavior of the system under development is described by specifying desired interactions between the system and its environment. Thus the scenario model contains both the description of the system and the description of the environment of the system. The MSC to SDL Synthesizer can be applied to selectively produce a partial SDL model only for the environment part of the requirements definition. Use Telelogic MSC and HMSC Editors to capture functional requirements as scenarios, focus on the interaction between your system and its environment Run KLOCwork MSC to SDL Synthesizer to produce the partial SDL model, corresponding to your (H)MSC model – the so-called MSC model slice Implement the system Provide adaptor between the implementation and the slice Use the synthesized MSC model slice and test environment

34 Copyright 2002 KLOCwork Solutions Inc. 34 Use MSCs for architecture definition and validation Automatic synthesis can help address the discontinuity between requirements modeling and architecture design. By specifying the so-called subsystem scenarios that describe collaboration between the major architectural components you can create an executable architecture model. Use Telelogic MSC and HMSC Editors to capture collaborations between subsystems Scenarios can be developed concurrently for different subsystems and then assembled using the Synthesizer System scenarios are decompositions of the requirements scenarios Run KLOCwork MSC to SDL Synthesizer to produce the SDL model, corresponding to your (H)MSC model Use the Telelogic SDL Editor to review the SDL block diagram Use the Telelogic Simulator to explore your “executable architecture model” Use Telelogic Tau Validator to look for faults

35 Copyright 2002 KLOCwork Solutions Inc. 35 Use MSCs to design components Automatic synthesis can help address the discontinuity between architecture design and component design. By specifying the component collaboration scenarios you can prototype implementations of individual components. Use Telelogic MSC and HMSC Editors to capture component collaborations, focusing at one component at a time Scenarios can be developed concurrently for different components and then assembled using the Syntehsizer Component scenarios are decompositions of the subsystem scenarios Expect to use data extensions together with scenarios Run KLOCwork MSC to SDL Synthesizer to produce the SDL model, corresponding to your (H)MSC model Use the Telelogic SDL Editor to review the SDL block diagram Use the Telelogic Simulator to explore your component implementations Use Telelogic Tau Validator to look for faults Generate code for each component

36 Copyright 2002 KLOCwork Solutions Inc. 36 Use MSC to SDL Synthesizer for training SDL SDL is a complex language and most people find it easier to understand MSC scenarios than SDL. What you can do is explain a scenario to a student. Then import scenario into the MSC to SDL tool to automatically create the corresponding SDL model. Now the student can learn SDL much quicker by observing the automatically synthesized SDL for an already familiar scenario. Use Telelogic MSC and HMSC Editors to capture an interesting scenario Explain this scenario to the student Explore the behavior of the scenario using the “Simulate MSCs” feature of the KLOCwork MSC to SDL Synthesizer Run KLOCwork MSC to SDL Synthesizer to synthesize the corresponding SDL model Let the student explore the synthesized SDL model Let the student explore the behavior of the synthesized SDL using the Telelogic Simulator


Download ppt "Copyright 2002 KLOCwork Solutions Inc. 1 Toward the full-cycle application of ITU-T languages Dr. Nikolai Mansurov Chief Scientist 2 nd March, 2002, Geneva."

Similar presentations


Ads by Google