Size: px
Start display at page:

Download ""

Transcription

1 ProgramVerificationandHardwareSynthesis 1 ProgramVerication HardwareSynthesis and Acommonapproachtohardwaredesignisto writeaprograminahardwaredescription languageandthencompileittoastatemachine usingasynthesissystem.somecorrectness programminglevelandestablishedbyprogram propertiesarenaturallyexpressedatthe intermsofthestatetransitionsofthesynthesised vericationmethods,butothersarebestspecied properties,andthendiscusshowtheycanbecan machine.iwillgiveexamplesofbothkindsof beveriedusingatheorem-prover. Thistalkisintendedforageneralaudience. MikeGordon

2 ProgramVerificationandHardwareSynthesis 2 (FromKurtKeutzer'spaperinFMCAD'96) SynthesisDesignFlow MikeGordon

3 ProgramVerificationandHardwareSynthesis 3 RegisterTransferLevel CurrentlyRTListhe`workhorse'level {lowerlevelsforeeexperts TwoviewsofRTL: {higherlevelsstillexperimental {programming(hdl) Specicationandvericationneededwith {statemachine(structure) respecttobothviews {programvericationforsomeproperties {statespaceanalysisforothers MikeGordon

4 ProgramVerificationandHardwareSynthesis 4 Verication Traditionalvericationusessimulation {eventsimulation Formalvericationusesautomatedproof {cyclesimulation {booleanequivalencechecking usesobddsetc {modelchecking nowstandard checkspropertiesofstatemachines {theoremproving currentlyusedbyintel,ti,hpetc usespowerfulundecidablelogics longtermpromise Reasonsforformalverication stillaresearcharea {commercial:betterdebugging {safetycritical:savelives {securitycritical:ensureprivacy/secrecy MikeGordon

5 ProgramVerificationandHardwareSynthesis 5 RestofTalk MainlyRTLVerication Combine: {ideasrelevanttobehaviouralleveltoo {programverication HDLsemantics {statemachineanalysis Discussionofneededtheoremproversupport {basedonsimplehardwaresynthesis SomerelatedcurrentresearchatCambridge {methodology,notdetails MikeGordon

6 ProgramVerificationandHardwareSynthesis 6 ProgramSpecication Hoaretriples: fpreconditiongprogramfpostconditiong Semantics(totalcorrectness): {ifthepreconditionholds {thentheprogramterminates Example:asimpledivisionprogram {inastateinwhichthepostconditionholds (XdividedbyYgivesquotientQ&remainderR) fy>0g beginr=x;q=0; while(y<r) (precondition) begin end Q=Q+1; R=R-Y; fx=r+yq^r<yg end (postcondition) MikeGordon

7 ProgramVerificationandHardwareSynthesis 7 ProgramLogic MuchknowledgeaboutverifyingHoaretriples {establishinginvariants {terminationvia`variants' Standard {weakestpreconditions {taughttoundergraduates Nicetomechanise {textbooks {vericationconditions MikeGordon

8 ProgramVerificationandHardwareSynthesis 8 HardwareversusProgram Continuouslyrunning Calculationsmayspreadoverseveralcycles { always<statement> Needinput/outputprotocol, variouspossibilities: {tri-statebus {handshake,e.g: tostartassertstart=1 deviceavailablewhenbusy=0 resultsonqandrwhennextbusy=0 MikeGordon

9 ProgramVerificationandHardwareSynthesis 9 DivisionProgram+I/O always@clock if(start) begin R=X;Q=0; BUSY=1; X=In1;Y=In2; while(y<r) begin R=R-Y; end BUSY=0; end Start,Inp1,Inp2controlledbyenvironment X,Y,Q,R,BUSYcontrolledbyprogram deviceavailablewhenbusy=0 (initially0) tostartcomputationassertstart=1 resultsonqandrwhennextbusy=0 MikeGordon

10 ProgramVerificationandHardwareSynthesis 10 Control+Data HDLprogramspeciesamachine: MDIV def if(start) begin BUSY=1; X=In1;Y=In2; SDIV end BUSY=0; thatcontainsanembeddedprogram: SDIV def = while(y<r) R=X;Q=0; end R=R-Y; Q=Q+1; MikeGordon

11 ProgramVerificationandHardwareSynthesis 11 SpecifyingPropertiesofMachines Machinesdeterminesequencesofstates EnvironmentprovidesvaluesforIn1,In2 {oneforeachcycle Readinputs&updatestateeveryclocktick Variablesrangeoversequencesofvalues (RTLbehaviour) propertiesofsequences Temporaloperatorsspecify 2(Y>0) 3(X=R+(YQ)) valueofyalwaysgreaterthan0 sometimexwillequalr+(yq) ifbusy=1thensometimelaterbusy=0 2(BUSY=1) 3(BUSY=0)) MikeGordon

12 ProgramVerificationandHardwareSynthesis 12 CorrectnessofHDLDivider Needtoshow: IfStartisassertedwhenBUSY=0then: {Inp1andInp2readduringthatcycle {eventuallybusybecomes0again Cansplittheseinto: { X=R+YQ^R<YwhennextBUSY=0 { programcorrectness(hoarelogic) fy>0g fx=r+yq^r<yg SDIV {controlcorrectness(temporallogic): BUSY=1,controlinsideSDIV and 2(BUSY=1) 3(BUSY=0)) MikeGordon

13 ProgramVerificationandHardwareSynthesis 13 MakingCyclesExplicit WithrespecttoanHDLprogram: if(start) begin BUSY=1; X=In1;Y=In2; SDIV end BUSY=0; HowdoweinterpretHoaretriples: fy>0gsdivfx=r+yq^r<yg andtemporalformulas 2(BUSY=1) BUSY=1,controlinsideSDIV 3(BUSY=0)) Answer: converthdltoastatemachine MikeGordon theninterpretw.r.t.input/statesequences

14 ProgramVerificationandHardwareSynthesis 14 SynthesisSemantics HDLsemantics=translationtomachine Denitionalsynthesis {notoptimisedimplementation! {c.f.denitionalinterpretersfor Doesn'trevealIPofproprietarytools programminglanguages {approachbeingusedtodenesemanticsof {i.e.`synopsyssubset' synthesisableverilog Engineerfriendly (Synopsysarehelping) MikeGordon

15 ProgramVerificationandHardwareSynthesis 15 CompilingtoStateMachines Introducea`programcounter'pc {intialisedto0 {encodescontrolstate Symbolicallyexecute Example begin X=Inp; (State0) X=X+1; (State1) compilesto(usingverilog-likenotation) case(pc) endcase 0: 1: pc=1kx=inp pc=0kx=x+1(parallelassignment) MikeGordon

16 ProgramVerificationandHardwareSynthesis 16 AnotherSequencingExample begin X=Inp1;Y=X+Inp2; (State0) OUT=X+Y; (State1) compilesto case(pc) 0: X =1 1: Y OUT=OUT pc =Inp1+Inp2 X =X =0 endcase k OUT=X+Y Y =Y MikeGordon

17 ProgramVerificationandHardwareSynthesis 17 ConditionalExample begin if(choose)x=in1;elsex=in2; (State0) end (State1) compilesto case(pc) 0: =Choose?In1:In2 =1 1: X OUT=OUT pc =0 endcase k OUT=X+1 MikeGordon

18 ProgramVerificationandHardwareSynthesis 18 WhileExample:divider if(start) beginx=in1;y=in2;busy=1; (State0) while(y<r) R=X;Q=0; R=R-Y;Q=Q+1; (State1) end compilesto end BUSY=0; case(pc) 0: pc=start?in2<in1?1:0:0 X=Start?In1:X Y=Start?In2:Y R=Start?In1:R 1: pc=y<(r-y)?1:0 BUSY=Start?In2<In1?1:0:BUSY Q=Start?0:Q X=X Y=Y R=R-Y endcase k Q=Q+1 BUSY=Y<(R-Y)?BUSY:0 BUSY=1,controlinsideSDIV cannowbeinterpretedas MikeGordon 2(BUSY=1, pc=1)

19 ProgramVerificationandHardwareSynthesis 19 Divider+morestates if(start) beginx=in1;y=in2; (State0) R=X;Q=0; (State1) while(y<r) begin R=R-Y; (State3) end Q=Q+1; (State4) end BUSY=0; Allocatingoperationstostatesis Functionalspecicationunchangedby behaviouralsynthesis additionalstates MikeGordon

20 ProgramVerificationandHardwareSynthesis 20 CorrespondingMachine case(pc) 0: X=Start?In1:X Y=Start?In2:Y pc=start?1:0 1: R=RkQ=Q pc=2 X=XkY=Y BUSY=Start?1:BUSY R=X 2: Q=0 X=XkY=YkR=RkQ=Q pc=y<r?3:0 BUSY=BUSY 3: BUSY=Y<R?BUSY:0 pc=4 X=XkY=Y R=R-Y 4: Q=Q X=XkY=YkR=R pc=y<r?3:0 BUSY=BUSY endcase k Q=Q+1 BUSY=Y<R?BUSY:0 BUSY=1,controlinsideSDIV cannowbeinterpretedas 2(BUSY=1, pc2f1;2;3;4g) MikeGordon

21 ProgramVerificationandHardwareSynthesis 21 ProgramProof+StateExploration Dataprocessingvericationvia ordinaryprogramlogic {mayrequirehumanguidedreasoning Controlcorrectnessviastatespaceof (e.g.guessinginvariants) synthesisedmachine {oftenautomatic(c.f.modelchecking) verication design = verication program + analysis machine MikeGordon

22 ProgramVerificationandHardwareSynthesis 22 HoareLogicasTemporalLogic Hoaretriplescanbeinterpretedonmachine behaviours {roughly fpgsfqg is: Hoare-stylereasoningprinciplesderivable 2(P^pc2S)pc2SUntilQ^:pc2S) {forideas(appliedtoreal-time)see: M.J.C.Gordon,AmechanizedHoare Mind,FestschriftforProfessorC.A.R. logicofstatetransitions,inaclassical HoareeditedbyRoscoe,W., {forrtlhardwareseelecturenotesonweb Prentice-Hall,1994,pp MikeGordon

23 ProgramVerificationandHardwareSynthesis 23 TowerofSemanticAbstraction Everythingcanbereducedtopurelogic HoareTriple fpgsfqg 2(P^pc2S)pc2SUntilQ^:pc2S) TemporalLogic 8t:P(t)^pc(t)2S) RawLogic 9t0:t0>t^Q(t0)^:pc(t0)2S^ (8t00:t<t00^t00<t0)pc(t00)2S) PUntilQ meansqwilleventuallyholdtrue anduntilitdoespholds MikeGordon

24 ProgramVerificationandHardwareSynthesis 24 HandlingMultipleDescriptions Needtorepresent {Hoaretriples {temporalformulas&statemachines {vericationconditions (couldinvolvecomplexarithmetic Needageneralpurposeformalism orevenrealanalysis{e.g.fp,dsp) {suitablefor`arbitrarymathematics' Severalgeneralsystemsexist {mechanizable {settheory {classicalhigherorderlogic (Isabelle/ZF,HOL-ST) {constructivetypetheory (PVS,HOL,Isabelle/HOL,IMPS) (Nuprl,Lego,Coq,Alf) MikeGordon

25 ProgramVerificationandHardwareSynthesis 25 PragmaticRequirements Combinegeneralframeworkwith`best Manydecisionproceduresknown practice'specialisedtools (hotresearcharea:cavetc.) {tautologies {lineararithmetic Partialdecisionprocedurescanoftenhandle {temporalproperties simplevericationconditions(cade) {inductiveproofs(boyer-moore,clam) {tableaumethods MikeGordon

26 ProgramVerificationandHardwareSynthesis 26 ExistingApproachestoIntegration Add`trusted'externaloraclestogeneral proofsystem {OBDDandmodelcheckersforPVS {arithmeticdecisionprocedurestoisabelle Features: {LTLinHOL(Karlsruhe) {getstate-of-the-arteciency {onlyassoundastheoracle Ecientderivedrules {lowintegrationwithothertools {tableauproversinisabelle&hol Features: {lineararithmeticinhol {guaranteedsound {inecient(notasbadassomesay) {highintegrationwithothertools MikeGordon

27 ProgramVerificationandHardwareSynthesis 27 (PROSPER) NewProject Attempttohaveourcakeandeatit {generalpurposesystem {cleanintegrationwithexternaloracles {supportforspecicapplications Approach {theoremprovenancetracking {startby`deconstructing'hol98 theorydatabase rewritingengine {deviseprotocolforexternaltools decisionproceduresandprovers interactiveshell Experiments: (maybeusexmltospecifydataformats) {linktosmvmodelchecker {linktonpprovertautologychecker Vapourware! {supportverilogandvhdl {butstrongteam::: (Cambridge,Glasgow,Karlsruhe,IFAD,NP) MikeGordon

28 ProgramVerificationandHardwareSynthesis 28 GrandLong-TermGoals Useindustry-standardsyntax Developdierentsemanticviews {Verilog,VHDL,::: {familiartoengineers {compatiblewithstandarddesign& {mutuallyconsistent vericationows Providesemanticallycompatibletools {compilers,simulators,veriersetc. MikeGordon

29 ProgramVerificationandHardwareSynthesis 29 OngoingResearchatCambridge SemanticsofsynthesisableVerilog (withabhijitghoshofsynopsys) {industrialstrengthsubset {simulation(event)semantics {state-machine(cycle)semantics {analysisofsyntacticconditionsfor {semanticsbasedtools eventandcyclesemanticstoagree SimulationcoreforVHDLandVerilog {commonsimulationcycle {rigorouslyspeciedandanalysed {applicationtoomi Hardwarecompilationworkbench {juststarted(darylstewart'sphd) {basedaroundianpage'shandellanguage {implementdesignmanipulationtools {comparehandel,verilogdesignows {postdoc:myravaninwegen MikeGordon

30 ProgramVerificationandHardwareSynthesis 30 Conclusion Needdiversekindsofspecications Needdiversevericationtools {fordierentabstractionlevels {specialisedalgorithms Canembedspecicationsinpowerfullogics {generaltheorem-proving {givesuniedframework Softwarevericationmethodsusefulfor {buthardtopreserveeciency hardware {hardwareandsoftwaretheoriesmerging MikeGordon

31 ProgramVerificationandHardwareSynthesis 31 THE END MikeGordon

UML TUTORIALS THE COMPONENT MODEL

UML TUTORIALS THE COMPONENT MODEL UML TUTORIALS THE COMPONENT MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 The component model illustrates the software components that will be used to build the system. These may be built up

More information

UML TUTORIALS THE USE CASE MODEL

UML TUTORIALS THE USE CASE MODEL UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between

More information

Hardware and Software

Hardware and Software Hardware and Software 1 Hardware and Software: A complete design Hardware and software support each other Sometimes it is necessary to shift functions from software to hardware or the other way around

More information

Real-TimeVericationofStatemateDesigns. applicationsraisesthedemandforprovingtheircorrectness.becauseverication

Real-TimeVericationofStatemateDesigns. applicationsraisesthedemandforprovingtheircorrectness.becauseverication Real-TimeVericationofStatemateDesigns vericationofstatemate1designs.statemateisawidelyuseddesign Abstract.Thispaperpresentsanapproachtowardsreal-time toolforembeddedcontrolunits.theseembeddedcontrolunitsare

More information

ExperienceUsingtheJILProcessProgrammingLanguage tospecifydesignprocesses StanleyM.SuttonJr.,BarbaraStaudtLerner,andLeonJ.Osterweil ComputerScienceDepartment UniversityofMassachusetts Amherst,Massachusetts01003

More information

Automatic Assessment of Programming assignment

Automatic Assessment of Programming assignment Automatic Assessment of Programming assignment Surendra Gupta 1 and Shiv Kumar Dubey 2 Department of Computer Engineering Shri G. S. Institute of Technology & Science 23, Park Road Indore 452003 (MP) India

More information

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines Embedded Software development Process and Tools: Lesson-3 Host and Target Machines 1 1. Host-Target Based Development Approach 2 Host-Target System Development Approach During development process, a host

More information

Topics covered. An Introduction to Software Engineering. FAQs about software engineering Professional and ethical responsibility

Topics covered. An Introduction to Software Engineering. FAQs about software engineering Professional and ethical responsibility An Introduction to Software Engineering Antinisca Di Marco adimarco@di.univaq.it Objectives To introduce software engineering and to explain its importance To set out the answers to key questions about

More information

PAN Virtual Machine User Guide for Software Submissions

PAN Virtual Machine User Guide for Software Submissions PAN Virtual Machine User Guide for Software Submissions 1 Welcome Welcome to the PAN evaluation lab. PAN ist the first lab to switch from the submission of runs (say, the output of a piece of software)

More information

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015

CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015 CS423 Spring 2015 MP4: Dynamic Load Balancer Due April 27 th at 9:00 am 2015 1. Goals and Overview 1. In this MP you will design a Dynamic Load Balancer architecture for a Distributed System 2. You will

More information

Software Testing & Verification 2013/2014 Universiteit Utrecht

Software Testing & Verification 2013/2014 Universiteit Utrecht Software Testing & Verification 2013/2014 Universiteit Utrecht 2nd Jul. 2014, 13:30-16:30, BBL 001 Lecturer: Wishnu Prasetya You are allowed to bring along the Appendix of the LN. Part I [3pt (6 0.5)]

More information

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

More information

Addressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s)

Addressing The problem. When & Where do we encounter Data? The concept of addressing data' in computations. The implications for our machine design(s) Addressing The problem Objectives:- When & Where do we encounter Data? The concept of addressing data' in computations The implications for our machine design(s) Introducing the stack-machine concept Slide

More information

The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture

The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture 1 The Temporal Firewall--A Standardized Interface in the Time-Triggered Architecture H. Kopetz TU Vienna, Austria July 2000 Outline 2 Introduction Temporal Accuracy of RT Information The Time-Triggered

More information

Active Directory (AD) Self-Service

Active Directory (AD) Self-Service Active Directory (AD) Self-Service TETRA IT has implemented a way for you to: 1. Set-Up/Maintain AD Contact Information (Use this option to create an AD Self-Serve Account and/or Maintain your AD Contact

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable

More information

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville

Introduction to Software Engineering. Adopted from Software Engineering, by Ian Sommerville Introduction to Software Engineering Adopted from Software Engineering, by Ian Sommerville To discuss the factors that led to software failures and the phenomenon of the Software Crisis ; To introduce

More information

Lecture 8 February 4

Lecture 8 February 4 ICS273A: Machine Learning Winter 2008 Lecture 8 February 4 Scribe: Carlos Agell (Student) Lecturer: Deva Ramanan 8.1 Neural Nets 8.1.1 Logistic Regression Recall the logistic function: g(x) = 1 1 + e θt

More information

AdminToys Suite. Installation & Setup Guide

AdminToys Suite. Installation & Setup Guide AdminToys Suite Installation & Setup Guide Copyright 2008-2009 Lovelysoft. All Rights Reserved. Information in this document is subject to change without prior notice. Certain names of program products

More information

RN-131-PICTAIL & RN-171-PICTAIL Web-Server Demo Application

RN-131-PICTAIL & RN-171-PICTAIL Web-Server Demo Application RN-131-PICTAIL & RN-171-PICTAIL Web-Server Demo Application 2012 Roving Networks. All rights reserved. RN-131/171-PICTAIL-UM Version 1.0 1/8/2013 OVERVIEW The RN-131 and RN-171 WiFly radio modules are

More information

Installing NICE Windows under Parallels for Mac

Installing NICE Windows under Parallels for Mac Installing NICE Windows under Parallels for Mac 1. Prerequisites a) A Mac with OS X connected to a portable socket on the CERN general public network b) Parallels Desktop software installed from: smb://cerndata44.cern.ch/d

More information

Computer organization

Computer organization Computer organization Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs

More information

STUDENT TAKE HOME EXAMINATION SYSTEM (THES) INSTRUCTIONS.

STUDENT TAKE HOME EXAMINATION SYSTEM (THES) INSTRUCTIONS. Information and Technology Services Department Help Desk http://www.law.nyu.edu/technology STUDENT TAKE HOME EXAMINATION SYSTEM (THES) INSTRUCTIONS. What Is THES THES is the Law School s Take Home Exam

More information

Advances in Programming Languages

Advances in Programming Languages Advances in Programming Languages Lecture 13: Certifying Correctness Ian Stark School of Informatics The University of Edinburgh Tuesday 4 November 2014 Semester 1 Week 8 http://www.inf.ed.ac.uk/teaching/courses/apl

More information

Binary Multiplication

Binary Multiplication Binary Multiplication Q: How do we multiply two numbers? eg. 12, 345 6, 789 111105 987600 8641500 + 74070000 83, 810, 205 10111 10101 10111 00000 1011100 0000000 + 101110000 111100011 Pad, multiply and

More information

Area 3: Analog and Digital Electronics. D.A. Johns

Area 3: Analog and Digital Electronics. D.A. Johns Area 3: Analog and Digital Electronics D.A. Johns 1 1970 2012 Tech Advancements Everything but Electronics: Roughly factor of 2 improvement Cars and airplanes: 70% more fuel efficient Materials: up to

More information

Learning about money doesn t have to be boring. Instead, it can be a crazy, wild, exciting adventure!

Learning about money doesn t have to be boring. Instead, it can be a crazy, wild, exciting adventure! W W, M Ex A! L. I,,, x! H? I. B,,,! B x? I! - O, I x. H q : W? H I? H I? H I? H I? W.? W? W? H I? L A! I ACE, P A G! D, I. I. 1 W? FORMS OF MONEY D,? I,. I, x,,. B, x. O, x. I U S,. W,. D C 0000 0000 0000

More information

1. Component#2 File Management System

1. Component#2 File Management System 1. Component#2 File Management System 1.1 Part1: Use case diagram Figure 1 illustrates the use case diagram of File Management System. Figure 1:File Management user case diagram File Manager BackgroundAdmonistrator

More information

T-79.232 Safety Critical Systems Case Study 2: B Method - Basic Concepts

T-79.232 Safety Critical Systems Case Study 2: B Method - Basic Concepts T-79.232 Safety Critical Systems Case Study 2: B Method - Basic Concepts February 21, 2008 T-79.5303: Case Study 2: B Method - Basic Concepts 2-1 B method - what is it about? B method describes entities

More information

ENEE 244 (01**). Spring 2006. Homework 5. Due back in class on Friday, April 28.

ENEE 244 (01**). Spring 2006. Homework 5. Due back in class on Friday, April 28. ENEE 244 (01**). Spring 2006 Homework 5 Due back in class on Friday, April 28. 1. Fill up the function table (truth table) for the following latch. How is this latch related to those described in the lectures

More information

799 000 678 / Rev. 0 / 2013-03-26. Quick Guide for FDT Basic-Tool and Backup-Tool P40-SERIES

799 000 678 / Rev. 0 / 2013-03-26. Quick Guide for FDT Basic-Tool and Backup-Tool P40-SERIES 799 000 678 / Rev. 0 / 2013-03-26 Quick Guide for FDT Basic-Tool and Backup-Tool P40-SERIES Publisher ELGO Electronic GmbH & Co. KG Carl-Benz-Straße1 DE-78239 Rielasingen Technical Support +49 (0) 7731

More information

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements 4.4 What is a Requirement? It is a statement describing either 1) an aspect of what the proposed system must do, or 2) a constraint on the system s development. In either case it must contribute in some

More information

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1

Introduction. Getting started with software engineering. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Introduction Getting started with software engineering Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance

More information

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

More information

An Introduction to Software Engineering

An Introduction to Software Engineering An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the

More information

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

An Introduction to Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Objectives To introduce software engineering and to explain its importance To set out the

More information

Capacity Planning for NightWatchman Management Center

Capacity Planning for NightWatchman Management Center Capacity Planning for NightWatchman Management Center Server sizing guide for NightWatchman Management Center www.1e.com i Version 6.0 document revision 1 1E Ltd 2011 All rights reserved. No part of this

More information

Management Accounting Fundamentals

Management Accounting Fundamentals Management Accounting Fundamentals Module 4 Cost behaviour and cost-volume-profit analysis Lectures and handouts by: Shirley Mauger, HB Comm, CGA Part 1 2 3 Module 4 - Table of Contents Content 4.1 Variable

More information

Unit testing using Python nose

Unit testing using Python nose Unit testing using Python nose Luis Pedro Coelho On the web: http://luispedro.org On twitter: @luispedrocoelho European Molecular Biology Laboratory June 11, 2014 Luis Pedro Coelho (luis@luispedro.org)

More information

Terminal Server Software and Hardware Requirements. Terminal Server. Software and Hardware Requirements. Datacolor Match Pigment Datacolor Tools

Terminal Server Software and Hardware Requirements. Terminal Server. Software and Hardware Requirements. Datacolor Match Pigment Datacolor Tools Terminal Server Software and Hardware Requirements Datacolor Match Pigment Datacolor Tools January 21, 2011 Page 1 of 8 Introduction This document will provide preliminary information about the both the

More information

7.1 Our Current Model

7.1 Our Current Model Chapter 7 The Stack In this chapter we examine what is arguably the most important abstract data type in computer science, the stack. We will see that the stack ADT and its implementation are very simple.

More information

Welcome! Upgrade Paths and Requirements for v13.0 & v13.1 3/22/2014. McKesson Corporation. All rights reserved, 1

Welcome! Upgrade Paths and Requirements for v13.0 & v13.1 3/22/2014. McKesson Corporation. All rights reserved, 1 Welcome! Please remember to turn off your cell phone. When asking a question, please wait for a facilitator to bring you a microphone. Remember to return your session survey to a facilitator as you leave.

More information

Capacity Plan. Template. Version X.x October 11, 2012

Capacity Plan. Template. Version X.x October 11, 2012 Template Version X.x October 11, 2012 This is an integral part of infrastructure and deployment planning. It supports the goal of optimum provisioning of resources and services by aligning them to business

More information

COISTE GAIRMOIDEACHAIS CHATHAIR CHORCAI CITY OF CORK VOCATIONAL EDUCATION COMMITTEE

COISTE GAIRMOIDEACHAIS CHATHAIR CHORCAI CITY OF CORK VOCATIONAL EDUCATION COMMITTEE A. GENERAL INFORMATION The purpose of this section is show Users the screens which will display when in the following screens: Core Portal ESS Public Page (where users log on) Core Portal Main Page My

More information

Amplicon Core i5/i7 Ventrix and Impact-R new Systems

Amplicon Core i5/i7 Ventrix and Impact-R new Systems Amplicon Core i5/i7 Ventrix and Impact-R new Systems Tél: 04 37 28 30 34 Fax: 04 37 28 30 39 Email: ventes@ampliconfrance.com What s New? Intel Processor Core i5 / i7 equipped upgrades to Ventrix, Impact-R

More information

XXXXXXX CHANGE PLAN JANUARY 2012-MARCH 2013

XXXXXXX CHANGE PLAN JANUARY 2012-MARCH 2013 XXXXXXX CHANGE PLAN JANUARY 2012-MARCH 2013 Change Implementation Plan What are my answers to these questions? Change Management Road Map (questions to ask, answers to investigate) What are my options?

More information

PRI (T1/E1) Call Recorder User Manual Rev 1.0 (December 2013)

PRI (T1/E1) Call Recorder User Manual Rev 1.0 (December 2013) PRI (T1/E1) Call Recorder User Manual Rev 1.0 (December 2013) 1. Call Recording Architecture Overview PRI Call recording solution consists of two major components: Passive T1/E1 Tap Adapter and server

More information

InclusionConstraintsover MartinMuller1,JoachimNiehren1andAndreasPodelski2 Non-emptySetsofTrees? UniversitatdesSaarlandes,66041Saarbrucken,Germany ImStadtwald,66123Saarbrucken,Germany 2Max-Planck-InstitutfurInformatik,

More information

In this section, we will consider techniques for solving problems of this type.

In this section, we will consider techniques for solving problems of this type. Constrained optimisation roblems in economics typically involve maximising some quantity, such as utility or profit, subject to a constraint for example income. We shall therefore need techniques for solving

More information

What do we mean by web hosting?

What do we mean by web hosting? From time to time we have requests from customers to host Kontrolit on their own servers. This document helps explain the advantages of using Kontrolit hosting and why we have decided to take the route

More information

Decimal Number (base 10) Binary Number (base 2)

Decimal Number (base 10) Binary Number (base 2) LECTURE 5. BINARY COUNTER Before starting with counters there is some vital information that needs to be understood. The most important is the fact that since the outputs of a digital chip can only be

More information

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic Aims and Objectives E 3.05 Digital System Design Peter Cheung Department of Electrical & Electronic Engineering Imperial College London URL: www.ee.ic.ac.uk/pcheung/ E-mail: p.cheung@ic.ac.uk How to go

More information

Technical Writing - A Practical Case Study on ehl 2004r3 Scalability testing

Technical Writing - A Practical Case Study on ehl 2004r3 Scalability testing ehl 2004r3 Scalability Whitepaper Published: 10/11/2005 Version: 1.1 Table of Contents Executive Summary... 3 Introduction... 4 Test setup and Methodology... 5 Automated tests... 5 Database... 5 Methodology...

More information

OfficeMaster SBA (Survivable Branch Appliance)

OfficeMaster SBA (Survivable Branch Appliance) OfficeMaster SBA (Survivable Branch Appliance) Resilient branch office solution for Microsoft Lync Server 2010 December 2010 Based on Lync RTM (4.0.7577.0) Please send feedback on this documentation to

More information

Module 3: Floyd, Digital Fundamental

Module 3: Floyd, Digital Fundamental Module 3: Lecturer : Yongsheng Gao Room : Tech - 3.25 Email : yongsheng.gao@griffith.edu.au Structure : 6 lectures 1 Tutorial Assessment: 1 Laboratory (5%) 1 Test (20%) Textbook : Floyd, Digital Fundamental

More information

Compliance ow - managing the compliance of dynamic and complex processes

Compliance ow - managing the compliance of dynamic and complex processes Loughborough University Institutional Repository Compliance ow - managing the compliance of dynamic and complex processes This item was submitted to Loughborough University's Institutional Repository by

More information

Kirsten Sinclair SyntheSys Systems Engineers

Kirsten Sinclair SyntheSys Systems Engineers Kirsten Sinclair SyntheSys Systems Engineers Kirsten Sinclair SyntheSys Systems Engineers Spicing-up IBM s Enterprise Architecture tools with Petri Nets On Today s Menu Appetiser: Background Starter: Use

More information

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering What is SE, Anyway? Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software engineering and to explain its importance To set out the answers

More information

Unit A451: Computer systems and programming. Section 2: Computing Hardware 1/5: Central Processing Unit

Unit A451: Computer systems and programming. Section 2: Computing Hardware 1/5: Central Processing Unit Unit A451: Computer systems and programming Section 2: Computing Hardware 1/5: Central Processing Unit Section Objectives Candidates should be able to: (a) State the purpose of the CPU (b) Understand the

More information

I T Consult ing Services. Kell Consulting Limited

I T Consult ing Services. Kell Consulting Limited I T Consult ing Services Kell Consulting Limited January 2008 TABLE OF CONTENTS 1. IT CONSULTING SERVICES 3 1.1. Protecting your Computer 3 1.1.1. Separate your data from Windows and programme files for

More information

An Introduction to Software Engineering

An Introduction to Software Engineering An Introduction to Software Engineering ACSC 383 Software Engineering Efthyvoulos C. Kyriacou (PhD) Assoc. Prof. Computer Science and Engineering Department Resources : Ian Sommervile Software engineering,

More information

Configuration Notes 290

Configuration Notes 290 Configuring Mediatrix 41xx FXS Gateway with the Asterisk IP PBX System June 22, 2011 Proprietary 2011 Media5 Corporation Table of Contents Introduction... 3 About Mediatrix 41xx Series FXS Gateways...

More information

Prerequisites Guide. Version 4.0, Rev. 1

Prerequisites Guide. Version 4.0, Rev. 1 Version 4.0, Rev. 1 Contents Software and Hardware Prerequisites Guide... 2 anterradatacenter Version selection... 2 Required Software Components... 2 Sage 300 Construction and Real Estate ODBC... 2 Pervasive

More information

Check or Update Browser Settings as shown in the table below:

Check or Update Browser Settings as shown in the table below: We outline a few tips on how to improve performance: Check or Update Browser Settings as shown in the table below: Step Action 1 Click on Start and select the Control Panel. 2 Double click on Internet

More information

Business and Economics Applications

Business and Economics Applications Business and Economics Applications Most of the word problems you do in math classes are not actually related to real life. Textbooks try to pretend they are by using real life data, but they do not use

More information

Coefficient of Determination

Coefficient of Determination Coefficient of Determination The coefficient of determination R 2 (or sometimes r 2 ) is another measure of how well the least squares equation ŷ = b 0 + b 1 x performs as a predictor of y. R 2 is computed

More information

Footswitch Controller OPERATING INSTRUCTIONS

Footswitch Controller OPERATING INSTRUCTIONS MIDI Solutions Footswitch Controller OPERATING INSTRUCTIONS MIDI Solutions Footswitch Controller Operating Instructions M404-100 2012 MIDI Solutions Inc. All rights reserved. MIDI Solutions Inc. PO Box

More information

ASTRI - Astrofisica con Specchi a Tecnologia Replicante Italiana

ASTRI - Astrofisica con Specchi a Tecnologia Replicante Italiana Code: Issue 1 DATE Page 1 ASTRI Software Requirements and Use Cases Prepared by: Name: Joseph Schwarz Signature: Date: May 09, 2012 Gino Tosti + ALL Reviewed by: Name: Signature: Date: Approved by: Name:

More information

COMMMONITOR SOFTWARE MANUAL

COMMMONITOR SOFTWARE MANUAL COMMMONITOR SOFTWARE MANUAL 311 Meacham Ave Elmont NY 11003 tel. (516) 327-0000 fax (516) 327-4645 e-mail: excalibur@mil-1553.com website: www.mil-1553.com Table of Contents 1 Introduction..................................................

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

SSI-USB. Flexible Embedded Platform. Brief English Version

SSI-USB. Flexible Embedded Platform. Brief English Version SSI-USB Brief English Version Seite 1/6 SSI-USB Flexible Embedded Platform Brief English Version Hardware v1.0 Dokument: 1401171103 SSI-USB Brief English Version Seite 2/6 1 Preface The SSI-USB-module

More information

Credit (Commonwealth Bank Home Loan Exemption) Order 1996

Credit (Commonwealth Bank Home Loan Exemption) Order 1996 Queensland Credit Act 1987 Credit (Commonwealth Bank Home Loan Exemption) Order 1996 Reprinted as in force on 2 August 1996 Reprint No. 0A This reprint is prepared by the Office of the Queensland Parliamentary

More information

Section 3.2 Polynomial Functions and Their Graphs

Section 3.2 Polynomial Functions and Their Graphs Section 3.2 Polynomial Functions and Their Graphs EXAMPLES: P(x) = 3, Q(x) = 4x 7, R(x) = x 2 +x, S(x) = 2x 3 6x 2 10 QUESTION: Which of the following are polynomial functions? (a) f(x) = x 3 +2x+4 (b)

More information

Abstraction as the Key for Invariant Verication Saddek Bensalem and Susanne Graf and Yassine Lakhnech VERIMAG? Centre Equation 2, avenue de Vignate F-38610 Gieres France fbensalem,graf,lakhnechg@imag.fr

More information

Remote Control Invitations Invite Someone to Control your Computer

Remote Control Invitations Invite Someone to Control your Computer Invite Someone to Control your Computer Table of contents: - Glossary - Installation Process - Inviting Someone to Control your Computer About NSN Connect and this document NSN Connect has been developed

More information

Complete System Solutions For Personnel and Time Management

Complete System Solutions For Personnel and Time Management All from one source Time- and Data Management from ISGUS The functional units of the IT terminal series from ISGUS have been developed as a communicative component of the complete system solution for efficient

More information

Week 1 out-of-class notes, discussions and sample problems

Week 1 out-of-class notes, discussions and sample problems Week 1 out-of-class notes, discussions and sample problems Although we will primarily concentrate on RISC processors as found in some desktop/laptop computers, here we take a look at the varying types

More information

What's Wrong With Formal Programming Methods? Eric C.R. Hehner

What's Wrong With Formal Programming Methods? Eric C.R. Hehner What's Wrong With Formal Programming Methods? Eric C.R. Hehner Department of Computer Science, University of Toronto, Toronto M5S 1A4 Canada The January 1991 issue of Computing Research News includes the

More information

Fujitsu s Platforms Business Strategy

Fujitsu s Platforms Business Strategy Fujitsu s Platforms Business Strategy July 22, 2004 Chiaki Ito Corporate Executive Vice President Fujitsu Limited 1 All Rights Reserved, Fujitsu Limited 2004 Expanding Range of Networked Devices All goods

More information

How To Understand Gate

How To Understand Gate Time Facility for German Galileo Test Environment GATE J. Furthner, German Aerospace Center () Folie 1, GTFS 2005 > JF Content Overview of GATE Major Objectives of GATE GATE Field Service Area Functions

More information

The Greatest Common Factor; Factoring by Grouping

The Greatest Common Factor; Factoring by Grouping 296 CHAPTER 5 Factoring and Applications 5.1 The Greatest Common Factor; Factoring by Grouping OBJECTIVES 1 Find the greatest common factor of a list of terms. 2 Factor out the greatest common factor.

More information

7 OUT1 8 OUT2 9 OUT3 10 OUT4 11 OUT5 12 OUT6 13 OUT7 14 OUT8 15 OUT9 16 OUT10 17 OUT11 18 OUT12 19 OUT13 20 OUT14 21 OUT15 22 OUT16 OUT17 23 OUT18

7 OUT1 8 OUT2 9 OUT3 10 OUT4 11 OUT5 12 OUT6 13 OUT7 14 OUT8 15 OUT9 16 OUT10 17 OUT11 18 OUT12 19 OUT13 20 OUT14 21 OUT15 22 OUT16 OUT17 23 OUT18 18 CHANNELS LED DRIVER GENERAL DESCRIPTION IS31FL3218 is comprised of 18 constant current channels each with independent PWM control, designed for driving LEDs. The output current of each channel can be

More information

Networking Basics for Automation Engineers

Networking Basics for Automation Engineers Networking Basics for Automation Engineers Page 1 of 10 mac-solutions.co.uk v1.0 Oct 2014 1. What is Transmission Control Protocol/Internet Protocol (TCP/IP)------------------------------------------------------------

More information

Division of Administration (DOA) Desktop Support

Division of Administration (DOA) Desktop Support Division of Administration (DOA) Desktop Support Computer Power Conservation Settings for XP & Vista Operating Systems XP Power Options Overview Using Power Options in Control Panel, you can reduce the

More information

USB Card Reader Interface User Manual

USB Card Reader Interface User Manual USB Card Reader Interface User Manual SB Research 2009-2012 The USB Reader Interface family: Concept: The USB Card Reader Interface allows access control card readers to be connected to a PC, in order

More information

Software Development Phases

Software Development Phases Software Development Phases Specification of the task Design of a solution Implementation of solution Analysis of solution Testing and debugging Maintenance and evolution of the system Obsolescence Specification

More information

MonitorKey USB Driver Installation Instructions

MonitorKey USB Driver Installation Instructions MonitorKey USB Driver Installation Instructions The following procedure is used to install the drivers for the USB port of the EDI MonitorKey Programming Tool. If a serial version of the MonitorKey Programming

More information

ETRX2 and ETRX357 Wireless Mesh Networking Modules. Application Note Accessing Modules over the Internet

ETRX2 and ETRX357 Wireless Mesh Networking Modules. Application Note Accessing Modules over the Internet Telegesis ETRX2, ETRX35x TG-APP-Internet-100 Application Note ETRX2 and ETRX357 Wireless Mesh Networking Modules Application Note Accessing Modules over the Internet (Rev 1.00) Table of Contents 1 INTRODUCTION...

More information

How to make your system mobile with Paragon Drive Copy 10 and Microsoft Windows Virtual PC

How to make your system mobile with Paragon Drive Copy 10 and Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

More information

CSCE 465 Computer & Network Security

CSCE 465 Computer & Network Security CSCE 465 Computer & Network Security Instructor: Dr. Guofei Gu http://courses.cse.tamu.edu/guofei/csce465/ Secret Key Cryptography (I) 1 Introductory Remarks Roadmap Feistel Cipher DES AES Introduction

More information

Automatic Device Driver Synthesis with Termite

Automatic Device Driver Synthesis with Termite Automatic Device Driver Synthesis with Termite Leonid Ryzhyk Peter Chubb Ihor Kuz Etienne Le Sueur Gernot Heiser NICTA The University of New South Wales Open Kernel Labs Sydney, Australia leonid.ryzhyk@nicta.com.au

More information

Printed in China. Issue 1.2 AT&T 03/07. Advanced American Telephones. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures, licensed to

Printed in China. Issue 1.2 AT&T 03/07. Advanced American Telephones. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures, licensed to 2007 Advanced American Telephones. All rights reserved. AT&T and the AT&T logo are trademarks of AT&T Knowledge Ventures, licensed to Advanced American Telephones. Printed in China. Issue 1.2 AT&T 03/07

More information

How to Install Microsoft Windows Server 2008 R2 in VMware ESXi

How to Install Microsoft Windows Server 2008 R2 in VMware ESXi How to Install Microsoft Windows Server 2008 R2 in VMware ESXi I am not responsible for your actions or their outcomes, in any way, while reading and/or implementing this tutorial. I will not provide support

More information

The benefits of Cloud Computing

The benefits of Cloud Computing WHITE PAPER The benefits of Cloud Computing by Richard Ferriman, CEO (UK) of appichar Ltd The boom in Cloud computing over the past few years has led to a situation that is common to many innovations and

More information

Communicating with devices

Communicating with devices Introduction to I/O Where does the data for our CPU and memory come from or go to? Computers communicate with the outside world via I/O devices. Input devices supply computers with data to operate on.

More information

OUTILS DE DÉMONSTRATION

OUTILS DE DÉMONSTRATION OUTILS DE DÉMONSTRATION AUTOMATIQUE ET PREUVE DE CIRCUITS ÉLECTRONIQUES Laurence Pierre Laboratoire TIMA, Grenoble PREAMBLE Design/validation of embedded applications: Design/validation for the system

More information

GOA UNIVERSITY. Scheme of Instruction Hrs/Week

GOA UNIVERSITY. Scheme of Instruction Hrs/Week GOA UNIVERSITY SECOND/THIRD YEAR OF BACHELOR S DEGREE COURSE IN COMPUTER SEMISTER III Sub Code CE3.1 AM3 Applied Mathematics III 3 1 0 3 100 20+5 125 CE3.2BC++ Basics of C++ 3 1 2 3 100 20+5 50 175 CE3.3PPL

More information

FN:PCMCSET-M1.DOC. PCMCSET SOFTWARE for ATS Master Clocks System Clocks and Displays

FN:PCMCSET-M1.DOC. PCMCSET SOFTWARE for ATS Master Clocks System Clocks and Displays FN:PCMCSET-M1.DOC PCMCSET SOFTWARE for ATS Master Clocks System Clocks and Displays ATS FREE SOFTWARE AGREEMENT Applied Technical Systems (ATS) grants you the right to use this software according to the

More information

Consult protocol, Nissan Technical egroup, Issue 6

Consult protocol, Nissan Technical egroup, Issue 6 Consult protocol, Nissan Technical egroup, Issue 6 1. Electrical and Signaling protocol 1.1. Consult terminal or PC communications is via three wire bus. TX, RX and Async Clock. 1.2. TX data to ECU level

More information

Wire-speed Packet Capture and Transmission

Wire-speed Packet Capture and Transmission Wire-speed Packet Capture and Transmission Luca Deri Packet Capture: Open Issues Monitoring low speed (100 Mbit) networks is already possible using commodity hardware and tools based on libpcap.

More information