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.

Slides:



Advertisements
Similar presentations
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of URN Daniel Amyot University of Ottawa, Canada
Advertisements

Tool support for Distributed Object Technology
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
 2004 by SEC Chapter 2 Software Development Process Models.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Alternate Software Development Methodologies
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
Software Engineering COMP 201
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Systems Engineering Project: System Validation and Verification Using SDL Ron Henry ENSE 623 November 30, 2004.
Modeling State-Dependent Objects Using Colored Petri Nets
© Copyright Eliyahu Brutman Programming Techniques Course.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Testing
Chapter 1 The Systems Development Environment
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Principles of Object Technology Module 1: Principles of Modeling.
Transitioning From Software Requirements Models to Design Models
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
UML - Development Process 1 Software Development Process Using UML (2)
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
An Introduction to MBT  what, why and when 张 坚
Chapter 1 The Systems Development Environment
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Chapter 1: Introduction to Systems Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Introduction to Software Engineering Lecture 1.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Understanding the Behavior of Java Programs Tarja Systa Software Systems Lab. Tampere Univ. Sookmyung Women’s Univ. PSLAB Choi, yoon jeong.
Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher(2009) with material from Amyot User Requirements Notation (URN)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
International Telecommunication Union © ITU-T Study Group 17 Integrated Application of SDL Amardeo Sarma NEC Europe Ltd.
Prof. Hany H. Ammar, CSEE, WVU, and
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 SYS366 Week 2 - Lecture Visual Modeling and Process.
Object-Oriented Analysis and Design
Unified Modeling Language
From Use Cases to Implementation
Presentation transcript:

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

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

Copyright 2002 KLOCwork Solutions Inc 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

Copyright 2002 KLOCwork Solutions Inc. 4 Clients and partners

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

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 ? ???

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

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

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

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

Copyright 2002 KLOCwork Solutions Inc 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

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

Copyright 2002 KLOCwork Solutions Inc. 13 Package Diagram Architectural Package Architectural Package Dependencies between packages Dependencies between a package and environment 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

Copyright 2002 KLOCwork Solutions Inc. 14 Package or Object Diagram Architectural Package (block) Architectural Package (block) Dependencies between blocks Dependencies between blocks and environment 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.

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

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

Copyright 2002 KLOCwork Solutions Inc 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

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

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

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

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

Copyright 2002 KLOCwork Solutions Inc 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

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

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

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

Copyright 2002 KLOCwork Solutions Inc Conclusions and discussion Conclusions Discussion questions Discussion

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.

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)

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

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

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

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

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

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

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

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