Software Specification and Software Reuse - BELLA LPA experiment

Slides:



Advertisements
Similar presentations
Programmable Logic Controllers.
Advertisements

Decoders. Usage of Decoders Channel Selection: Generates Mutually Exclusive Channel Enabling/Disabling Signals (e.g. Multiplexers) Device Selection: Generates.
The 8085 Microprocessor Architecture
1 BROOKHAVEN SCIENCE ASSOCIATES NSLS-II Shielding Workshop S. Buda Personnel Protective Systems March 27, 2007.
1 Personnel Protection System (PPS) – Definition Interlock system, to protect personnel from Ionising Radiation (and other hazards) –(Note: does not include.
1 COMP541 State Machines Montek Singh Feb 6, 2007.
Overview Finite State Machines - Sequential circuits with inputs and outputs State Diagrams - An abstraction tool to visualize and analyze sequential circuits.
State Machines Used to Design Sequential Circuits.
Overview Finite State Machines
Programming Fundamentals (750113) Ch1. Problem Solving
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic CMOS logic elements Combinational logic elements and design.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Implementing software in IEC Languages in IEC IEC uses the following languages Instruction List – Assembly level programming using.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 2 – Sequential.
Combinational Circuit Design A combinational circuit consists of logic gates. It processes the input signals (coming from an external source) to produce.
Modular Electronics Use the systems approach.
Chapter 10 Function Block Diagram
Chapter 3 Digital Logic Structures. 3-2 Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs  ex:
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Control System Design Process Planning Documentation.
Logic Design EE-2121 Manesh T. Digital Systems  Introduction  Binary Quantities and Variables  Logic Gates  Boolean Algebra  Combinational Logic.
Fundamentals of Information Systems, Sixth Edition Chapter 3 Database Systems, Data Centers, and Business Intelligence.
Learning Objectives Today we will Learn: The different methods of implementation The differences between user and technical documentation.
LOGIC GATES. INTRODUCTION TO LOGIC GATES Boolean functions may be practically implemented by using electronic gates. The following points are important.
Chapter 3 Data Representation
Combinational circuits
Software Testing.
ICS 3UI - Introduction to Computer Science
Chapter 5.
The 8085 Microprocessor Architecture
Logic Gates Practical Objective: to develop an understanding of logic circuits and truth tables.
Software Specification and Configuration Management
Fujitsu Training Documentation Hardware Installation
Introduction to Visual Basic 2008 Programming
Software Specification Tools
The 8085 Microprocessor Architecture
Fundamentals of Information Systems
Digital electronics and logic gates
Schematics 201 Lecture Topic: Electrical Symbols
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Fundamentals (750113) Ch1. Problem Solving
Documentation for Developers
While Loops and If-Else Structures
CS310 Software Engineering Dr.Doaa Sami
Lesson 15: Boolean Representation of Ladder Diagrams
Chapter 1 Introduction(1.1)
Use Case Model Use case diagram – Part 2.
Problem Solving Skill Area 305.1
While Loops and If-Else Structures
While Loops and If-Else Structures
The 8085 Microprocessor Architecture
While Loops and If-Else Structures
Programming Fundamentals (750113) Ch1. Problem Solving
Introduction to Computer Programming
Lecture 5 Binary Operation Boolean Logic. Binary Operations Addition Subtraction Multiplication Division.
Personnel Safety Systems
Programming Fundamentals (750113) Ch1. Problem Solving
While Loops and If-Else Structures
TS2 PSS Architecture, Concepts of Operations and Interfaces
EGR 2131 Unit 12 Synchronous Sequential Circuits
Safety Analysis and Safety Functions
Digital Logic Design Basics Combinational Circuits Sequential Circuits.
While Loops and If-Else Structures
easYgen-3000XT Series Training
TS2 PSS; update on concepts of operation and system's architecture
Operation of Target Safety System (TSS)
While Loops And If-Else Structures

Presentation transcript:

Software Specification and Software Reuse - BELLA LPA experiment Patrick Bong LBNL Interlock SME

Introduction The BELLA Terra-Watt interlock upgrade Expanded the number of lasers used in the LPA to a primary beam and a secondary beam Added a new laser bay Eliminated the relay based interlock system

BELLA TW Layout

Requirements Document Requirements Document says WHAT you are going to do Introduction Project/Facility overview Assumptions and dependencies System Description Protective boundaries Protective devices Warning devices User interfaces System Requirements Protective functions Administrative functions Performance requirements RAMS (reliability, availability, maintainability) This is the top level document to which all others must comply We assume there’s going to be an accelerator, depending on funding. The accelerator is housed in a bunker with 2 doors. Interlock switch detects the position of the door. Emergency off buttons 2 interior locations. Warning sign above door with redundant lights. Warning lights inside enclosure. Warning annunciator inside enclosure. Telephone at each door. The system description does not necessarily need to describe the functionality that the requirements will provide.

Software Specification The software specification provides the details of HOW the software is going to operate. The software specification must always conform to the details provided in the Requirements document. The software specification may be embedded in the requirements document.

Types of Specification Verbose Provides a detailed explanation of the interaction between inputs and outputs. Truth tables Provides the logic for a single function. Graphical Uses logical symbols to describe functions.

Comparison of Types A good specification uses a combination of the specification types to provide programmer guidance and help manage the software development cycle. Verbose Very similar to the description in the requirements document. Must be extremely detailed to guide software development. Truth table Very detailed description of the function, but difficult to follow and understand the complete impact to the overall logic. Software can be derived directly from tables. Graphical specification Better representation of the overall logic. Logic may need to be parsed during software development.

Verbose Search and Clear Search and clear must be started from the HMI and completed sequentially by turning the key switch at each search and clear station. When the key is turned at the first search and clear station, Access Control must be disabled preventing access to the exclusion zone while the search is in progress. The search and clear will be limited to a 3 minute time period, after which the circuit will reset requiring the search process to be re-started from the HMI. The search and clear process is completed by turning the High‑Energy Mode Key Selector to High-E Mode.

Truth Tables

Graphical Specification

Code Reuse Code reuse can be identified in the requirement or specification when identical patterns of logic appear

Different Methods Design Pattern A segment of code that’s copied and the variables are changed. Or a functional block is copied and the internal variables are modified. Function reuse The block only contains logic and the variables are assigned externally.

Design Pattern Reuse

Functional Block Code inside function block Function block for reuse

Conclusion The software specification should be written so that the logic can be verified to comply with the system requirements The language in the specification should not obfuscate the function of the logic Code can be grouped into functional blocks and reused inside the project when recurring design patterns are recognized New projects can use functional blocks from old project when design patterns are similar