Model-based design inspection based on traceability information models and design slicing Shiva Nejati April 15, 2015.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Object-Oriented Software Development CS 3331 Fall 2009.
Modelling Class T05 Conceptual Modelling – Domain References: –Conceptual Modeling of Information Systems (Chapters 1.2.1, 2, 3) –A practical Guide to.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
What do Computer Scientists and Engineers do? CS101 Regular Lecture, Week 10.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to Software Quality Assurance (SQA)
Free Mini Course: Applying SysML with MagicDraw
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
CLEANROOM SOFTWARE ENGINEERING.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
CPIS 357 Software Quality & Testing
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
SCSC 311 Information Systems: hardware and software.
SOFTWARE DESIGN.
Intent Specification Intent Specification is used in SpecTRM
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Modelling Class T16: Conceptual Modelling – Architecture Image from
1 Introduction to Software Engineering Lecture 1.
SysML Reference Model Definition Model Based System Development in the Joint Strike Missile project Svein-Erik Søgård KDS/Missile Division.
Enterprise Systems Architectures EGN 5621 Enterprise Systems Collaboration (Professional MSEM) Fall, 2012.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
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.
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
Software Design Process
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Over View of CENELC Standards for Signalling Applications
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Architecture Analysis and Design Language: An Overview Drew Gardner.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
Introducing Α UML model For Faster-than-Real-Time Simulation Dimosthenis Anagnostopoulos 1, Vassilis Dalakas 2, George- Dimitrios Kapos 1, Mara Nikolaidou.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Advanced Software Engineering Dr. Cheng
Software Project Configuration Management
Lecture 3 Prescriptive Process Models
Chapter 5 – System Modeling
The Development Process of Web Applications
COMPONENT & DEPLOYMENT DIAGRAMS
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Topic for Presentaion-2
The Systems Engineering Context
Complexity Time: 2 Hours.
Software Quality Engineering
Software Design Methodology
Model-Driven Analysis Frameworks for Embedded Systems
Verification and Validation Unit Testing
CS310 Software Engineering Dr.Doaa Sami
UML profiles.
John D. McGregor Module 6 Session 1 More Design
Automated Analysis and Code Generation for Domain-Specific Models
Chapter 5 Architectural Design.
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
Chapter 4 System Modeling.
Chapter 6: Architectural Design
System architecture, Def.
Software Development Process Using UML Recap
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

Model-based design inspection based on traceability information models and design slicing Shiva Nejati April 15, 2015

Context of this Talk Purpose: Help improve safety certification Software complexities Interaction with physical environment Real-time and concurrent Highly configurable Example application: Monitoring applications (fire and gas detection and emergency and process shutdown) Industry-driven project: ModelME! (2009-2011)

Problem Identification We started by studying the certification process and documents 1. Assessing and discussing software requirements, design/architecture and implementation documents (Several meetings taking place over 6 to 18 months) 2. Testing the devices in the field (A one week visit at the production site)

Observations from Safety Certification Projects Analyzed 66 distinct certification issues: Issues collected through observing certification meetings at different suppliers of maritime and energy systems Meetings focused on requirements, architecture, and design documents Expensive to fix

Effective Inspection of Embedded System Designs A key aspect of safety assessment is to inspect the design of safety-critical embedded systems and ensure that the design satisfies the system’s safety requirements Most pressing inspection problem concerned with traceabiliy between safety requirements and software design Does my design satisfy the given safety requirements?

Research Objective Developing a model-based traceabiliy methodology Generate a sound and yet minimal design slice for a given safety requirement Slices constructed based on traceability links established between safety requirements and design Design Slice

Research Approach Model Driven Engineering (MDE) is the enabler Traceability Methodology to relate safety Requirements to design Slicing Algorithm to extract a design slice relevant to a given safety requirement Model Driven Engineering (MDE) is the enabler (IST Journal 2012)

MDE Language System Modeling Language (SysML) A subset of UML extended with system engineering diagrams A standard for system engineering A preliminary support for requirement analysis and built-in traceability mechanism

Is SysML enough? Do we have proper guidelines for establishing traceability links between requirements and design? SysML is only a notation and needs a methodology Are the built-in SysML traceability links capable of addressing certification traceability issues?

Research Approach Traceability Methodology to relate safety Requirements to design Slicing Algorithm to extract a design slice relevant to a given safety requirement

Our Methodology for Requirement to Design Traceability

Traceability Information Model

Requirement to Design Traceability

Research Approach Traceability Methodology to relate safety Requirements to design Slicing Algorithm to extract a design slice relevant to a given safety requirement

Design Slicing

Original Diagrams

Slices

Slicing Algorithm A slicing algorithm that for the given traceability links generates block and activity diagram slices Properties If a requirement holds over a design slice, it should also hold over the original design (soundness) Proven analytically (formal proof) If a requirement holds over the original design, then the design slice created for that requirement should conclusively satisfy that requirement (completeness) Evaluated empirically (Case studies and experiments)

Case Study: SW/HW Interfaces Control Modules Communicates commands and data between control modules and hardware Interface Goal: Practical guidelines to: (1) Capture the concurrent design of interfaces (2) Reduce the number and criticality of certification issues related to interfaces (HASE 2011) Hardware

Context Diagram (Case Study) Usage in certification: showing the context in which the interface operates

Architecture Diagram (Case Study) Usage in certification: showing the communication ports, signals, multiplicities between hardware and software components

Activity Decomposition (Case Study) Usage in certification: maintaining traceability between high-level activities and blocks

Internal Behaviour (Case Study) Usage in certification: systematic expression of behavioral design at different levels of abstraction

Results Created design models with traceability to requirements One context diagram (BDD), One architecture diagram (IBD), One detailed structure diagram (BDD), One activity decomposition diagram (BDD), One overall activity diagram, 19 detailed activity diagrams Created 65 traceability links for 30 safety-relevant requirements Modeling effort was approximately 40 person-hours Model Slicing Extracted 34 block slices and 31 activity slices Slicing reduced the number of block operations by 70% and the number of activity nodes by 50%

Customized traceability links Tool Support Customized traceability links (FSE 2011, Tool)

Controlled Experiment for evaluation of our approach conducted in a laboratory setting with master students Overall design Seeded faults into the design Incorrect behaviour and structure Divided the subjects into two groups One group gets the design without slices One group gets the design plus the relevant slices

Experiment Results Main question: Do slices improve the identification of design faults? Slices show strong benefits in terms of: Increasing the correctness of inspection decisions Decreasing the proportion of uncertain decisions Reducing the effort of inspections

Summary Our methodology avoids large majority of traceability and structuring issues by: Prescribing what kind of diagrams to create Providing heuristics about the level of details in diagrams Giving guidelines for creating traceability links

[TOSEM 2014] L. Briand, D. Falessi, S Nejati, M. Sabetzadeh, T. Yue [TOSEM 2014] L. Briand, D. Falessi, S Nejati, M. Sabetzadeh, T. Yue. Traceability and SysML design slices to support safety inspections: A controlled experiment. [IST J 2012] S. Nejati, M. Sabetzadeh, D. Falessi, L. Briand, and T. Coq. A SysML-Based Approach to Traceability Management and Design Slicing in Support of Safety Certification: Framework, Tool Support, and Case Studies [HASE 2011] M. Sabetzadeh, S. Nejati, L. Briand, A. Mills. Using SysML for Modeling of Safety--Critical Software-- Hardware Interfaces: Guidelines and Industry Experience [FSE 2011] D. Falessi, S. Nejati, M. Sabetzadeh, L. Briand, A. Messina. SafeSlice: a model slicing and design safety inspection tool for SysML.

Acknowledgement Lionel Briand Mehrdad Sabetzadeh Davide Falessi Antonio Messina Anne-Heidi Evensen Mills Thierry Coq