Abstract.Verifyingpropertiesofhybridsystemscanbehighlycomplex.Toreducetheeortrequiredtoproduceacorrectproof,theuseof

Size: px
Start display at page:

Download "Abstract.Verifyingpropertiesofhybridsystemscanbehighlycomplex.Toreducetheeortrequiredtoproduceacorrectproof,theuseof"

Transcription

1 VerifyingHybridSystemsModeledasTimed PresentedatHART'97,Grenoble,France,March26-28,1997 Automata:ACaseStudy? Abstract.Verifyingpropertiesofhybridsystemscanbehighlycomplex.Toreducetheeortrequiredtoproduceacorrectproof,theuseof mechanicalvericationtechniquesispromising.recently,weextended amechanicalvericationsystem,originallydevelopedtoreasonabout Code5546,NavalResearchLaboratory,Washington,DC20375 MylaArcherandConstanceHeitmeyer deterministicreal-timeautomata,toverifypropertiesofhybridsystems. solution,basedonthelynch-vaandragertimedautomatamodel,ofthe Toevaluateourapproach,weappliedourextendedproofsystemtoa perreviewsourmechanicalvericationsystem,whichbuildsonsri's SteamBoilerControllerproblem,ahybridsystemsbenchmark.Thispa- PrototypeVericationSystem(PVS),anddescribesthefeatureswe condencethatreal-timesystemssatisfytheirrequirements,especiallytheircrittectedinapplyingoursystemtothebenchmarkproblem.weconclude addedtohandlehybridsystems.italsodiscussessomeerrorswedeicalrequirements.however,applyingformalmethodstopracticalsystemsrequiresthesolutionofseveralchallengingproblems,e.g.,howtomakeformal andverifyhybridsystems. timesystems[9].suchmethodscangivesystemdevelopersandcustomersgreater 1Introduction Researchershaveproposedmanyinnovativeformalmethodsfordevelopingreal- withasummaryofinsightsweacquiredinusingoursystemtospecify descriptionsandformalproofsunderstandabletodevelopersandhowtodesign approachistobuildformalreasoningtoolsthatarecustomizedforspecifying real-timesystemsthatisdesignedtoaddressthesechallengingproblems.our softwaretoolsinsupportofformalmethodsthatareusablebydevelopers. andverifyingsystemsrepresentedintermsofaspecicmathematicalmodel. In[2],wedescribehowweareusingthemechanicalproofsystemPVS[18,19] Vaandragertimedautomata[15,14].Reference[2]alsopresentstheresultsof tosupportformalspecicationandvericationofsystemsmodeledaslynch- solutiontothegeneralizedrailroadcrossing(grc)problem[7]. acasestudyinwhichweappliedourmethodtoproveinvariantpropertiesofa Wearebuildingamechanizedsystemforspecifyingandreasoningabout orsheusesoursystem,aversionofpvsaugmentedwithasetofspecialized PVSproofstrategies,toverifypropertiesoftheautomaton.Useofoursystemfor timedautomaton,theuserllsinatemplateprovidedbyoursystem.then,he andreasonaboutreal-timesystemsinadirectmanner.tospecifyaparticular?thisworkisfundedbytheoceofnavalresearch.urlsfortheauthorsare Oursystemprovidesmechanicalassistancethatallowshumanstospecify 1

2 specicationandvericationisusuallyquitestraightforwardbecauseoursystem PVSproofswithaverysimilarstructure.Moreover,mostofthePVSproofs ofinvariantpropertiesinthegrcsolutionweretranslatedintocorresponding providesbothastructureandasetofspecializedtheoriesusefulinconstructing timedautomatamodelsandprovingpropertiesaboutthem.byfocusingona notmasterthebaselogicandthecompleteuserinterfaceoftheunderlyingproof system,pvs. particularmathematicalmodel thetimedautomatamodel oursystemallows ausertoreasonwithinaspecializedmathematicalframework.theuserneed wheretheeectsoftimepassageandothereventscanbenondeterministic.to proofsofstateinvariantswasexcessive. demonstratedthatthesameapproachcouldbeappliedtohybridautomata, toenterthespecicationsusingourtemplatenorthetimerequiredtocheckthe couldbedoneusingourspecializedstrategiesalone.neitherthetimerequired Theresultsofourinitialstudyprovedencouraging.Allofthehandproofs studytheutilityofourprooftechniquesforverifyinghybridsystems,weapplied themtoasolutionofthesteamboilercontrollerproblemdescribedin[12].in verifyingthisapplication,weinvestigatedthefollowingissues: {Isitpracticaltouseanautomatictheoremprovertoreasonaboutnonlinear {Howshouldnondeterminismbemodeled? Whileourinitialstudyonlyinvolveddeterministicautomata,werecently Inverifyingthesolutionin[12],wedetectedseveralerrors.Whilemostofthese andtheircorrectionisnontrivial. errorsareminorandeasilyxed,atleasttwooftheerrorsareerrorsinreasoning, {Canthetimedautomatatemplateandproofstrategiesdevelopedinour {HowsuitableisPVSforverifyingpropertiesofhybridsystems? realarithmetic? earliercasestudybeextendedtohandlethemoregeneralproblemofhybrid model.moreover,liketheseotherapproaches,ourmethodscanbeusedtoprove HyTech[10],andCOSPAN[11],ourapproachisbasedonaformalautomata Likeotherapproachestoverifyingreal-timesystems,suchasSMV[16,5], automata? andstandardlogicsandbyprovidingtemplatesfordevelopingspecications,we severalways.first,thepropertiesweproveareexpressedinastandardlogic propertiesofparticularautomataand,likecospan,toprovesimulationsbetweenautomata.1however,ourapproachisdierentfromotherapproachesitionofproofsinourmethodisnotcompletelyautomatic.rather,ourmethod largelyeliminatetheneedforthespecialnotations,logics,etc.,requiredbyother vericationsystems.second,unlikeotherautomata-basedmethods,thegenera- logic,suchasctlorictl,orintermsofautomata.byusingstandardnotations approaches,wherethepropertiestobeprovedareexpressedeitherinatemporal withuniversalandexistentialquantication.thisisincontrasttomostother usesamechanicalproofsystemtocheckthevalidityofhandproofsthatuse deductivereasoning. 1Wehavedesignedsupportforverifyingsimulationproofs,butimplementationofthis supportrequiressomeimprovementstopvs. 2

3 toolswedevelopedinourearliervericationofthegrc.section3introduces sophisticationfromtheuser.butbysupportingreasoningaboutautomataata highlevelofabstraction,wecanprovemorepowerfulresultsthanispossiblewith toolsrequiringmoreconcretedescriptionsofautomata.moreover,ourapproach andalsoprovidesconsiderablefeedbackwhenanerrorisdetected.suchfeedback isextremelyusefulincorrectingerrors. avoidsthestateexplosionprobleminherentinotherautomata-basedapproaches Interactionwithanautomaticproofsystemdoesdemandahigherlevelof thesteamboilercontrollerproblem,presentsthemainhybridautomatonspeci- edin[12],anddiscussesthetechniquesweusedtoadaptourtemplatetoproving propertiesofhybridautomata.section4presentsourmajorresults theerrors wedetectedinapplyingoursystemtotheboilercontrollerproblemandthe timeandeortweneededtoadaptandapplyourmethods.section5presents anexampleofahandproofandthecorrespondingpvsproofforastateinvariantwhoseproofinvolvesbothnondeterminismandnonlinearrealarithmetic. Section2reviewsthetimedautomatamodel,PVS,andthetemplateand verifyinghybridautomata. 2Background 2.1TheTimedAutomataModel itssolution[12]representsboththecomputersystemcontrolleranditsenvironmentaslynch-vaandragertimedautomata.atimedautomatonisavery automatasuitableformodelingnotonlycomputersystemsbutalsoreal-world quantities,suchaswaterlevelsandsteamrates.thetimedautomatamodel describesasystemasasetoftimedautomata,interactingbymeansofcommon steps(a),tobeafunction.howtomodifythedenitiontohandlethenondeterminisminherentinhybridautomatawasoneoftheissuesaddressedinour oflynch-vaandragertimedautomata,whichrequiresthenext-staterelation, tomatarepresenttheboilerandthecontroller;thecommonactionsaresensors actionisscheduled.thedenitionoftimedautomatabelow,whichisbasedon andactuatorscontrollingwhethertostoptheboilerandwhenthenextsensor actions.intheboilercontrollersolutionpresentedin[12],separatetimedau- TheformalmodelusedinthespecicationoftheBoilerControllerproblemand Section6presentssomeconclusionsabouttheusefulnessofourmethodsfor generalautomaton,i.e.,alabeledtransitionsystem.itneednotbenite-state: forexample,thestatecancontainreal-valuedinformation,suchasthecurrent time,theboiler'swaterlevel,andtheboiler'ssteamrate.thismakestimed currentstudy. reportingthewaterlevel,steamrate,andnumberofactivepumpsintheboiler, thedenitionsin[8,7],wasusedinourearliercasestudy[2].itisaspecialcase {start(a)states(a),anonempty(niteorinnite)setofstartstates. {states(a),a(niteorinnite)setofstates. {Amappingnowfromstates(A)toR0,thenon-negativerealnumbers. {acts(a),asetofactions(orevents),whichincludespecialtime-passageactions {steps(a):states(a)acts(a)!states(a),apartialfunctionthatdenesthe AtimedautomatonAconsistsofvecomponents: asinputandoutputactions. (t),wheretisapositiverealnumber,andnon-time-passageactions,classied possiblesteps(i.e.,transitions).3

4 References 1.J.-R.Abrial,E.Boerger,andH.Langmaack.PreliminaryreportfortheDagstuhl- Seminar9523:MethodsforSemanticsandSpecication.Dagstuhl,June M.ArcherandC.Heitmeyer.Mechanicalvericationoftimedautomata:A casestudy.inproc.1996ieeereal-timetechnologyandapplicationssymp. (RTAS'96).IEEEComputerSocietyPress, M.ArcherandC.Heitmeyer.Verifyinghybridsystemsmodeledastimedautomata:Acasestudy.Technicalreport,NRL,Wash.,DC,1997.Inpreparation. 4.R.BoyerandJ.Moore.AComputationalLogic.AcademicPress, S.Campos,E.Clarke,andM.Minea.Analysisofreal-timesystemsusingsymbolic techniques.informalmethodsforreal-timecomputing,chapter9.johnwiley &Sons, M.J.C.GordonandT.Melham,editors.IntroductiontoHOL:ATheoremProvingEnvironmentforHigher-OrderLogic.CambridgeUniversityPress, C.HeitmeyerandN.Lynch.TheGeneralizedRailroadCrossing:Acasestudyin formalvericationofreal-timesystems.inproc.,real-timesystemssymp.,san Juan,PuertoRico,Dec C.HeitmeyerandN.Lynch.TheGeneralizedRailroadCrossing:Acasestudyin formalvericationofreal-timesystems.technicalreportmit/lcs/tm-51,lab. forcomp.sci.,mit,cambridge,ma,1994.alsotr7619,nrl,wash.,dc C.HeitmeyerandD.Mandrioli,editors.FormalMethodsforReal-TimeComputing.Number5inTrendsinSoftware.JohnWiley&Sons, T.HenzingerandP.Ho.Hytech:TheCornellHybridTechnologyTool.Technical report,cornelluniversity, R.P.Kurshan.Computer-AidedVericationofCoordinatingProcesses:the Automata-TheoreticApproach.PrincetonUniversityPress, G.LeebandN.Lynch.ProvingsafetypropertiesoftheSteamBoilerController: Formalmethodsforindustrialapplications:Acasestudy.InJ.-R.Abrial,etal., eds.,formalmethodsforindustrialapplications:specifyingandprogrammingthe SteamBoilerControl,vol.1165ofLect.NotesinComp.Sci.Springer-Verlag, V.Luchangco.Usingsimulationtechniquestoprovetimingproperties.Master's thesis,massachusettsinstituteoftechnology,june N.LynchandF.Vaandrager.Forwardandbackwardsimulations{PartII: Timing-basedsystems.ToappearinInformationandComputation. 15.N.LynchandF.Vaandrager.Forwardandbackwardsimulationsfortiming-based systems.inproc.ofrexworkshop\real-time:theoryinpractice",volume600 oflecturenotesincomputerscience,pages397{446.springer-verlag, K.L.McMillan.SymbolicModelChecking.KluwerAcademicPublishers, M.Merritt,F.Modugno,andM.R.Tuttle.Timeconstrainedautomata.InJ. C.M.BaetenandJ.F.Goote,eds.,CONCUR'91:2ndIntern.Conferenceon ConcurrencyTheory,vol.527ofLect.NotesinComp.Sci.Springer-Verlag, S.Owre,J.Rushby,N.Shankar,andF.vonHenke.Formalvericationforfaulttolerantarchitectures:ProlegomenatothedesignofPVS.IEEETransactionson SoftwareEngineering,21(2):107{125,Feb N.Shankar,S.Owre,andJ.Rushby.ThePVSproofchecker:Areferencemanual. Technicalreport,ComputerScienceLab.,SRIIntl.,MenloPark,CA, J.VittandJ.Hooman.AssertionalSpecicationandVericationUsingPVSof thesteamboilercontrolsystem.inj.-r.abrialetal.,editors,formalmethods forindustrialapplications:specifyingandprogrammingthesteamboilercontrol, volume1165oflect.notesincomp.sci.springer-verlag,

5 AAppendix.ConstantandVariableDenitions Table1.ConstantsfortheBoilerandControllerModels Table2.VariablesfortheBoilerandControllerModels ThisarticlewasprocessedusingtheLATEXmacropackagewithLLNCSstyle Table3.AdditionalDenitionsfortheControllerModel 15 Name Type Unit Description I real, >0 s time between the periodical sensor reading S real, >0 s delay to activate pumps after the last sensor reading U 1 real, >0 l /s 2 maximum gradient of the increase of the steam rate U 2 real, >0 l /s 2 maximum gradient of the decrease of the steam rate M 1 real, >0 l minimum amount of water before boiler becomes critical M 2 real, >0 l maximum amount of water before boiler becomes critical W real, >0 l /s maximum steam rate before boiler becomes critical P real, >0 l /s exact rate at which one active pump supplies water to the boiler #pumps int, >0 Number of pumps that can supply water to the boiler in parallel C real, >0 l Capacity of the boiler Name Initial Type Values Unit Description Value Range now 0 real [0, ) s current time pr 0 integer {0,..., #pumps} number of pumps actively supplying water to the boiler q >>M 1, real [0, C] l actual water level in the boiler <<M 2 v 0 real [0, ) l /s steam rate of the steam currently leaving the boiler pr_new 0 integer {0,..., #pumps} number of pumps that are supposed to supply water after the activation delay error 0 integer {0,..., pr_new } number of pumps that fail to supply water to the boiler after activation do_sensor true boolean {true, false} enable a single sensor reading set S real [0, ) s next time the pumps change to the new settings read 0 real [0, ) s next time the sensors will be read stop false boolean {true, false} flag whether emergency shut down is activated do_output false boolean {true, false} flag that enables the output. This represents a kind of program counter. stopmode false boolean {true, false} flag to activate the shut down wl q real [0, C] l current water level reading sr 0 real [0, W] l /s current steam rate reading now 0 real [0, ) s current time pumps 0 integer {0,..., #pumps} number of currently active pumps suppling water to the boiler px 0 integer {0,..., #pumps} number of pumps that shall supply water next Name Type Unit Value Description max_pumps_af ter_set integer #pumps maximum number of pumps that can supply water to the boiler after the delay considering the pump failure model. min_pumps_af ter_set integer 0 minimum number of pumps that can supply water to the boiler after the delay considering the pump failure model. max_steam_water (sr ) real l max(0, (sr U 2 *I/2)*I ) minimum amount of water that can evaporate into steam until the next sensor reading min_steam_water (sr ) real l (sr + U 1 *I/2)*I maximum amount of water that can evaporate into steam until the next sensor reading

Myla Archer and Constance Heitmeyer. farcher, heitmeyerg@itd.nrl.navy.mil. mechanical verication techniques is promising. Recently, we extended

Myla Archer and Constance Heitmeyer. farcher, heitmeyerg@itd.nrl.navy.mil. mechanical verication techniques is promising. Recently, we extended Verifying Hybrid Systems Modeled as Timed Automata: A Case Study? Presented at HART '97, Grenoble, France, March 26-28, 1997 Myla Archer and Constance Heitmeyer Code 5546, Naval Research Laboratory, Washington,

More information

PART A: For each worker, determine that worker's marginal product of labor.

PART A: For each worker, determine that worker's marginal product of labor. ECON 3310 Homework #4 - Solutions 1: Suppose the following indicates how many units of output y you can produce per hour with different levels of labor input (given your current factory capacity): PART

More information

The While Loop. Objectives. Textbook. WHILE Loops

The While Loop. Objectives. Textbook. WHILE Loops Objectives The While Loop 1E3 Topic 6 To recognise when a WHILE loop is needed. To be able to predict what a given WHILE loop will do. To be able to write a correct WHILE loop. To be able to use a WHILE

More information

Conditionals (with solutions)

Conditionals (with solutions) Conditionals (with solutions) For exercises 1 to 27, indicate the output that will be produced. Assume the following declarations: final int MAX = 25, LIMIT = 100; int num1 = 12, num2 = 25, num3 = 87;

More information

J a v a Quiz (Unit 3, Test 0 Practice)

J a v a Quiz (Unit 3, Test 0 Practice) Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points

More information

TETRIX Add-On Extensions. Encoder Programming Guide (ROBOTC )

TETRIX Add-On Extensions. Encoder Programming Guide (ROBOTC ) Introduction: In this extension, motor encoders will be added to the wheels of the Ranger Bot. The Ranger Bot with Encoders will be programmed to move forward until it detects an object, turn 90, and move

More information

University of Paderborn Software Engineering Group II-25. Dr. Holger Giese. University of Paderborn Software Engineering Group. External facilities

University of Paderborn Software Engineering Group II-25. Dr. Holger Giese. University of Paderborn Software Engineering Group. External facilities II.2 Life Cycle and Safety Safety Life Cycle: The necessary activities involving safety-related systems, occurring during a period of time that starts at the concept phase of a project and finishes when

More information

7. Show that the expectation value function that appears in Lecture 1, namely

7. Show that the expectation value function that appears in Lecture 1, namely Lectures on quantum computation by David Deutsch Lecture 1: The qubit Worked Examples 1. You toss a coin and observe whether it came up heads or tails. (a) Interpret this as a physics experiment that ends

More information

While and Do-While Loops. 15-110 Summer 2010 Margaret Reid-Miller

While and Do-While Loops. 15-110 Summer 2010 Margaret Reid-Miller While and Do-While Loops 15-110 Margaret Reid-Miller Loops Within a method, we can alter the flow of control using either conditionals or loops. The loop statements while, do-while, and for allow us execute

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Neighbourhood Energy in Vancouver Sewage Heat Recovery within a city-wide strategy

Neighbourhood Energy in Vancouver Sewage Heat Recovery within a city-wide strategy Neighbourhood Energy in Vancouver Sewage Heat Recovery within a city-wide strategy IDEA Annual Conference, June 4, 2013 Kieran McConnell, NEU Systems Engineer SLIDE 1 1) The role of Neighbourhood Energy

More information

Three-Stage Phase II Clinical Trials

Three-Stage Phase II Clinical Trials Chapter 130 Three-Stage Phase II Clinical Trials Introduction Phase II clinical trials determine whether a drug or regimen has sufficient activity against disease to warrant more extensive study and development.

More information

QUIZ-II QUIZ-II. Chapter 5: Control Structures II (Repetition) Objectives. Objectives (cont d.) 20/11/2015. EEE 117 Computer Programming Fall-2015 1

QUIZ-II QUIZ-II. Chapter 5: Control Structures II (Repetition) Objectives. Objectives (cont d.) 20/11/2015. EEE 117 Computer Programming Fall-2015 1 QUIZ-II Write a program that mimics a calculator. The program should take as input two integers and the operation to be performed. It should then output the numbers, the operator, and the result. (For

More information

Introduction to Java

Introduction to Java Introduction to Java The HelloWorld program Primitive data types Assignment and arithmetic operations User input Conditional statements Looping Arrays CSA0011 Matthew Xuereb 2008 1 Java Overview A high

More information

What is a Loop? Pretest Loops in C++ Types of Loop Testing. Count-controlled loops. Loops can be...

What is a Loop? Pretest Loops in C++ Types of Loop Testing. Count-controlled loops. Loops can be... What is a Loop? CSC Intermediate Programming Looping A loop is a repetition control structure It causes a single statement or a group of statements to be executed repeatedly It uses a condition to control

More information

THE STEP7 PROGRAMMING LANGUAGE

THE STEP7 PROGRAMMING LANGUAGE THE STEP7 PROGRAMMING LANGUAGE STEP 7 is the standard software package used for configuring and programming SIMATIC programmable logic controllers. It is part of the SIMATIC industry software. Basic algorithm

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

1 General information

1 General information 1 General information 1.1 About this manual This manual describes the installation, function and operation of an integrated solar control system, which is suitable for split pressurized solar heating system.

More information

PIC 10A. Lecture 7: Graphics II and intro to the if statement

PIC 10A. Lecture 7: Graphics II and intro to the if statement PIC 10A Lecture 7: Graphics II and intro to the if statement Setting up a coordinate system By default the viewing window has a coordinate system already set up for you 10-10 10-10 The origin is in the

More information

CGC s Hybrid System Loop Control

CGC s Hybrid System Loop Control verview The CGC Group Hybrid Heat Pump System does NT operate with the same fluid loop temperatures as a conventional reversing Water Source Heat Pump system. The CGC system differs from a WSHP system

More information

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)

More information

Variables, Constants, and Data Types

Variables, Constants, and Data Types Variables, Constants, and Data Types Primitive Data Types Variables, Initialization, and Assignment Constants Characters Strings Reading for this class: L&L, 2.1-2.3, App C 1 Primitive Data There are eight

More information

Impact of Control System Technologies on Industrial Energy Savings

Impact of Control System Technologies on Industrial Energy Savings Impact of Control System Technologies on Industrial Energy Savings Priyam Parikh Industrial Assessment Center Texas A&M University Bryan P. Rasmussen Industrial Assessment Center Texas A&M University http://farolconsulting.com/?page_id=110

More information

Industrial Process Automation (Exercise)

Industrial Process Automation (Exercise) Industrial Process Automation, Exercise3: PLC (Programmable INSTITUTE Logic OFController) AUTOMATION SYSTEMS Prof. Dr.-Ing. Wolfgang Meyer PLC design Industrial Process Automation (Exercise) PLC (Programmable

More information

Part I. Multiple Choice Questions (2 points each):

Part I. Multiple Choice Questions (2 points each): Part I. Multiple Choice Questions (2 points each): 1. Which of the following is NOT a key component of object oriented programming? (a) Inheritance (b) Encapsulation (c) Polymorphism (d) Parallelism ******

More information

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1 UNIT 22: PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 OUTCOME 3 PART 1 This work covers part of outcome 3 of the Edexcel standard module: Outcome 3 is the most demanding

More information

Origin Tracking in Attribute Grammars

Origin Tracking in Attribute Grammars Origin Tracking in Attribute Grammars Kevin Williams and Eric Van Wyk University of Minnesota Stellenbosch, WG2.11, January 20-22, 2015 1 / 37 First, some advertising Multiple new faculty positions at

More information

Informatica e Sistemi in Tempo Reale

Informatica e Sistemi in Tempo Reale Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)

More information

Discrete Optimization

Discrete Optimization Discrete Optimization [Chen, Batson, Dang: Applied integer Programming] Chapter 3 and 4.1-4.3 by Johan Högdahl and Victoria Svedberg Seminar 2, 2015-03-31 Todays presentation Chapter 3 Transforms using

More information

GUIDANCE FOR DEVELOPMENT OF SPILL AND SLUG PREVENTION CONTROL PLANS AND FACILITIES FOR THE CITY OF ATTLEBORO SEWER USERS

GUIDANCE FOR DEVELOPMENT OF SPILL AND SLUG PREVENTION CONTROL PLANS AND FACILITIES FOR THE CITY OF ATTLEBORO SEWER USERS Company Name: Address: The City of Attleboro s Rules and Regulations for the use of Wastewater Facilities require each user to provide protection from accidental discharge of prohibited materials and substances

More information

BSc (Hons) Business Information Systems, BSc (Hons) Computer Science with Network Security. & BSc. (Hons.) Software Engineering

BSc (Hons) Business Information Systems, BSc (Hons) Computer Science with Network Security. & BSc. (Hons.) Software Engineering BSc (Hons) Business Information Systems, BSc (Hons) Computer Science with Network Security & BSc. (Hons.) Software Engineering Cohort: BIS/05/FT BCNS/05/FT BSE/05/FT Examinations for 2005-2006 / Semester

More information

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science

First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca

More information

Optimising the resource utilisation in high-speed network intrusion detection systems.

Optimising the resource utilisation in high-speed network intrusion detection systems. Optimising the resource utilisation in high-speed network intrusion detection systems. Gerald Tripp www.kent.ac.uk Network intrusion detection Network intrusion detection systems are provided to detect

More information

The natural ombination

The natural ombination The natural ombination DAIKIN ALTHERMA HYBRID HEAT PUMP 2 A new pportunity in residential heating! There is a growing demand from home owners to replace heating systems, especially replacing of gas boilers,

More information

Introduction to Python

Introduction to Python Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment

More information

Changing the Display Frequency During Scanning Within an ImageControls 3 Application

Changing the Display Frequency During Scanning Within an ImageControls 3 Application Changing the Display Frequency During Scanning Within an ImageControls 3 Date November 2008 Applies To Kofax ImageControls 2x, 3x Summary This application note contains example code for changing he display

More information

Compiler Construction

Compiler Construction Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation

More information

Distributed Detection Systems. Hamidreza Ahmadi

Distributed Detection Systems. Hamidreza Ahmadi Channel Estimation Error in Distributed Detection Systems Hamidreza Ahmadi Outline Detection Theory Neyman-Pearson Method Classical l Distributed ib t Detection ti Fusion and local sensor rules Channel

More information

Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.

Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database. Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and

More information

After: bmotorreflected[port2]= 1; //Flip port2 s direction

After: bmotorreflected[port2]= 1; //Flip port2 s direction Motors Motor control and some fine-tuning commands. motor[output] = power; This turns the referenced VEX motor output either on or off and simultaneously sets its power level. The VEX has 8 motor outputs:

More information

Classes and Objects in Java Constructors. In creating objects of the type Fraction, we have used statements similar to the following:

Classes and Objects in Java Constructors. In creating objects of the type Fraction, we have used statements similar to the following: In creating objects of the type, we have used statements similar to the following: f = new (); The parentheses in the expression () makes it look like a method, yet we never created such a method in our

More information

Formal verification of contracts for synchronous software components using NuSMV

Formal verification of contracts for synchronous software components using NuSMV Formal verification of contracts for synchronous software components using NuSMV Tobias Polzer Lehrstuhl für Informatik 8 Bachelorarbeit 13.05.2014 1 / 19 Problem description and goals Problem description

More information

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language

Translating to Java. Translation. Input. Many Level Translations. read, get, input, ask, request. Requirements Design Algorithm Java Machine Language Translation Translating to Java Introduction to Computer Programming The job of a programmer is to translate a problem description into a computer language. You need to be able to convert a problem description

More information

Nino Pellegrino October the 20th, 2015

Nino Pellegrino October the 20th, 2015 Learning Behavioral Fingerprints from NetFlows... using Timed Automata Nino Pellegrino October the 20th, 2015 Nino Pellegrino Learning Behavioral Fingerprints October the 20th, 2015 1 / 32 Use case Nino

More information

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.

Elementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook. Elementary Number Theory and Methods of Proof CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.edu/~cse215 1 Number theory Properties: 2 Properties of integers (whole

More information

Chapter 5. Selection 5-1

Chapter 5. Selection 5-1 Chapter 5 Selection 5-1 Selection (Decision) The second control logic structure is selection: Selection Choosing between two or more alternative actions. Selection statements alter the sequential flow

More information

Introduction to Computers and Programming. Testing

Introduction to Computers and Programming. Testing Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software

More information

Statements and Control Flow

Statements and Control Flow Contents 1. Introduction 2. Types and Variables 3. Statements and Control Flow 4. Reading Input 5. Classes and Objects 6. Arrays 7. Methods 8. Scope and Lifetime 9. Utility classes 10. Introduction to

More information

The C++ Language. Loops. ! Recall that a loop is another of the four basic programming language structures

The C++ Language. Loops. ! Recall that a loop is another of the four basic programming language structures The C++ Language Loops Loops! Recall that a loop is another of the four basic programming language structures Repeat statements until some condition is false. Condition False True Statement1 2 1 Loops

More information

Food industry Prosecc industry Heat & power (Production of district heating & cooling) Food industry Process industry Logistic centres Sport arenas

Food industry Prosecc industry Heat & power (Production of district heating & cooling) Food industry Process industry Logistic centres Sport arenas Johan Tallberg Food industry Process industry Logistic centres Sport arenas Synergy Food industry Prosecc industry Heat & power (Production of district heating & cooling) Maintenance services for the

More information

GCE. Computing. Mark Scheme for January 2011. Advanced Subsidiary GCE Unit F452: Programming Techniques and Logical Methods

GCE. Computing. Mark Scheme for January 2011. Advanced Subsidiary GCE Unit F452: Programming Techniques and Logical Methods GCE Computing Advanced Subsidiary GCE Unit F452: Programming Techniques and Logical Methods Mark Scheme for January 2011 Oxford Cambridge and RSA Examinations OCR (Oxford Cambridge and RSA) is a leading

More information

Problem set on Cross Product

Problem set on Cross Product 1 Calculate the vector product of a and b given that a= 2i + j + k and b = i j k (Ans 3 j - 3 k ) 2 Calculate the vector product of i - j and i + j (Ans ) 3 Find the unit vectors that are perpendicular

More information

( ) = ( ) = {,,, } β ( ), < 1 ( ) + ( ) = ( ) + ( )

( ) = ( ) = {,,, } β ( ), < 1 ( ) + ( ) = ( ) + ( ) { } ( ) = ( ) = {,,, } ( ) β ( ), < 1 ( ) + ( ) = ( ) + ( ) max, ( ) [ ( )] + ( ) [ ( )], [ ( )] [ ( )] = =, ( ) = ( ) = 0 ( ) = ( ) ( ) ( ) =, ( ), ( ) =, ( ), ( ). ln ( ) = ln ( ). + 1 ( ) = ( ) Ω[ (

More information

Cloud and Big Data Summer School, Stockholm, Aug., 2015 Jeffrey D. Ullman

Cloud and Big Data Summer School, Stockholm, Aug., 2015 Jeffrey D. Ullman Cloud and Big Data Summer School, Stockholm, Aug., 2015 Jeffrey D. Ullman To motivate the Bloom-filter idea, consider a web crawler. It keeps, centrally, a list of all the URL s it has found so far. It

More information

Theory of the Firm. The Firm s Problem: Costs and Profits

Theory of the Firm. The Firm s Problem: Costs and Profits Theory of the Firm The Firm s Problem: Costs and Profits Firm s Problem: Description We consider a firm producing a single good Q using two inputs: L (labour) and K (capital). The technology of the firm

More information

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad

EE 42/100 Lecture 24: Latches and Flip Flops. Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad A. M. Niknejad University of California, Berkeley EE 100 / 42 Lecture 24 p. 1/20 EE 42/100 Lecture 24: Latches and Flip Flops ELECTRONICS Rev B 4/21/2010 (2:04 PM) Prof. Ali M. Niknejad University of California,

More information

Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)

Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority) Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the

More information

A binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:

A binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and: Binary Search Trees 1 The general binary tree shown in the previous chapter is not terribly useful in practice. The chief use of binary trees is for providing rapid access to data (indexing, if you will)

More information

Simple Cooperative Scheduler for Arduino ARM & AVR. Aka «SCoop»

Simple Cooperative Scheduler for Arduino ARM & AVR. Aka «SCoop» Simple Cooperative Scheduler for Arduino ARM & AVR Aka «SCoop» Introduction Yet another library This library aims to provide a light and simple environment for creating powerful multi-threaded programs

More information

Analysis of Binary Search algorithm and Selection Sort algorithm

Analysis of Binary Search algorithm and Selection Sort algorithm Analysis of Binary Search algorithm and Selection Sort algorithm In this section we shall take up two representative problems in computer science, work out the algorithms based on the best strategy to

More information

EcoDesign & Labelling Directive (ErP)

EcoDesign & Labelling Directive (ErP) EcoDesign & Labelling Directive (ErP) Jeff House November 2015 Baxi Make it Easy 1 What is ErP? ErP is a European Wide Directive designed to: Improve efficiency of heating & hot water products Generate

More information

KU DESIGN GUIDELINES APPENDIX XVI RECOMMENDED BAS I/O CONTROL POINTS BY EQUIPMENT / SYSTEM

KU DESIGN GUIDELINES APPENDIX XVI RECOMMENDED BAS I/O CONTROL POINTS BY EQUIPMENT / SYSTEM KU DESIGN GUIDELINES APPENDIX XVI RECOMMENDED BAS I/O CONTROL POINTS BY EQUIPMENT / SYSTEM AIR HANDLING UNITS... 1 CHILLERS... 2 COOLING TOWERS... 2 CLOSED LOOP COOLERS... 2 MISCELLANEOUS SUPPLY FANS...

More information

HOW TO SELECT A LOW VOLUME (L.V ) BOILER

HOW TO SELECT A LOW VOLUME (L.V ) BOILER HOW TO SELECT A LOW VOLUME (L.V ) BOILER FREQUENTLY ASKED QUESTIONS OR COMMENTS ON BOILERS Dear Potential Customer: Low Volume Operator Exempt boilers have been marketed in Ontario to eliminate the requirement

More information

Compsci 101: Test 1. October 2, 2013

Compsci 101: Test 1. October 2, 2013 Compsci 101: Test 1 October 2, 2013 Name: NetID/Login: Community Standard Acknowledgment (signature) Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 TOTAL: value 16 pts. 12 pts. 20 pts. 12 pts. 20 pts.

More information

CDMI Extension: Partial Upload

CDMI Extension: Partial Upload CDMI Extension: Partial Upload Version 1.1a "Publication of this for review and comment has been approved by the Cloud Storage Technical Working Group. This draft represents a "best effort" attempt by

More information

FUNDAMENTALS OF ENGINEERING THERMODYNAMICS

FUNDAMENTALS OF ENGINEERING THERMODYNAMICS FUNDAMENTALS OF ENGINEERING THERMODYNAMICS System: Quantity of matter (constant mass) or region in space (constant volume) chosen for study. Closed system: Can exchange energy but not mass; mass is constant

More information

Optimization - Elements of Calculus - Basics of constrained and unconstrained optimization

Optimization - Elements of Calculus - Basics of constrained and unconstrained optimization 27. OKTOBER 2010 Optimization - Elements of Calculus - Basics of constrained and unconstrained optimization @ Optimization the general problem Optimization minimize, subject to Ω = (,, ), optimization

More information

Laddomat 21. For accumulation when using a wood-fired boiler. Picture 1. The wood-fired boiler is is connected to to. accumulator tank with bypass

Laddomat 21. For accumulation when using a wood-fired boiler. Picture 1. The wood-fired boiler is is connected to to. accumulator tank with bypass Picture 1 For accumulation when using a wood-fired boiler The wood-fired boiler is is connected to to an accumulator tank with bypass and dwh with......... Laddomat 21 and this is is how it it works...

More information

Structural Health Monitoring Tools (SHMTools)

Structural Health Monitoring Tools (SHMTools) Structural Health Monitoring Tools (SHMTools) Parameter Specifications LANL/UCSD Engineering Institute LA-CC-14-046 c Copyright 2014, Los Alamos National Security, LLC All rights reserved. May 30, 2014

More information

CCS in the Oil refining Industry System Solutions and Assessment of Capture Potential

CCS in the Oil refining Industry System Solutions and Assessment of Capture Potential CCS in the Oil refining Industry System Solutions and Assessment of Capture Potential Daniella Johansson (PhD student) Supervisors: Prof. Thore Berntsson & Dr. Per-Åke Franck Division of Heat and Power

More information

Supporting Data Set Joins in BIRT

Supporting Data Set Joins in BIRT Supporting Data Set Joins in BIRT Design Specification Draft 1: Feb 13, 2006 Abstract This is the design specification of the BIRT Data Set Join feature. Document Revisions Version Date Description of

More information

Chapter 8 Selection 8-1

Chapter 8 Selection 8-1 Chapter 8 Selection 8-1 Selection (Decision) The second control logic structure is selection: Selection Choosing between two or more alternative actions. Selection statements alter the sequential flow

More information

Crystal Reports Integration Plugin for JIRA

Crystal Reports Integration Plugin for JIRA Crystal Reports Integration Plugin for JIRA Copyright 2008 The Go To Group Page 1 of 7 Table of Contents Crystal Reports Integration Plugin for JIRA...1 Introduction...3 Prerequisites...3 Architecture...3

More information

Discuss the size of the instance for the minimum spanning tree problem.

Discuss the size of the instance for the minimum spanning tree problem. 3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

More information

Form Validation. Server-side Web Development and Programming. What to Validate. Error Prevention. Lecture 7: Input Validation and Error Handling

Form Validation. Server-side Web Development and Programming. What to Validate. Error Prevention. Lecture 7: Input Validation and Error Handling Form Validation Server-side Web Development and Programming Lecture 7: Input Validation and Error Handling Detecting user error Invalid form information Inconsistencies of forms to other entities Enter

More information

CSCE 110 Programming I Basics of Python: Variables, Expressions, and Input/Output

CSCE 110 Programming I Basics of Python: Variables, Expressions, and Input/Output CSCE 110 Programming Basics of Python: Variables, Expressions, and nput/output Dr. Tiffani L. Williams Department of Computer Science and Engineering Texas A&M University Fall 2011 Python Python was developed

More information

COMPUTER SCIENCE 1999 (Delhi Board)

COMPUTER SCIENCE 1999 (Delhi Board) COMPUTER SCIENCE 1999 (Delhi Board) Time allowed: 3 hours Max. Marks: 70 Instructions: (i) All the questions are compulsory. (ii) Programming Language: C++ QUESTION l. (a) Why main function is special?

More information

Online and Scalable Data Validation in Advanced Metering Infrastructures

Online and Scalable Data Validation in Advanced Metering Infrastructures Online and Scalable Data Validation in Advanced Metering Infrastructures Chalmers University of technology Agenda 1. Problem statement 2. Preliminaries Data Streaming 3. Streaming-based Data Validation

More information

Remove Voided Claims for Insurance Data Qiling Shi

Remove Voided Claims for Insurance Data Qiling Shi Remove Voided Claims for Insurance Data Qiling Shi ABSTRACT The purpose of this study is to remove voided claims for insurance claim data using SAS. Suppose that for these voided claims, we don t have

More information

Application Engineering

Application Engineering Application Engineering February 2011 Electronic Unit Controller Table of Contents 1. Introduction and Features... 2 1.1 Technical Specifi cations... 3 1.2 Pressure Probe Error Bypass... 3 1.3 Bump Start...

More information

Joint Exam 1/P Sample Exam 1

Joint Exam 1/P Sample Exam 1 Joint Exam 1/P Sample Exam 1 Take this practice exam under strict exam conditions: Set a timer for 3 hours; Do not stop the timer for restroom breaks; Do not look at your notes. If you believe a question

More information

Computer Programming I

Computer Programming I Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50,

More information

Using Arduino Microcontrollers to Sense DC Motor Speed and Position

Using Arduino Microcontrollers to Sense DC Motor Speed and Position ECE480 Design Team 3 Using Arduino Microcontrollers to Sense DC Motor Speed and Position Tom Manner April 4, 2011 page 1 of 7 Table of Contents 1. Introduction ----------------------------------------------------------

More information

Special Directions for this Test

Special Directions for this Test 1 Spring, 2013 Name: (Please do not write your id number!) COP 4020 Programming Languages I Test on Haskell and Functional Programming Special Directions for this Test This test has 7 questions and pages

More information

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.

More information

Organization of Records in Blocks

Organization of Records in Blocks Organization of Records in Blocks Read Sec. 4.2 Riguzzi et al. Sistemi Informativi Slides derived from those by Hector Garcia-Molina 1 Topic How to lay out records on blocks 2 To represent: Integer (short):

More information

Ladder and Functional Block Programming

Ladder and Functional Block Programming CHPTER 11 Ladder and Functional lock Programming W. olton This (and the following) chapter comes from the book Programmable Logic Controllers by W. olton, ISN: 9780750681124. The first edition of the book

More information

SOLUTIONS FOR PROBLEM SET 2

SOLUTIONS FOR PROBLEM SET 2 SOLUTIONS FOR PROBLEM SET 2 A: There exist primes p such that p+6k is also prime for k = 1,2 and 3. One such prime is p = 11. Another such prime is p = 41. Prove that there exists exactly one prime p such

More information

Configuring Alarms & Relays in the Enhanced Transformer Advantage

Configuring Alarms & Relays in the Enhanced Transformer Advantage Configuring s & Relays in the Enhanced Transformer Advantage The Transformer Advantage product family offers a variety of relay options. Some choices are made when the Advantage is specified and ordered.

More information

Notes on Complexity Theory Last updated: August, 2011. Lecture 1

Notes on Complexity Theory Last updated: August, 2011. Lecture 1 Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look

More information

Introduction to Python

Introduction to Python Introduction to Python Sophia Bethany Coban Problem Solving By Computer March 26, 2014 Introduction to Python Python is a general-purpose, high-level programming language. It offers readable codes, and

More information

Section 13.5 Equations of Lines and Planes

Section 13.5 Equations of Lines and Planes Section 13.5 Equations of Lines and Planes Generalizing Linear Equations One of the main aspects of single variable calculus was approximating graphs of functions by lines - specifically, tangent lines.

More information

SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I)

SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I) SSC - Concurrency and Multi-threading Java multithreading programming - Synchronisation (I) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics

More information

Automated Commissioning for Energy (ACE) Platform for Large Retail Property. Overview

Automated Commissioning for Energy (ACE) Platform for Large Retail Property. Overview Automated Commissioning for Energy (ACE) Platform for Large Retail Property $62,900 dollars of energy savings identified during the first 6 weeks Overview The ability to pull large amounts of complex data

More information

Siemens S7 Status Word

Siemens S7 Status Word Siemens S7 Status Word In Siemens PLCs the Status Word is an internal CPU register used to keep track of the state of the instructions as they are being processed. In order to use STL more effectively

More information

Lecture 5/6. Enrico Bini

Lecture 5/6. Enrico Bini Advanced Lecture 5/6 November 8, 212 Outline 1 2 3 Theorem (Lemma 3 in [?]) Space of feasible C i N is EDF-schedulable if and only if i U i 1 and: t D n i=1 { max, t + Ti D i T i } C i t with D = {d i,k

More information

Accredited Specimen Mark Scheme

Accredited Specimen Mark Scheme Version 1.0 General Certificate of Secondary Education Computer Science code Code Computing fundamentals Accredited Specimen Mark Scheme Mark schemes are prepared by the Principal Examiner and considered,

More information

Magento module Documentation

Magento module Documentation Table of contents 1 General... 4 1.1 Languages... 4 2 Installation... 4 2.1 Search module... 4 2.2 Installation in Magento... 6 2.3 Installation as a local package... 7 2.4 Uninstalling the module... 8

More information