DCC Control Program Reverse Engineering - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

DCC Control Program Reverse Engineering

Description:

Code optimized for speed and compactness, not understandability and maintainability ... Limited usefulness for process control analysts to understand design ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 20
Provided by: greg144
Category:

less

Transcript and Presenter's Notes

Title: DCC Control Program Reverse Engineering


1
DCC Control ProgramReverse Engineering
  • Greg Moum
  • Ontario Power Generation
  • IAEA, Toronto, 2007

2
DCC Software
  • Designed in the early 1970s
  • Coded in assembly language
  • Code optimized for speed and compactness, not
    understandability and maintainability
  • Limited usefulness for process control analysts
    to understand design basis
  • Behaviour is complex

3
Goals
  • Make the system more understandable
  • diagnose problems
  • predict behaviour
  • Improve current software change process
  • automated regression testing
  • try what ifs in the problem domain
  • make more changes feasible
  • Enable migration to an alternate platform

4
DCC Reverse Engineering
  • Reverse Engineering Process
  • SRS Format
  • Experience, Current Status

5
Reverse Engineering Process
Design Manuals
SRS
1.0 Derive Requirements
DCC Source
2.0 Build
Core Image
3.0 Test
Test results
6
Derive Requirements
  • Markup the assembler code for structure
  • Draw flow charts
  • Prepare pseudocode
  • Prepare function tables

7
Testing
Automated
Generate Model
Software Requirements Specification
Model
Generate Tests
Execute Model
Test Case Skeletons
SRS Coverage Report
Test Cases (with expected results)
Test Procedure
Code Coverage Report
Core Image
Execute Tests
Test results
8
Modeling Tools
  • Purpose
  • to automatically produce expected test results
  • Function
  • generates a model from a requirements
    specification and then uses the model to
    determine expected test results for test inputs

9
Test Coverage
  • SRS Coverage
  • statement, decision, condition
  • Interfaces
  • Code Coverage
  • all code is exercised
  • all branches
  • no side effects (no I/O or memory access other
    than as defined by the SRS)

10
DCC Reverse Engineering
  • Reverse Engineering Process
  • SRS Format
  • Experience, Current Status

11
Software Requirements Specification
  • The SRS documents the requirements of a control
    program
  • Quality Attributes
  • completeness, consistency, correctness,
    modifiability, robustness, traceability,
    understandability, verifiability

12
Finite State Machine
Functions
Monitored Variables
Controlled Variables
State Variables
13
Contents and Organization
  • Introduction
  • Computer System Context
  • Dictionary
  • Interfaces
  • Functions
  • Software Design Cross Reference
  • Reference Software Configuration

14
Example Function Table
f_MCAFullyInTrouble Determine if there is trouble
with the sensors that indicate the MCAs are fully
in.
15
DCC Reverse Engineering
  • Reverse Engineering Process
  • SRS Format
  • Experience, Current Status

16
Current Project
  • PNGS A ZTP complete
  • PNGS A RRS complete
  • PNGS A RCS verified
  • PNGS A BPC in progress
  • PNGS B RRS/RCS complete
  • PNGS B ZTP complete
  • PNGS B BPC not yet started

17
Experience
  • Identified some minor bugs
  • Positive feedback from users
  • External
  • Bruce B (RRS, BLC, BPC), Wardrop
  • Collaboration with McMaster

18
Challenges
  • Thinking in the problem domain
  • Defining the SRS functionally
  • Test coverage

19
DCC Control ProgramReverse Engineering
  • Greg Moum
  • Ontario Power Generation
  • IAEA, Toronto, 2007
Write a Comment
User Comments (0)
About PowerShow.com