OBJECT CONSTRAINT LANGUAGE OCL. Tomáš Černý : Object contraint language

Size: px
Start display at page:

Download "OBJECT CONSTRAINT LANGUAGE OCL. Tomáš Černý : Object contraint language"

Transcription

1 OBJECT CONSTRAINT LANGUAGE OCL Tomáš Čerý : Object cotrait laguage

2 OCL INTRO Flight Airplae type : eum of cargo, passeger flights type : eum of cargo, passeger {cotext Flight iv: type = #cargo implies airplae.type = #cargo iv: type = #passeger implies airplae.type = #passeger} Tomáš Čerý : Object cotrait laguage 2

3 OCL INTRO Flight Airplae type : eum of cargo, passeger flights type : eum of cargo, passeger {cotext Flight iv: type = #cargo implies airplae.type = #cargo iv: type = #passeger implies airplae.type = #passeger} Tomáš Čerý : Object cotrait laguage 3

4 OCL INTRO Flight Airplae type : eum of cargo, passeger flights type : eum of cargo, passeger {cotext Flight iv: type = #cargo implies airplae.type = #cargo iv: type = #passeger implies airplae.type = #passeger} Always true Tomáš Čerý : Object cotrait laguage 4

5 OCL INTRO Flight Airplae type : eum of cargo, passeger flights type : eum of cargo, passeger {cotext Flight iv: type = #cargo implies airplae.type = #cargo iv: type = #passeger implies airplae.type = #passeger} Tomáš Čerý : Object cotrait laguage 5

6 OCL INTRO II Airport ame: Strig cotext Flight origi destiatio departig Flights iv: origi <> destiatio * * arrivig Flights Flight departtime: Time /arrivaltime: Time duratio : Iterval maxnrpassegers: Iteger Airlie ame:strig flights airlie iv: origi.ame = Amsterdam cotext Flight iv: airlie.ame = KLM Tomáš Čerý : Object cotrait laguage 6

7 OCL INTRO II Airport ame: Strig cotext Flight origi destiatio departig Flights iv: origi <> destiatio * * arrivig Flights Flight departtime: Time /arrivaltime: Time duratio : Iterval maxnrpassegers: Iteger Airlie ame:strig flights airlie iv: origi.ame = Amsterdam cotext Flight iv: airlie.ame = KLM iv: airlie.ame.tolower = klm Tomáš Čerý : Object cotrait laguage 7

8 OCL INTRO III cotext Perso iv: if employer.ame = CVUT the job.type = #lecturer else job.type = #programmer edif Job type : {lecturer, programmer} Perso * employee employer Compay ame : Strig Tomáš Čerý : Object cotrait laguage 8

9 DEFINITION OF CONSTRAINT A costrait is a restrictio o oe or more values of (part of) a object-orieted model or system. Tomáš Čerý : Object cotrait laguage 9

10 HISTORY 995 IBEL IBM Součást UML. Tomáš Čerý : Object cotrait laguage 0

11 UML DIAGRAM NEDOSTAČUJE Potřebujeme jazyk pro specifikaci Potřebujeme ěco pro Objektový ávrh e ový jazyk Potřebujeme ěco stadardizovaého Tomáš Čerý : Object cotrait laguage

12 ÚČEL OCL Jazyk formálí specifikace -> implemetovatelý Objektový ávrh Ituitiví sytax pro OO jazyk Pozor eí to programovací jazyk! Tomáš Čerý : Object cotrait laguage 2

13 VÝHODY FORMÁLNÍ SPECIFIKACE Lepší dokumetace Omezeí modelu Iformace avíc Přesost Zamezí dvojzačosti Komuikace bez edorozuměí Komuikace mezi vývojářem a aalytikem bez edorozuměí Tomáš Čerý : Object cotrait laguage 3

14 KAM S OCL Specifikace ivariatů tříd a typů Co smí a co e Vymezeí legálích hodot Pre- a post-coditios pro metody Navigačí jazyk Omezeí/vymezeí operací Test požadavku a specifikace Tomáš Čerý : Object cotrait laguage 4

15 EXAMPLE: A MORTGAGE SYSTEM (HYPOTEKA). A perso may have a mortgage oly o a house she ows. 2. The start date of a mortgage is before its ed date. Tomáš Čerý : Object cotrait laguage 5

16 OCL SPECIFICATION OF THE CONSTRAINTS:. cotext Mortgage cotext Mortgage ivariat: self.security.ower = self.borrower ivariat: security.ower = borrower 2. cotext Mortgage cotext Mortgage ivariat: self.startdate < self.eddate ivariat: startdate < eddate. A perso may have a mortgage oly o a house she ows. 2. The start date of a mortgage is before its ed date. Tomáš Čerý : Object cotrait laguage 6

17 OCL SPECIFICATION OF THE CONSTRAINTS:. cotext Mortgage cotext Mortgage ivariat: self.security.ower = self.borrower ivariat: security.ower = borrower 2. cotext Mortgage cotext Mortgage ivariat: self.startdate < self.eddate ivariat: startdate < eddate Tomáš Čerý : Object cotrait laguage 7

18 OCL SPECIFICATION OF THE CONSTRAINTS:. cotext Mortgage cotext Mortgage ivariat: self.security.ower = self.borrower ivariat: security.ower = borrower 2. cotext Mortgage cotext Mortgage ivariat: self.startdate < self.eddate ivariat: startdate < eddate Tomáš Čerý : Object cotrait laguage 8

19 OCL SPECIFICATION OF THE CONSTRAINTS:. cotext Mortgage cotext Mortgage ivariat: self.security.ower = self.borrower ivariat: security.ower = borrower 2. cotext Mortgage cotext Mortgage ivariat: self.startdate < self.eddate ivariat: startdate < eddate Tomáš Čerý : Object cotrait laguage 9

20 OCL SPECIFICATION OF THE CONSTRAINTS:. cotext Mortgage cotext Mortgage ivariat: self.security.ower = self.borrower ivariat: security.ower = borrower 2. cotext Mortgage cotext Mortgage ivariat: self.startdate < self.eddate ivariat: startdate < eddate Tomáš Čerý : Object cotrait laguage 20

21 OCL SPECIFICATION OF THE CONSTRAINTS:. cotext Mortgage cotext Mortgage ivariat: self.security.ower = self.borrower ivariat: security.ower = borrower 2. cotext Mortgage cotext Mortgage ivariat: self.startdate < self.eddate ivariat: startdate < eddate Tomáš Čerý : Object cotrait laguage 2

22 MORE CONSTRAINTS EXAMPLES All players must be over 8. cotext Player ivariat: self.age >=8 Player age: Iteger The umber of guests i each room does t exceed the umber of beds i the room. room guest Room Guest * umberofbeds: Iteger cotext Room ivariat: guest -> size() <= umberofbeds Tomáš Čerý : Object cotrait laguage 22

23 CONSTRAINTS/OMEZENÍ (INVARIANTS), CONTEXTS AND SELF Costrait (ivariat) Boolea OCL výraz vyhodotitelý do true/false Každý costrait je vázá a specifický typ (class, associatio class, iterface) v UML modelu Má svůj cotext. Cotext objektu může být vytiče přes keyword self. Cotext lze specifikovat přes: q q Cotext <cotext ame> Přerušovaou čárou spojující objekt v UML modelu Costrait může mít ázev za klíčovým slovem ivariat. Tomáš Čerý : Object cotrait laguage 23

24 ProgramParter umberofcustomers: Iteger deliveredservices Service coditio: Boolea poitseared: Iteger poitsbured: Iteger descriptio: Strig Date..* parter geeratedby $ow: Date parters isbefore(t:date): Boolea isafter(t:date): Boolea =(t:date): Boolea..* {ordered}..* Tomáš Čerý : Object cotrait laguage LoyaltyProgram eroll(c:customer) ServiceLevel ame: Strig level availableservices trasactios program actuallevel LoyaltyAccout poits: Iteger Membership 0.. ear(i: Iteger) bur(i: Iteger) isempty(): Boolea trasactios Trasactio poits: Iteger date:date accout program(): LoyaltyProgram Burig Earig card trasactios Customer ame: Strig title:strig ismale: Boolea dateofbirth: Date age(): Iteger ower card CustomerCard valid: Boolea validform: Date goodthru: Date color: eum{silver, gold} pritedname: Strig card 24

25 USING OCL IN CLASS DIAGRAMS <<precoditio>> i >= 0 LoyaltyAccout poits: Iteger ear(i: Iteger) bur(i: Iteger) isempty(): Boolea class ivariat { poits >= 0 } <<precoditio>> poits >= i ad i >= 0 precoditio for bur operatio <<postcoditio>> poits = poits@pre + i <<postcoditio>> result = (poits=0) <<postcoditio>> poits = poits@pre - i postcoditio for bur operatio Tomáš Čerý : Object cotrait laguage 25

26 Ivariaty Atributů Ivariaty atributů: cotext Customer ivariat age-restrictio: age >= 8 cotext CustomerCard ivariat correctdates: validfrom.isbefore(goodthru) The type of validfrom ad goodthru is Date. isbefore(date):boolea is a Date operatio. Customer ame: Strig title:strig ismale: Boolea dateofbirth: Date age(): Iteger ower card CustomerCard valid: Boolea validform: Date goodthru: Date color: eum{silver, gold} pritedname: Strig The class o which the ivariat must be put is the ivariat cotext. For the above example, this meas that the expressio is a ivariat of the Customer class. Tomáš Čerý : Object cotrait laguage 26

27 Ivariaty : Navigace přes associace role Navigatio over associatios is used to refer to Associated objects, startig from the cotext object: cotext CustomerCard ivariat: ower.age >= 8 ower à a Customer istace. ower.age à a Iteger. Customer ame: Strig title:strig ismale: Boolea dateofbirth: Date age(): Iteger CustomerCard valid: Boolea validform: Date goodthru: Date color: eum{silver, gold} pritedname: Strig Note: This is ot the right cotext for this costrait! If the role ame is missig use the class ame at the other ed of the associatio, startig with a lowercase letter. Preferred: Always give role ames. ower card Tomáš Čerý : Object cotrait laguage 27

28 Ivariaty : Navigace přes associace roles cotext CustomerCard ivariat pritedname: pritedname = ower.title.cocat( ).cocat(ower.ame) pritedname à a Strig. ower à a Customer istace. ower.title à a Strig. ower.ame à a Strig. Strig is a recogized OCL type. cocat is a Strig operatio, with the sigature cocat(strig): Strig. Tomáš Čerý : Object cotrait laguage 28

29 ProgramParter umberofcustomers: Iteger deliveredservices Service coditio: Boolea poitseared: Iteger poitsbured: Iteger descriptio: Strig Date..* parter geeratedby $ow: Date parters isbefore(t:date): Boolea isafter(t:date): Boolea =(t:date): Boolea..* {ordered}..* Tomáš Čerý : Object cotrait laguage LoyaltyProgram eroll(c:customer) ServiceLevel ame: Strig level availableservices trasactios program actuallevel LoyaltyAccout poits: Iteger Membership 0.. ear(i: Iteger) bur(i: Iteger) isempty(): Boolea trasactios Trasactio poits: Iteger date:date accout program(): LoyaltyProgram Burig Earig card trasactios Customer ame: Strig title:strig ismale: Boolea dateofbirth: Date age(): Iteger ower cards CustomerCard valid: Boolea validform: Date goodthru: Date color: eum{silver, gold} pritedname: Strig card 29

30 Ivariaty : Navigace přes associace Navigatio from a class through a associatio class uses the associatio class ame to obtai all tuples of a object: The cards of the memberships of a customer are oly the customer s cards : cotext Customer ivariat correctcard: cards->icludesall(membership.card) This is exactly the same as the previous costrait: The ower of the card of a membership must be the customer i the membership : cotext Membership ivariat correctcard: card.ower = customer The Membership correctcard costrait is better! Tomáš Čerý : Object cotrait laguage 30

31 Ivariats usig Navigatio through Associatios with May Multiplicity Navigatio over associatios roles with multiplicity greater tha yields a Collectio type. Operatios o collectios are accessed usig a arrow ->, followed by the operatio ame. A customer card belogs oly to a membership of its ower : cotext CustomerCard ivariat correctcard: ower.membership->icludes(membership) ower à a Customer istace. ower.membership à a set of Membership istaces. membership à a Membership istace. icludes is a operatio of the OCL Collectio type. Tomáš Čerý : Object cotrait laguage 3

32 NAVIGATING TO COLLECTIONS Customer Accout Trasactio cotext Customer accout produces a set of Accouts cotext Customer accout.trasactio produces a bag of trasactios If we wat to use this as a set we have to do the followig accout.trasactio -> asset Tomáš Čerý : Object cotrait laguage 32

33 ProgramParter umberofcustomers: Iteger deliveredservices Service coditio: Boolea poitseared: Iteger poitsbured: Iteger descriptio: Strig Date..* parter geeratedby $ow: Date parters isbefore(t:date): Boolea isafter(t:date): Boolea =(t:date): Boolea..* {ordered}..* Tomáš Čerý : Object cotrait laguage LoyaltyProgram eroll(c:customer) ServiceLevel ame: Strig level availableservices trasactios program actuallevel LoyaltyAccout poits: Iteger Membership 0.. ear(i: Iteger) bur(i: Iteger) isempty(): Boolea trasactios Trasactio poits: Iteger date:date accout program(): LoyaltyProgram Burig Earig card trasactios Customer ame: Strig title:strig ismale: Boolea dateofbirth: Date age(): Iteger ower cards CustomerCard valid: Boolea validform: Date goodthru: Date color: eum{silver, gold} pritedname: Strig card 33

34 Navigatio to Collectios The parters of a loyalty program have at least oe delivered service : cotext LoyaltyProgram ivariat miservices: parters.deliveredservices->size() >= The umber of a customer s programs is equal to that of his/her valid cards : cotext Customer ivariat sizesagree: Programs->size() = cards->select(valid=true)->size() Tomáš Čerý : Object cotrait laguage 34

35 Navigatio to Collectios Whe a loyalty program does ot offer the possibility to ear or bur poits, the members of the loyalty program do ot have loyalty accouts. That is, the loyalty accouts associated with the Memberships must be empty : cotext LoyaltyProgram ivariat oaccouts: parters.deliveredservices-> forall(poitseared = 0 ad poitsbured = 0) implies Membership.accout->isEmpty() ad, or, ot, implies, xor are logical coectives. Tomáš Čerý : Object cotrait laguage 35

36 THE OCL COLLECTION TYPES Collectio is a predefied OCL type q Operatios are defied for collectios q They ever chage the origial Three differet collectios: q q q Set (o duplicates) Bag (duplicates allowed) Sequece (ordered Bag) With collectios type, a OCL expressio either states a fact about all objects i the collectio or states a fact about the collectio itself, e.g. the size of the collectio. Sytax: q collectio->operatio Tomáš Čerý : Object cotrait laguage 36

37 COLLECTION OPERATIONS <collectio> size ( ) isempty ( ) otempty ( ) sum ( ) cout ( object ) icludes ( object ) icludesall ( collectio ) Tomáš Čerý : Object cotrait laguage 37

38 COLLECTIONS CONT. <collectio> select ( e:t <b.e.>) reject ( e:t <b.e.>) collect ( e:t <v.e.>) forall ( e:t* <b.e.>) exists ( e:t <b.e.>) iterate ( e:t ; r:t 2 = <v.e.> <v.e.>) b.e. stads for: boolea expressio v.e. stads for: value expressio Tomáš Čerý : Object cotrait laguage 38

39 CHANGING THE CONTEXT Customer ame:strig title: Strig golduser: Boolea age( ):Iteger ower..* cards StoreCard pritname:strig poits: Iteger ear(p:iteger) cotext StoreCard ivariat: pritname = ower.title.cocat(ower.ame) cotext Customer cards forall ( pritname = ower.title.cocat(ower.ame) ) Tomáš Čerý : Object cotrait laguage 39

40 EXAMPLE UML DIAGRAM Studet ame: Strig take_by submitted_by..* submits takes..* Module code: Strig credit: Iteger for_module set_work..* Assessmet weight: Iteger Exam hours: Iteger Coursework date: Strig Tomáš Čerý : Object cotrait laguage 40

41 CONSTRAINTS a) Modules ca be take iff they have more tha seve studets registered b) The assessmets for a module must total 00% c) Studets must register for 20 credits each year d) Studets must take at least 90 credits of CS modules each year e) All modules must have at least oe assessmet worth over 50% f) Studets ca oly have assessmets for modules which they are takig Tomáš Čerý : Object cotrait laguage 4

42 CONSTRAINT (A) Modules ca be take iff they have more tha seve studets registered Note: whe should such a costrait be imposed? cotext Module ivariat: take_by size > 7 Tomáš Čerý : Object cotrait laguage 42

43 CONSTRAINT (B) The assessmets for a module must total 00% cotext Module ivariat: set_work.weight sum( ) = 00 Tomáš Čerý : Object cotrait laguage 43

44 CONSTRAINT (C) Studets must register for 20 credits each year cotext Studet ivariat: takes.credit sum( ) = 20 Tomáš Čerý : Object cotrait laguage 44

45 CONSTRAINT (D) Studets must take at least 90 credits of CS modules each year cotext Studet ivariat: takes select(code.substrig(,2) = CS ).credit sum( ) >= 90 Tomáš Čerý : Object cotrait laguage 45

46 CONSTRAINT (E) All modules must have at least oe assessmet worth over 50% cotext Module ivariat: set_work exists(weight > 50) Tomáš Čerý : Object cotrait laguage 46

47 CONSTRAINT (F) Studets ca oly have assessmets for modules which they are takig cotext Studet ivariat: takes icludesall(submits.for_module) Tomáš Čerý : Object cotrait laguage 47

48 OCL CONSTRAINTS A costrait is a restrictio o oe or more values of (part of) a object model/system. Costraits come i differet forms: q q q q ivariat costrait o a class or type that must always hold pre-coditio costrait that must hold before the executio of a op. post-coditio costrait that must hold after the executio of a op. guard costrait o the trasitio from oe state to aother. We studied oly class costraits (ivariats). Tomáš Čerý : Object cotrait laguage 48

49 FURTHER RESOURCES FOR OCL The Object Costrait Laguage ISBN OCL home page Tomáš Čerý : Object cotrait laguage 49

50 FURTHER RESOURCES FOR OCL The Amsterdam Maifesto o OCL I Object Modelig with the OCL (LNCS2263) p5-49 The Object Costrait Laguage, Precise Modelig with UML, Addiso-Wesley, 999. The Object Costrait Laguage, Precise Modelig with UML 2d Respose to the UML 2.0 OCL RfP (ad/ ) Revised Submissio, Versio.6 Jauary 6, 2003 Some Shortcomigs of OCL, the Object Costrait Laguage of UML Madaa Vaziri ad Daiel Jackso,999 UML CENTER Iformal formality? The Object Costrait Laguage ad its applicatio i the UML metamodel Aeke Kleppe, Jos Warmer, Steve Cook A Pratical Applicatio of the Object Costrait Laguage OCL Kjetil Moage The UML's Object Costrait Laguage: OCL Specifyig Compoets, JAOO Tutorial September 2000 Jos Warmer & Aeke Kleppe Tomáš Čerý : Object cotrait laguage 50

Object Constraint Language OCL. Tomáš Černý : Object contraint language

Object Constraint Language OCL. Tomáš Černý : Object contraint language Object Constraint Language OCL Tomáš Černý : Object contraint language OCL Intro Flight type : enum of cargo, passenger flights Airplane type : enum of cargo, passenger {context Flight inv: type = #cargo

More information

Goals of the Lecture Object Constraint Language

Goals of the Lecture Object Constraint Language Goals of the Lecture Object Costrait Laguage Object-Orieted Aalysis ad Desig - Fall 1998 Preset the Object Costrait Laguage Ð As best as possible, with the limited iformatio available from UML i a Nutshell

More information

Formal Methods in Software Engineering 1

Formal Methods in Software Engineering 1 Today s Agenda Quiz 1 on next Tue. Quick Review Finish Program Proof Introduction to OCL Formal Methods in Software Engineering 1 Quick Review What is the difference between first-order logic and propositional

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

CS 11 C track: lecture 1

CS 11 C track: lecture 1 CS 11 C track: lecture 1 Prelimiaries Need a CMS cluster accout http://acctreq.cms.caltech.edu/cgi-bi/request.cgi Need to kow UNIX IMSS tutorial liked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material

More information

Topics. Instance object. Instance object. Fundamentals of OT. Object notation. How do objects collaborate? Pearson Education 2007 Appendix (RASD 3/e)

Topics. Instance object. Instance object. Fundamentals of OT. Object notation. How do objects collaborate? Pearson Education 2007 Appendix (RASD 3/e) Appedix (RASD 3/e) MACIASZEK, L.A. (2007): Requiremets Aalysis ad System Desig, 3 rd ed. Addiso Wesley, Harlow Eglad ISBN 978-0-321-44036-5 Appedix Fudametals of Object Techology Pearso Educatio Limited

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Lecture 9: Exam I Review

Lecture 9: Exam I Review CS 111 (Law): Program Desig I Lecture 9: Exam I Review Robert H. Sloa & Richard Warer Uiversity of Illiois, Chicago September 22, 2016 This Class Discuss midterm topics Go over practice examples Aswer

More information

OCL Object Constraint Language

OCL Object Constraint Language PA103 - Object-oriented Methods for Design of Information Systems OCL Object Constraint Language Radek Ošlejšek Fakulta informatiky MU oslejsek@fi.muni.cz Literature The Object Constraint Language (Second

More information

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria.

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria. Computer Sciece Foudatio Exam August, 005 Computer Sciece Sectio A No Calculators! Name: SSN: KEY Solutios ad Gradig Criteria Score: 50 I this sectio of the exam, there are four (4) problems. You must

More information

the beginning of the program in order for it to work correctly. Similarly, a Confirm

the beginning of the program in order for it to work correctly. Similarly, a Confirm I our sytax, a Assume statemet will be used to record what must be true at the begiig of the program i order for it to work correctly. Similarly, a Cofirm statemet is used to record what should be true

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

The number n of subintervals times the length h of subintervals gives length of interval (b-a).

The number n of subintervals times the length h of subintervals gives length of interval (b-a). Simulator with MadMath Kit: Riema Sums (Teacher s pages) I your kit: 1. GeoGebra file: Ready-to-use projector sized simulator: RiemaSumMM.ggb 2. RiemaSumMM.pdf (this file) ad RiemaSumMMEd.pdf (educator's

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 20 Itroductio to Trasactio Processig Cocepts ad Theory Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Trasactio Describes local

More information

Panel for Adobe Premiere Pro CC Partner Solution

Panel for Adobe Premiere Pro CC Partner Solution Pael for Adobe Premiere Pro CC Itegratio for more efficiecy The makes video editig simple, fast ad coveiet. The itegrated pael gives users immediate access to all medialoopster features iside Adobe Premiere

More information

MR-2010I %MktBSize Macro 989. %MktBSize Macro

MR-2010I %MktBSize Macro 989. %MktBSize Macro MR-2010I %MktBSize Macro 989 %MktBSize Macro The %MktBSize autocall macro suggests sizes for balaced icomplete block desigs (BIBDs). The sizes that it reports are sizes that meet ecessary but ot sufficiet

More information

Weston Anniversary Fund

Weston Anniversary Fund Westo Olie Applicatio Guide 2018 1 This guide is desiged to help charities applyig to the Westo to use our olie applicatio form. The Westo is ope to applicatios from 5th Jauary 2018 ad closes o 30th Jue

More information

Behavioral Modeling in Verilog

Behavioral Modeling in Verilog Behavioral Modelig i Verilog COE 202 Digital Logic Desig Dr. Muhamed Mudawar Kig Fahd Uiversity of Petroleum ad Mierals Presetatio Outlie Itroductio to Dataflow ad Behavioral Modelig Verilog Operators

More information

Classes and Objects. Again: Distance between points within the first quadrant. José Valente de Oliveira 4-1

Classes and Objects. Again: Distance between points within the first quadrant. José Valente de Oliveira 4-1 Classes ad Objects jvo@ualg.pt José Valete de Oliveira 4-1 Agai: Distace betwee poits withi the first quadrat Sample iput Sample output 1 1 3 4 2 jvo@ualg.pt José Valete de Oliveira 4-2 1 The simplest

More information

Linked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes

Linked Lists 11/16/18. Preliminaries. Java References. Objects and references. Self references. Linking self-referential nodes Prelimiaries Liked Lists public class StrageObject { Strig ame; StrageObject other; Arrays are ot always the optimal data structure: A array has fixed size eeds to be copied to expad its capacity Addig

More information

Ch 9.3 Geometric Sequences and Series Lessons

Ch 9.3 Geometric Sequences and Series Lessons Ch 9.3 Geometric Sequeces ad Series Lessos SKILLS OBJECTIVES Recogize a geometric sequece. Fid the geeral, th term of a geometric sequece. Evaluate a fiite geometric series. Evaluate a ifiite geometric

More information

top() Applications of Stacks

top() Applications of Stacks CS22 Algorithms ad Data Structures MW :00 am - 2: pm, MSEC 0 Istructor: Xiao Qi Lecture 6: Stacks ad Queues Aoucemets Quiz results Homework 2 is available Due o September 29 th, 2004 www.cs.mt.edu~xqicoursescs22

More information

What Is Object-Orientation?

What Is Object-Orientation? Iformatio Systems Cocepts What Is Object-Orietatio? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 4 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),

More information

Goals of this Lecture Activity Diagram Example

Goals of this Lecture Activity Diagram Example Goals of this Lecture Activity Diagram Example Object-Orieted Aalysis ad Desig - Fall 998 Preset a example activity diagram Ð Relate to requiremets, use cases, ad class diagrams Also, respod to a questio

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems

More information

implement language system

implement language system Outlie Priciples of programmig laguages Lecture 3 http://few.vu.l/~silvis/ppl/2007 Part I. Laguage systems Part II. Fuctioal programmig. First look at ML. Natalia Silvis-Cividjia e-mail: silvis@few.vu.l

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

Guide to Applying Online

Guide to Applying Online Guide to Applyig Olie Itroductio Respodig to requests for additioal iformatio Reportig: submittig your moitorig or ed of grat Pledges: submittig your Itroductio This guide is to help charities submit their

More information

CS 111: Program Design I Lecture # 7: First Loop, Web Crawler, Functions

CS 111: Program Design I Lecture # 7: First Loop, Web Crawler, Functions CS 111: Program Desig I Lecture # 7: First Loop, Web Crawler, Fuctios Robert H. Sloa & Richard Warer Uiversity of Illiois at Chicago September 18, 2018 What will this prit? x = 5 if x == 3: prit("hi!")

More information

CS 111: Program Design I Lecture 15: Objects, Pandas, Modules. Robert H. Sloan & Richard Warner University of Illinois at Chicago October 13, 2016

CS 111: Program Design I Lecture 15: Objects, Pandas, Modules. Robert H. Sloan & Richard Warner University of Illinois at Chicago October 13, 2016 CS 111: Program Desig I Lecture 15: Objects, Padas, Modules Robert H. Sloa & Richard Warer Uiversity of Illiois at Chicago October 13, 2016 OBJECTS AND DOT NOTATION Objects (Implicit i Chapter 2, Variables,

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

ENGR Spring Exam 1

ENGR Spring Exam 1 ENGR 300 Sprig 03 Exam INSTRUCTIONS: Duratio: 60 miutes Keep your eyes o your ow work! Keep your work covered at all times!. Each studet is resposible for followig directios. Read carefully.. MATLAB ad

More information

Module 8-7: Pascal s Triangle and the Binomial Theorem

Module 8-7: Pascal s Triangle and the Binomial Theorem Module 8-7: Pascal s Triagle ad the Biomial Theorem Gregory V. Bard April 5, 017 A Note about Notatio Just to recall, all of the followig mea the same thig: ( 7 7C 4 C4 7 7C4 5 4 ad they are (all proouced

More information

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence _9.qxd // : AM Page Chapter 9 Sequeces, Series, ad Probability 9. Sequeces ad Series What you should lear Use sequece otatio to write the terms of sequeces. Use factorial otatio. Use summatio otatio to

More information

Exercise 6 (Week 42) For the foreign students only.

Exercise 6 (Week 42) For the foreign students only. These are the last exercises of the course. Please, remember that to pass exercises, the sum of the poits gathered by solvig the questios ad attedig the exercise groups must be at least 4% ( poits) of

More information

! Given the following Structure: ! We can define a pointer to a structure. ! Now studentptr points to the s1 structure.

! Given the following Structure: ! We can define a pointer to a structure. ! Now studentptr points to the s1 structure. Liked Lists Uit 5 Sectios 11.9 & 18.1-2 CS 2308 Fall 2018 Jill Seama 11.9: Poiters to Structures! Give the followig Structure: struct Studet { strig ame; // Studet s ame it idnum; // Studet ID umber it

More information

EE University of Minnesota. Midterm Exam #1. Prof. Matthew O'Keefe TA: Eric Seppanen. Department of Electrical and Computer Engineering

EE University of Minnesota. Midterm Exam #1. Prof. Matthew O'Keefe TA: Eric Seppanen. Department of Electrical and Computer Engineering EE 4363 1 Uiversity of Miesota Midterm Exam #1 Prof. Matthew O'Keefe TA: Eric Seppae Departmet of Electrical ad Computer Egieerig Uiversity of Miesota Twi Cities Campus EE 4363 Itroductio to Microprocessors

More information

Architectural styles for software systems The client-server style

Architectural styles for software systems The client-server style Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS

More information

Constraints in Object-Oriented Analysis

Constraints in Object-Oriented Analysis Costraits i Object-Orieted Aalysis Stefa Va Baele *, Joha Lewi, Eric Steegmas ad Bart Swee Katholieke Uiversiteit Leuve, Departmet of Computer Sciece Celestijelaa 200A, B-3001 Leuve (Heverlee) - BELGIUM

More information

3. b. Present a combinatorial argument that for all positive integers n : : 2 n

3. b. Present a combinatorial argument that for all positive integers n : : 2 n . b. Preset a combiatorial argumet that for all positive itegers : : Cosider two distict sets A ad B each of size. Sice they are distict, the cardiality of A B is. The umber of ways of choosig a pair of

More information

MOTIF XF Extension Owner s Manual

MOTIF XF Extension Owner s Manual MOTIF XF Extesio Ower s Maual Table of Cotets About MOTIF XF Extesio...2 What Extesio ca do...2 Auto settig of Audio Driver... 2 Auto settigs of Remote Device... 2 Project templates with Iput/ Output Bus

More information

Solutions to Final COMS W4115 Programming Languages and Translators Monday, May 4, :10-5:25pm, 309 Havemeyer

Solutions to Final COMS W4115 Programming Languages and Translators Monday, May 4, :10-5:25pm, 309 Havemeyer Departmet of Computer ciece Columbia Uiversity olutios to Fial COM W45 Programmig Laguages ad Traslators Moday, May 4, 2009 4:0-5:25pm, 309 Havemeyer Closed book, o aids. Do questios 5. Each questio is

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1 COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,

More information

From last week. Lecture 5. Outline. Principles of programming languages

From last week. Lecture 5. Outline. Principles of programming languages Priciples of programmig laguages From last week Lecture 5 http://few.vu.l/~silvis/ppl/2007 Natalia Silvis-Cividjia e-mail: silvis@few.vu.l ML has o assigmet. Explai how to access a old bidig? Is & for

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

Java Expressions & Flow Control

Java Expressions & Flow Control Java Expressios & Flow Cotrol Rui Moreira Expressio Separators:. [ ] ( ), ; Dot used as decimal separator or to access attributes ad methods double d = 2.6; Poto poto = ew Poto(2, 3); it i = poto.x; it

More information

The Object Constraint Language (OCL)

The Object Constraint Language (OCL) The Object Constraint Language (OCL) Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Semantics and UML models UML models often treated as informal descriptions

More information

Abstract Data Types (ADTs) Stacks. The Stack ADT ( 4.2) Stack Interface in Java

Abstract Data Types (ADTs) Stacks. The Stack ADT ( 4.2) Stack Interface in Java Abstract Data Types (ADTs) tacks A abstract data type (ADT) is a abstractio of a data structure A ADT specifies: Data stored Operatios o the data Error coditios associated with operatios Example: ADT modelig

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0

Polynomial Functions and Models. Learning Objectives. Polynomials. P (x) = a n x n + a n 1 x n a 1 x + a 0, a n 0 Polyomial Fuctios ad Models 1 Learig Objectives 1. Idetify polyomial fuctios ad their degree 2. Graph polyomial fuctios usig trasformatios 3. Idetify the real zeros of a polyomial fuctio ad their multiplicity

More information

Chapter 2: Non-hierarchical Coloured Petri Nets. 1`(1,"COL")++ 1`(2,"OUR")++ 1`(3,"ED ")++ 1`(4,"PET")++ 1`(5,"RI ")++ 1`(6,"NET") (n,d) AllPackets

Chapter 2: Non-hierarchical Coloured Petri Nets. 1`(1,COL)++ 1`(2,OUR)++ 1`(3,ED )++ 1`(4,PET)++ 1`(5,RI )++ 1`(6,NET) (n,d) AllPackets Modellig ad Validatio of ocurret Systems hapter 2: No-hierarchical Kurt Jese & Lars Michael Kristese {jese,lmristese} @cs.au.d lls s To Sed Sed NextSed 6 `(,"OL")++ `(2,"OUR")++ `(3,"E ")++ `(4,"PET")++

More information

Avid Interplay Bundle

Avid Interplay Bundle Avid Iterplay Budle Versio 2.5 Cofigurator ReadMe Overview This documet provides a overview of Iterplay Budle v2.5 ad describes how to ru the Iterplay Budle cofiguratio tool. Iterplay Budle v2.5 refers

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

Customer Portal Quick Reference User Guide

Customer Portal Quick Reference User Guide Customer Portal Quick Referece User Guide Overview This user guide is iteded for FM Approvals customers usig the Approval Iformatio Maagemet (AIM) customer portal to track their active projects. AIM is

More information

CMPT 125 Assignment 2 Solutions

CMPT 125 Assignment 2 Solutions CMPT 25 Assigmet 2 Solutios Questio (20 marks total) a) Let s cosider a iteger array of size 0. (0 marks, each part is 2 marks) it a[0]; I. How would you assig a poiter, called pa, to store the address

More information

Sharing Collections. Share a Collection via . Share a Collection via Google Classroom. Quick Reference Guide

Sharing Collections. Share a Collection via  . Share a Collection via Google Classroom. Quick Reference Guide Quick Referece Guide Share a Collectio via Email Sharig your collectio with others is a great way to collaborate. You ca easily sed a lik to your colleagues, studets, classmates ad frieds. Recipiets do

More information

Announcements TREES II. Comparing Data Structures. Binary Search Trees. Red-Black Trees. Red-Black Trees 3/13/18

Announcements TREES II. Comparing Data Structures. Binary Search Trees. Red-Black Trees. Red-Black Trees 3/13/18 //8 Aoucemets Prelim is Toight, brig your studet ID :PM EXAM OLH: etids startig aa to dh OLH: etids startig di to ji PHL: etids startig jj to ks (Plus studets who switched from the 7: exam) TREES II Lecture

More information

Which movie we can suggest to Anne?

Which movie we can suggest to Anne? ECOLE CENTRALE SUPELEC MASTER DSBI DECISION MODELING TUTORIAL COLLABORATIVE FILTERING AS A MODEL OF GROUP DECISION-MAKING You kow that the low-tech way to get recommedatios for products, movies, or etertaiig

More information

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis

n Some thoughts on software development n The idea of a calculator n Using a grammar n Expression evaluation n Program organization n Analysis Overview Chapter 6 Writig a Program Bjare Stroustrup Some thoughts o software developmet The idea of a calculator Usig a grammar Expressio evaluatio Program orgaizatio www.stroustrup.com/programmig 3 Buildig

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 26 Ehaced Data Models: Itroductio to Active, Temporal, Spatial, Multimedia, ad Deductive Databases Copyright 2016 Ramez Elmasri ad Shamkat B.

More information

CSC165H1 Worksheet: Tutorial 8 Algorithm analysis (SOLUTIONS)

CSC165H1 Worksheet: Tutorial 8 Algorithm analysis (SOLUTIONS) CSC165H1, Witer 018 Learig Objectives By the ed of this worksheet, you will: Aalyse the ruig time of fuctios cotaiig ested loops. 1. Nested loop variatios. Each of the followig fuctios takes as iput a

More information

Location Steps and Paths

Location Steps and Paths Locatio Steps ad Paths 3 INTHIS CHAPTER Uderstadig Locatio Steps ad Paths How do locatio paths work? We took a look at locatio paths i the overview i Chapter 1, where we saw that locatio paths look much

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

BOOLEAN MATHEMATICS: GENERAL THEORY

BOOLEAN MATHEMATICS: GENERAL THEORY CHAPTER 3 BOOLEAN MATHEMATICS: GENERAL THEORY 3.1 ISOMORPHIC PROPERTIES The ame Boolea Arithmetic was chose because it was discovered that literal Boolea Algebra could have a isomorphic umerical aspect.

More information

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013 Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 22 Database Recovery Techiques Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Recovery algorithms Recovery cocepts Write-ahead

More information

Recursion. Recursion. Mathematical induction: example. Recursion. The sum of the first n odd numbers is n 2 : Informal proof: Principle:

Recursion. Recursion. Mathematical induction: example. Recursion. The sum of the first n odd numbers is n 2 : Informal proof: Principle: Recursio Recursio Jordi Cortadella Departmet of Computer Sciece Priciple: Reduce a complex problem ito a simpler istace of the same problem Recursio Itroductio to Programmig Dept. CS, UPC 2 Mathematical

More information

The isoperimetric problem on the hypercube

The isoperimetric problem on the hypercube The isoperimetric problem o the hypercube Prepared by: Steve Butler November 2, 2005 1 The isoperimetric problem We will cosider the -dimesioal hypercube Q Recall that the hypercube Q is a graph whose

More information

Lecture 1: Introduction and Strassen s Algorithm

Lecture 1: Introduction and Strassen s Algorithm 5-750: Graduate Algorithms Jauary 7, 08 Lecture : Itroductio ad Strasse s Algorithm Lecturer: Gary Miller Scribe: Robert Parker Itroductio Machie models I this class, we will primarily use the Radom Access

More information

5.3 Recursive definitions and structural induction

5.3 Recursive definitions and structural induction /8/05 5.3 Recursive defiitios ad structural iductio CSE03 Discrete Computatioal Structures Lecture 6 A recursively defied picture Recursive defiitios e sequece of powers of is give by a = for =0,,, Ca

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

Administrative UNSUPERVISED LEARNING. Unsupervised learning. Supervised learning 11/25/13. Final project. No office hours today

Administrative UNSUPERVISED LEARNING. Unsupervised learning. Supervised learning 11/25/13. Final project. No office hours today Admiistrative Fial project No office hours today UNSUPERVISED LEARNING David Kauchak CS 451 Fall 2013 Supervised learig Usupervised learig label label 1 label 3 model/ predictor label 4 label 5 Supervised

More information

TRANSACTION MANAGEMENT [CH 16]

TRANSACTION MANAGEMENT [CH 16] Sprig 2017 TRANSACTION MANAGEMENT [CH 16] 4/25/17 CS 564: Database Maagemet Systems; (c) Jigesh M. Patel, 2013 1 Trasactio Maagemet Read (A); Check (A > $25); Pay ($25); A = A 25; Write (A); Yes You Read

More information

Chapter 6. I/O Streams as an Introduction to Objects and Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 6. I/O Streams as an Introduction to Objects and Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 6 I/O Streams as a Itroductio to Objects ad Classes Overview 6.1 Streams ad Basic File I/O 6.2 Tools for Stream I/O 6.3 Character I/O Slide 6-3 6.1 Streams ad Basic File I/O I/O Streams I/O refers

More information

Examples and Applications of Binary Search

Examples and Applications of Binary Search Toy Gog ITEE Uiersity of Queeslad I the secod lecture last week we studied the biary search algorithm that soles the problem of determiig if a particular alue appears i a sorted list of iteger or ot. We

More information

What are Information Systems?

What are Information Systems? Iformatio Systems Cocepts What are Iformatio Systems? Roma Kotchakov Birkbeck, Uiversity of Lodo Based o Chapter 1 of Beett, McRobb ad Farmer: Object Orieted Systems Aalysis ad Desig Usig UML, (4th Editio),

More information

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. Projects

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. Projects Politecico di Milao Advaced Network Techologies Laboratory Iteret of Thigs Projects 2016-2017 Politecico di Milao Advaced Network Techologies Laboratory Geeral Rules Geeral Rules o Gradig 26/30 are assiged

More information

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1

CS200: Hash Tables. Prichard Ch CS200 - Hash Tables 1 CS200: Hash Tables Prichard Ch. 13.2 CS200 - Hash Tables 1 Table Implemetatios: average cases Search Add Remove Sorted array-based Usorted array-based Balaced Search Trees O(log ) O() O() O() O(1) O()

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Inductive Definition to Recursive Function

Inductive Definition to Recursive Function PDS: CS 11002 Computer Sc & Egg: IIT Kharagpur 1 Iductive Defiitio to Recursive Fuctio PDS: CS 11002 Computer Sc & Egg: IIT Kharagpur 2 Factorial Fuctio Cosider the followig recursive defiitio of the factorial

More information

Abstract. Chapter 4 Computation. Overview 8/13/18. Bjarne Stroustrup Note:

Abstract. Chapter 4 Computation. Overview 8/13/18. Bjarne Stroustrup   Note: Chapter 4 Computatio Bjare Stroustrup www.stroustrup.com/programmig Abstract Today, I ll preset the basics of computatio. I particular, we ll discuss expressios, how to iterate over a series of values

More information

Chapter 2. C++ Basics. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 2. C++ Basics. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 2 C++ Basics Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 2.1 Variables ad Assigmets 2.2 Iput ad Output 2.3 Data Types ad Expressios 2.4 Simple Flow of Cotrol 2.5 Program

More information

Exercise Set: Implementing an Object-Oriented Design

Exercise Set: Implementing an Object-Oriented Design Exercise Set: Implemetig a Object-Orieted Desig I this exercise set, we have marked questios we thik are harder tha others with a [ ]. We have also marked questios for which solutios are provided at the

More information

CS 111: Program Design I Lecture 15: Modules, Pandas again. Robert H. Sloan & Richard Warner University of Illinois at Chicago March 8, 2018

CS 111: Program Design I Lecture 15: Modules, Pandas again. Robert H. Sloan & Richard Warner University of Illinois at Chicago March 8, 2018 CS 111: Program Desig I Lecture 15: Modules, Padas agai Robert H. Sloa & Richard Warer Uiversity of Illiois at Chicago March 8, 2018 PYTHON STANDARD LIBRARY & BEYOND: MODULES Extedig Pytho Every moder

More information

COMP Parallel Computing. PRAM (1): The PRAM model and complexity measures

COMP Parallel Computing. PRAM (1): The PRAM model and complexity measures COMP 633 - Parallel Computig Lecture 2 August 24, 2017 : The PRAM model ad complexity measures 1 First class summary This course is about parallel computig to achieve high-er performace o idividual problems

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Graphs ORD SFO LAX DFW. Lecture notes adapted from Goodrich and Tomassia. 3/14/18 10:28 AM Graphs 1

Graphs ORD SFO LAX DFW. Lecture notes adapted from Goodrich and Tomassia. 3/14/18 10:28 AM Graphs 1 Graphs 337 1843 1743 1233 802 Lecture otes adapted from Goodrich ad Tomassia 3/14/18 10:28 AM Graphs 1 Graph A graph is a pair (V, E), where V is a set of odes, called vertices E is a collectio of pairs

More information

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen

COP4020 Programming Languages. Functional Programming Prof. Robert van Engelen COP4020 Programmig Laguages Fuctioal Programmig Prof. Robert va Egele Overview What is fuctioal programmig? Historical origis of fuctioal programmig Fuctioal programmig today Cocepts of fuctioal programmig

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

Package RcppRoll. December 22, 2014

Package RcppRoll. December 22, 2014 Type Package Package RcppRoll December 22, 2014 Title Fast rollig fuctios through Rcpp ad RcppArmadillo Versio 0.1.0 Date 2013-01-10 Author Kevi Ushey Maitaier Kevi Ushey RcppRoll

More information

1. The lines intersect. There is one solution, the point where they intersect. The system is called a consistent system.

1. The lines intersect. There is one solution, the point where they intersect. The system is called a consistent system. Commo Core Math 3 Notes Uit Day Systems I. Systems of Liear Equatios A system of two liear equatios i two variables is two equatios cosidered together. To solve a system is to fid all the ordered pairs

More information

Lecture 28: Data Link Layer

Lecture 28: Data Link Layer Automatic Repeat Request (ARQ) 2. Go ack N ARQ Although the Stop ad Wait ARQ is very simple, you ca easily show that it has very the low efficiecy. The low efficiecy comes from the fact that the trasmittig

More information