VIRTUAL CLASSES and their Implementation. Ole Lehrmann Madsen Aarhus University Alexandra Institute A/S Mj lner Informatics A/S

Size: px
Start display at page:

Download "VIRTUAL CLASSES and their Implementation. Ole Lehrmann Madsen Aarhus University Alexandra Institute A/S Mj lner Informatics A/S"

Transcription

1 VIRTUAL CLASSES ad their Implemetatio Ole Lehrma Madse Aarhs Uiversity Alexadra Istitte A/S Mj ler Iformatics A/S

2 Cotets 1. Itrodctio & backgrod 2. Uificatio of abstractio mechaisms 3. Virtal patters 4. Typig isses 5. Implemetatio isses 6. Smmary ETAPS 2001 ' Ole Lehrma Madse 2

3 Origis of BETA Based o the Scadiavia approach to object-orietatio Sccessor to Simla The Mj ler System Developmet eviromet for BETA Beta was origially developed by: Bet Br Kristese Ole Lehrma Madse Birger M ller-pederse Kriste Nygaard Importat cotribtors to BETA ad the Mj ler System J rge Lidskov Kdse, Elmer Sadvad, Peter Aderse ad may more ETAPS 2001 ' Ole Lehrma Madse 3

4 Desig goals for BETA Oe lagage for desig ad implemetatio Good modelig lagage Efficiet programmig lagage Simple ad geeral Scheme, Smalltalk, Self Statically typed As mch as possible Good spport for strctrig ad abstractio Uified paradigm Neither pre OO or mlti-paradigm ETAPS 2001 ' Ole Lehrma Madse 4

5 Abstractio i BETA Coceptal framework The coceptal meas for orgaizig ad derstadig pheomea ad cocepts Idepedet of formal lagages Shold be richer tha the formal lagages BETA patter Uificatio of class, procedre, type, exceptio,... Towards the ltimate abstractio mechaism Cocepts represeted as patters Pheomea represeted as objects ETAPS 2001 ' Ole Lehrma Madse 5

6 Beefits of object-orietatio Uifyig perspective o major elemets of software developmet aalysis, desig, implemetatio data bases, object distribtio Good spport for modelig programs reflect reality i a atral way Good spport for extesibility & rese class, sbclass, virtal,... frameworks, biary compoets, desig-, architectral patters,... ETAPS 2001 ' Ole Lehrma Madse 6

7 2. Uificatio of abstractio mechaisms Abstractio mechaism: Class : A patter for creatig istaces A patter for creatig objects Procedre: A patter for creatig evet-seqeces Fctio, iterface, process type, geeric class, exceptio type, Patters for creatig varios kids of istaces ETAPS 2001 ' Ole Lehrma Madse 7

8 The patter I BETA, class, procedre, ad other abstractio mechaisms have bee ified ito The Patter Uiform treatmet of all abstractio mechaisms: F Procedre, class,... Class-iheritace, procedre-iheritace,... Virtal procedre, virtal class, Nested procedre, ested class, Procedre variable, class variable,... ETAPS 2001 ' Ole Lehrma Madse 8

9 Procedre activatios & objects class Set: {... proc isert(e: ref object): { ix: obj iteger do ; e R[ix]; ; }; R: array of object }; proc mai(): { Joe: ref Perso; S: ref Set; do ew Perso Joe; ew Set S; S.isert(Joe); } Mai DYN: Joe: S: Isert DYN: OBJ: e: ix: 0 Perso... Set R: ETAPS 2001 ' Ole Lehrma Madse 9

10 Nested classes & procedres class Set: {... class Elemet: { elm: ref object; ext: ref Elemet; } proc isert(e: ref object): { proc ewelm(e: ): { } do }; }; Isert DYN: OBJ:... ewelm DYN: STAT:... Set... Elemet STAT:... OBJ: STAT: object-referece for procedre activatio eclosig object for object or activatio ETAPS 2001 ' Ole Lehrma Madse 10

11 Objects ad procedre activatios Object: Data-items:... Static lik: eclosig object/procedre Procedre-activatio: Data-items: Parameters Local variables Static lik: eclosig object/procedre Dyamic lik: caller ETAPS 2001 ' Ole Lehrma Madse 11

12 Procedre call M: ref R.isert ew R.isert(Joe) M; M.execte Mai DYN: Joe: S: M: Isert DYN: OBJ: e: ix: 0 Set... Perso... ETAPS 2001 ' Ole Lehrma Madse 12

13 Patter: class & procedre Perso: { }; Set: { isert(e: ref object): { do }; }; mai(): { Joe: ref Perso; S: ref Set; do ew Perso Joe ; ew Set S ; S.isert(Joe); } Static lik: if estig Dyamic lik: if do-part Parameters Data-items Object layot STAT: DYN: parameters data-items ETAPS 2001 ' Ole Lehrma Madse 13

14 Uiform abstractio mechaisms patter class fctio iterface procedre exceptio process The Patter The ltimate abstractio mechaism A geeralizatio/ificatio of class, procedre,fctio, exceptio, iterface, process, geeric class,... ETAPS 2001 ' Ole Lehrma Madse 14

15 Beefits of the ificatio class procedre exceptio process... Patter Sbpatter Virtal patter Patter variable Nested patter ETAPS 2001 ' Ole Lehrma Madse 15

16 Examples of ew possibilities Sbpatter : classificatio of actios - iheritace for procedres sig ier Virtal patter: OO geericity Patter variable: procedres & classes as first class vales; higher order procedres & classes Nested patter: ehaced modelig capability; object with several iterfaces ETAPS 2001 ' Ole Lehrma Madse 16

17 Sbclass: classificatio of objects Record: { Key: ref Idetificatio }; Book: Record { Athor: ref Perso; Title: ref Text }; Perso: Record { Name: ref Text; Sex: ref SexType }; Employee: Perso { Salary: obj Iteger; Positio: ref PositioType }; Stdet: Perso { Stats: ref StatsType }; Book Record Perso Employee Stdet ETAPS 2001 ' Ole Lehrma Madse 17

18 Actio seqece geeralizatio L: obj Set; M: obj Semaphore; Pt(e: obj iteger): { do M.wait; L.pt(e); M.sigal }; iteger Get(): { do M.wait; L.get() e; M.sigal retr e } Pt: M.wait L.pt(e) M.sigal Get: M.wait L.get() e M.sigal Geeralized evet seqece: M.wait * M.sigal ETAPS 2001 ' Ole Lehrma Madse 18

19 Procedre specializatio Bffer: moitor { L: obj Set; pt(e: obj iteger): etry { do L.pt(e) };... }; B: obj Bffer B.pt(123) Moitor: { M: obj semaphore; etry: { do M.wait; INNER; M.sigal };... }; M.wait INNER M.sigal L.pt(e) ETAPS 2001 ' Ole Lehrma Madse 19

20 Iheritace characterizatio P. Weger, S. Zdoik: Relatio betwee a sbclass ad its sperclass Name compatible Sigatre compatible Strctrally compatible BETA Behaviorally compatible ETAPS 2001 ' Ole Lehrma Madse 20

21 3. Virtal patter Virtal procedre Virtal class Virtal class: A lagage costrct for defiig geeric classes Alterative to: Parameterized class F F Template class i C++ Geeric class i Eiffel ETAPS 2001 ' Ole Lehrma Madse 21

22 Set of objects class Set: { proc isert(e: ref object): { do top+1 top; E R[top] :< describes that }; display is a proc display:< {}; virtal procedre R: array[100] ref object; } top: obj iteger ETAPS 2001 ' Ole Lehrma Madse 22

23 Virtal procedre bidig ::< class StdetSet: Set virtal procedre { display()::< bidig of display { crret: ref Object do (for i: top repeat R[i] crret; (Stdet)crret.prit() for) }; Cast to Stdet } ETAPS 2001 ' Ole Lehrma Madse 23

24 Geeric class Set :< describes that elemet is a virtal class class Set: { class elemet:< object; proc isert(e: ref elemet): {...}; proc display():< {}; } R: array[100] ref elemet; top: obj iteger ETAPS 2001 ' Ole Lehrma Madse 24

25 StdetSet: sbclass of Set class StdetSet: Set { elemet::< Stdet; display()::< { crret: ref elemet do (for i: top repeat R[i] crret; crret.prit() for) }; } ::< bidig of elemet to Stdet ::< virtal procedre bidig of display crret is of type elemet No cast: crret: Stdet has a prit operatio ETAPS 2001 ' Ole Lehrma Madse 25

26 Frther specializatio class CSstdetSet: StdetSet { elemet::< CSstdet; } object Stdet Set CSstdet StdetSet CSstdetSet ETAPS 2001 ' Ole Lehrma Madse 26

27 Local virtal class patter Graph: { Node:< { coected: obj boolea }; Lik:< { sorce,dest: ref Node }; Coect(S,D: ref Node ):< {L: ref Lik do ew Lik L; S L.sorce; D L.dest; tre S.coected D.coected; ier } } ETAPS 2001 ' Ole Lehrma Madse 27

28 Local virtal class patter bidigs DisplayableGraph: Graph { Node::< { dispsymb: ref DisplaySymbol }; Lik::< { displie: ref DisplayLie }; Coect(DL: ref DisplayLie)::< { do DL L.dispLie; INNER }; Display:< {... } } ETAPS 2001 ' Ole Lehrma Madse 28

29 Extedig virtal class patters DistaceGraph: Graph { Node::< { ame: ref text }; Lik::< { distace: obj iteger }; Coect(dist: obj iteger)::< { do dist L.distace; INNER }; } Graph::Node DistaceGraph::Node DisplayableGraph::Node ETAPS 2001 ' Ole Lehrma Madse 29

30 Virtal class verss parameterized class Ca both express the same basic elemets Virtal class: A simple extesio to OO lagages Aalogos to virtal procedre Class = type A geeric class is a real class StdetSet is a sbclass of Set Covariace + fial bidigs Mtally recrsive classes ETAPS 2001 ' Ole Lehrma Madse 30

31 Smmary of virtal patters A: { V:< Q; W:< P{... }; }; AA: A { V::< QQ; W::< {... } }; AAA: AA { V:: QQQ W:: {... }; } Virtal declaratios Frther bidigs Fial bidigs ETAPS 2001 ' Ole Lehrma Madse 31

32 Virtal procedre & class patters A: { V:< Q; W:< P{... }; do V(e1,e2,e3) x; W(e1,e2,e3) x; }; A: { V:< Q; W:< P{... }; S: ref V; R: ref W do ew V S; ew W R }; Virtal procedre patter: Istaces are created ad exected Virtal class patter: Istaces are created ad assiged to variables ETAPS 2001 ' Ole Lehrma Madse 32

33 4. Typig isses Covariace Reverse assigmet Static typig ETAPS 2001 ' Ole Lehrma Madse 33

34 Covariace Poit: { ThisClass:< Poit; x,y: obj iteger; Emlatio of thisclass sig virtal patter } eqal(p: ref ThisClass):< { eq: obj boolea do (x = p.x) ad (y = p.y) eq; } ier; retr eq ETAPS 2001 ' Ole Lehrma Madse 34

35 ColorPoit ColorPoit: Poit { ThisClass::< ColorPoit; c: obj Color; Frther bidig of thisclass } eqal::< { do (eq ad (c = p.c)) eq; ier } ETAPS 2001 ' Ole Lehrma Madse 35

36 Type cases Usig sbtype sbstittable variables (dyamic refereces) p1,p2: ref Poit; c1,c2: ref ColorPoit; ew Poit p1; ew ColorPoit c1; ew Poit p2; ew ColorPoit c2 1. p2.eqal(p1) OK r time 2. c2.eqal(c1) OK r time 3. p1.eqal(c1) OK r time 4. c1.eqal(p1) NON OK r time ETAPS 2001 ' Ole Lehrma Madse 36

37 Reverse assigmet p1: ref Poit; c1: ref ColorPoit; e: ref c1.eqal c1 p1 OK - compile time p1 c1 OK? - r time - reverse assigmet c1.eqal(p1) ew c1.eqal e; p1 e.p; e(); Poit: { ThisClass:< Poit; } eqal(p: ref ThisClass):< { do... };... retr eq ETAPS 2001 ' Ole Lehrma Madse 37

38 Desirable properties At most 2 possible: 1. Sbtype sbstittability 2. Covariace 3. Static type checkig 4. Class = type sbclass = sbtype 5. Mtable state 6. Message sed 7. Modlar type checkig ETAPS 2001 ' Ole Lehrma Madse 38

39 Cases for static typig Type gards Exact types Fial bidigs No ivocatio of virtal procedre with virtal argmets Nested virtal class patters class families ETAPS 2001 ' Ole Lehrma Madse 39

40 Frther work o virtal classes Erik Erst Kreste Krab Thorp Mads Torgerse A. Igarashi Bejami Pierce David Shag Kim Brce Marti Odersky Philip Wadler Ad others Virtal types i Java Uifyig geericity GBETA... a geeralizatio of BETA Alteratives to virtal classes Mathematical fodatio Block strctre ECOOP OOPSLA FOOL ETAPS 2001 ' Ole Lehrma Madse 40

41 5. Implemetatio isses R-time orgaizatio Allocatio of objects Virtal patters Sematic aalysis ETAPS 2001 ' Ole Lehrma Madse 41

42 Allocatio of objects Procedre activatios are first-class objects A referece ca be obtaied to a procedreactivatio Reqires heap-allocatio - i geeral Room for optimizatio Stack allocatio of procedre activatios ETAPS 2001 ' Ole Lehrma Madse 42

43 Virtal class implemetatio A virtal patter is istatiated throgh a virtal dispatch table Object X: Virtal Dispatch Table Code/templates f1:... f2:... f3:... ETAPS 2001 ' Ole Lehrma Madse 43

44 The problem: virtal procedre bidig Declaratio: proc V():<... Bidig 1: V ()::<... Bidig 2: V ()::<... Virtal procedre applicatio: V(); Dyamic bidig: the actal istace of V geerated at r-time Static bidig: the bidig of V kow o compile-time; The static bidig is eeded for type checkig of parameters ETAPS 2001 ' Ole Lehrma Madse 44

45 The problem: virtal class bidig Declaratio: class V:<... Bidig 1: V ::<... Bidig 2: V ::<... Variable declaratio: X: ref V Use of istace of virtal class: X.f() Dyamic bidig: the actal istace of V geerated at r-time Static bidig: the bidig of V kow at compile-time; For X this is the type of X Static bidig is eeded for type checkig ETAPS 2001 ' Ole Lehrma Madse 45

46 Partial problems i sematic aalysis Easy: Nested procedres o virtals Nested classes o virtals Virtal procedre bidig o estig Easy: Virtal class bidig o estig Virtal procedre bidig with estig Hard: Virtal class bidig with estig ETAPS 2001 ' Ole Lehrma Madse 46

47 Simple virtal class bidig StdetSet: PersoSet: SetWithMark: Set: elm::< Stdet elm::< Perso last: ref elm elm:< object Dyamic bidig Static bidig object Mai: S: ref PersoSet; ew StdetSet S S.last.prit() Type of last? Perso: prit(): Stdet ETAPS 2001 ' Ole Lehrma Madse 47

48 Geeral example PersoSet: elm::< Perso SetWithPort: Set: elm:< object PortWithViewer: Port: last: ref elm Viewer: ShowLast: ;last.prit(); ETAPS 2001 ' Ole Lehrma Madse 48

49 6. Smmary Simple ad geeral lagage Based o a rich coceptal framework For modelig ad implemetatio The patter is a powerfl abstractio mechaism Virtal patters A simple geeralizatio of virtal procedres Powerfl meas for defiig geeric classes Geeral estig of patters Patters as first class vales Classless objects Cocrrecy Uified paradigm ETAPS 2001 ' Ole Lehrma Madse 49

50 The Mj ler System A idstrial stadard matre eviromet for developmet of BETA programs For a example of a large applicatio developed i BETA, see the demo of CPN/Tools: A Tool for Editig ad Simlatig Colored Petri Nets M. Beadoi-Lafo, W. Mackay, M. Jese, P. Aderse, P. Jaecek, M. Lasse, K. Ld, K. Mortese, S. Mck, A. Ratzer, K. Rav, S. Christese, K. Jese (Aarhs Uiversity) Thrsday 5/ ETAPS 2001 ' Ole Lehrma Madse 50

51 Cotact address Ole Lehrma Madse Compter Sciece Departmet Aarhs Uiversity Aabogade 34, DK-8200 Aarhs N DENMARK olmadse@daimi.a.dk Get a free Mj ler System sales@mjoler.com ETAPS 2001 ' Ole Lehrma Madse 51

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

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

More information

Compiling and executing managed code

Compiling and executing managed code Compilig ad exectig maaged code Sorce Code Compilatio Lagage Compiler Microsoft Itermediate Lagage (MSIL) The first time each method is called Native Code Exectio JIT Compiler Commo Lagage Rtime C# .NET

More information

Goals of the Lecture UML Implementation Diagrams

Goals of the Lecture UML Implementation Diagrams Goals of the Lecture UML Implemetatio Diagrams Object-Orieted Aalysis ad Desig - Fall 1998 Preset UML Diagrams useful for implemetatio Provide examples Next Lecture Ð A variety of topics o mappig from

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

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

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

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

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

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Algorithms and Data Structures Uiversity of Waterloo Departmet of Electrical ad Computer Egieerig ECE 250 Algorithms ad Data Structures Midterm Examiatio ( pages) Istructor: Douglas Harder February 7, 2004 7:30-9:00 Name (last, first)

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

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio

More information

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

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

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

What does JFC stand for?

What does JFC stand for? IS4300 HCI No-Quiz What does JFC stad for?! Java Fudametal Classes! Java Foudatio Creator! Java Fried Chicke! Java Foudatio Classes! Java Framework Creator 1 No-Quiz What is pluggable look ad feel?! Swig

More information

COP4020 Programming Languages. Names, Scopes, and Bindings Prof. Robert van Engelen

COP4020 Programming Languages. Names, Scopes, and Bindings Prof. Robert van Engelen COP4020 Programmig Laguages Names, Scopes, ad Bidigs Prof. Robert va Egele Overview Abstractios ad ames Bidig time Object lifetime Object storage maagemet Static allocatio Stack allocatio Heap allocatio

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

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

n We have discussed classes in previous lectures n Here, we discuss design of classes n Library design considerations

n We have discussed classes in previous lectures n Here, we discuss design of classes n Library design considerations Chapter 14 Graph class desig Bjare Stroustrup Abstract We have discussed classes i previous lectures Here, we discuss desig of classes Library desig cosideratios Class hierarchies (object-orieted programmig)

More information

n Haskell n Syntax n Lazy evaluation n Static typing and type inference n Algebraic data types n Pattern matching n Type classes

n Haskell n Syntax n Lazy evaluation n Static typing and type inference n Algebraic data types n Pattern matching n Type classes Aoucemets Quiz 7 HW 9 is due o Friday Raibow grades HW 1-6 plus 8. Please, read our commets o 8! Exam 1-2 Quiz 1-6 Ay questios/cocers, let us kow ASAP Last Class Haskell Sytax Lazy evaluatio Static typig

More information

3D Model Retrieval Method Based on Sample Prediction

3D Model Retrieval Method Based on Sample Prediction 20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer

More information

Elementary Data Structures. The Stack ADT ( 2.1.1) Applications of Stacks. Stacks, Queues, Vectors, Lists & Sequences Trees

Elementary Data Structures. The Stack ADT ( 2.1.1) Applications of Stacks. Stacks, Queues, Vectors, Lists & Sequences Trees Elemetary Data Structures Stacks, Queues, ectors, Lists & Sequeces Trees The Stack ADT ( 2..) The Stack ADT stores arbitrary objects Isertios ad deletios follow the last-i first-out scheme Thik of a sprig-loaded

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

COP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen

COP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen COP4020 mig Laguages Compilers ad Iterpreters Prof. Robert va Egele Overview Commo compiler ad iterpreter cofiguratios Virtual machies Itegrated developmet eviromets Compiler phases Lexical aalysis Sytax

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

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems

More information

Hash Tables. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015.

Hash Tables. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015. Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 2015 Hash Tables xkcd. http://xkcd.com/221/. Radom Number. Used with permissio uder Creative

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

CMSC Computer Architecture Lecture 2: ISA. Prof. Yanjing Li Department of Computer Science University of Chicago

CMSC Computer Architecture Lecture 2: ISA. Prof. Yanjing Li Department of Computer Science University of Chicago CMSC 22200 Computer Architecture Lecture 2: ISA Prof. Yajig Li Departmet of Computer Sciece Uiversity of Chicago Admiistrative Stuff Lab1 out toight Due Thursday (10/18) Lab1 review sessio Tomorrow, 10/05,

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

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Service Oriented Enterprise Architecture and Service Oriented Enterprise Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE

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

n Haskell n Covered syntax, lazy evaluation, static typing n Algebraic data types and pattern matching n Type classes n Monads and more n Types

n Haskell n Covered syntax, lazy evaluation, static typing n Algebraic data types and pattern matching n Type classes n Monads and more n Types Aoucemets Exam 2 is graded, but I will eed some time to go over it I ll release grades this eveig (figers crossed!) Raibow grades: HW1-6, Exam 1-2, Quiz 1-5 Will post aswer key Still gradig: Quiz 6, HW7

More information

CSE 417: Algorithms and Computational Complexity

CSE 417: Algorithms and Computational Complexity Time CSE 47: Algorithms ad Computatioal Readig assigmet Read Chapter of The ALGORITHM Desig Maual Aalysis & Sortig Autum 00 Paul Beame aalysis Problem size Worst-case complexity: max # steps algorithm

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

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

Today s objectives. CSE401: Introduction to Compiler Construction. What is a compiler? Administrative Details. Why study compilers?

Today s objectives. CSE401: Introduction to Compiler Construction. What is a compiler? Administrative Details. Why study compilers? CSE401: Itroductio to Compiler Costructio Larry Ruzzo Sprig 2004 Today s objectives Admiistrative details Defie compilers ad why we study them Defie the high-level structure of compilers Associate specific

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality

More information

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

Heaps. Presentation for use with the textbook Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015 Presetatio for use with the textbook Algorithm Desig ad Applicatios, by M. T. Goodrich ad R. Tamassia, Wiley, 201 Heaps 201 Goodrich ad Tamassia xkcd. http://xkcd.com/83/. Tree. Used with permissio uder

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

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann Proceedigs of the 2000 Witer Simulatio Coferece J. A. Joies, R. R. Barto, K. Kag, ad P. A. Fishwick, eds. VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION Thomas Wiedema Techical

More information

Solving Fuzzy Assignment Problem Using Fourier Elimination Method

Solving Fuzzy Assignment Problem Using Fourier Elimination Method Global Joural of Pure ad Applied Mathematics. ISSN 0973-768 Volume 3, Number 2 (207), pp. 453-462 Research Idia Publicatios http://www.ripublicatio.com Solvig Fuzzy Assigmet Problem Usig Fourier Elimiatio

More information

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis Extedig The Sleuth Kit ad its Uderlyig Model for Pooled File System Foresic Aalysis Frauhofer Istitute for Commuicatio, Iformatio Processig ad Ergoomics Ja-Niclas Hilgert* Marti Lambertz Daiel Plohma ja-iclas.hilgert@fkie.frauhofer.de

More information

Lecture 5. Counting Sort / Radix Sort

Lecture 5. Counting Sort / Radix Sort Lecture 5. Coutig Sort / Radix Sort T. H. Corme, C. E. Leiserso ad R. L. Rivest Itroductio to Algorithms, 3rd Editio, MIT Press, 2009 Sugkyukwa Uiversity Hyuseug Choo choo@skku.edu Copyright 2000-2018

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

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

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 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

HW/SW Synthesis. Outline

HW/SW Synthesis. Outline HW/SW Sythesis Otlie Sythesis CFSM Optimizatio Software sythesis problem task sythesis performace aalysis task schedlig compilatio 1 POLIS Methodology Graphical EFSM+ Esterel Java... EC Compilers Sw Sythesis

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

Assignment Problems with fuzzy costs using Ones Assignment Method

Assignment Problems with fuzzy costs using Ones Assignment Method IOSR Joural of Mathematics (IOSR-JM) e-issn: 8-8, p-issn: 9-6. Volume, Issue Ver. V (Sep. - Oct.06), PP 8-89 www.iosrjourals.org Assigmet Problems with fuzzy costs usig Oes Assigmet Method S.Vimala, S.Krisha

More information

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET WYSE Academic Challege Sectioal Computer Sciece 2005 SOLUTION SET 1. Correct aswer: a. Hz = cycle / secod. CPI = 2, therefore, CPI*I = 2 * 28 X 10 8 istructios = 56 X 10 8 cycles. The clock rate is 56

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

1 Enterprise Modeler

1 Enterprise Modeler 1 Eterprise Modeler Itroductio I BaaERP, a Busiess Cotrol Model ad a Eterprise Structure Model for multi-site cofiguratios are itroduced. Eterprise Structure Model Busiess Cotrol Models Busiess Fuctio

More information

Introduction. The Caché postrelational DBMS

Introduction. The Caché postrelational DBMS THE PUBLISHING AND RESEARCH ACTIVITY DOCUMENT MANAGEMENT SYSTEM Tăăsescu Aa Petroleum ad Gas Uiversity of Ploieşti, ataasescuro@yahoo.com Pătraşcu Aurelia Petroleum ad Gas Uiversity of Ploieşti, patrascuaura@yahoo.com

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

Accuracy Improvement in Camera Calibration

Accuracy Improvement in Camera Calibration Accuracy Improvemet i Camera Calibratio FaJie L Qi Zag ad Reihard Klette CITR, Computer Sciece Departmet The Uiversity of Aucklad Tamaki Campus, Aucklad, New Zealad fli006, qza001@ec.aucklad.ac.z r.klette@aucklad.ac.z

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 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

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

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

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

ISSN (Print) Research Article. *Corresponding author Nengfa Hu

ISSN (Print) Research Article. *Corresponding author Nengfa Hu Scholars Joural of Egieerig ad Techology (SJET) Sch. J. Eg. Tech., 2016; 4(5):249-253 Scholars Academic ad Scietific Publisher (A Iteratioal Publisher for Academic ad Scietific Resources) www.saspublisher.com

More information

Chapter 3 DB-Gateways

Chapter 3 DB-Gateways Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 3 DB-Gateways Outlie Couplig DBMS ad programmig laguages approaches requiremets

More information

Modeling a Software Architecture. Paolo Ciancarini

Modeling a Software Architecture. Paolo Ciancarini Modelig a Software Architecture Paolo Ciacarii Ageda Describig software architectures Architectural frameworks Models based o architectural laguages Models based o UML Mai architectural views 2 Why documet

More information

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs

What are we going to learn? CSC Data Structures Analysis of Algorithms. Overview. Algorithm, and Inputs What are we goig to lear? CSC316-003 Data Structures Aalysis of Algorithms Computer Sciece North Carolia State Uiversity Need to say that some algorithms are better tha others Criteria for evaluatio Structure

More information

BEA Tuxedo. Creating CORBA Server Applications

BEA Tuxedo. Creating CORBA Server Applications BEA Tuxedo Creatig CORBA Server Applicatios BEA Tuxedo Release 8.0 Documet Editio 8.0 Jue 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio

More information

Combinatorial Modeling Techniques in Conjoint Simulation

Combinatorial Modeling Techniques in Conjoint Simulation Combiatorial Modelig Techiques i Cojoit Simulatio Axel Hei ad Wolfgag Hohl Istitute for Computer Sciece III (IMMD III) Uiversity of Erlage-Nürberg Martesstr. 3 D - 91058 Erlage, Germay e-mail: alhei@immd3.iformatik.ui-erlage.de

More information

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA Creatig Exact Bezier Represetatios of CST Shapes David D. Marshall Califoria Polytechic State Uiversity, Sa Luis Obispo, CA 93407-035, USA The paper presets a method of expressig CST shapes pioeered by

More information

Bluespec-3: Modules & Interfaces. Bluespec: State and Rules organized into modules

Bluespec-3: Modules & Interfaces. Bluespec: State and Rules organized into modules Bluespec-3: Modules & Iterfaces Arvid Computer Sciece & Artificial Itelligece Lab Massachusetts Istitute of Techology Based o material prepared by Bluespec Ic, Jauary 2005 February 28, 2005 L09-1 Bluespec:

More information

Last Class. Announcements. Lecture Outline. Types. Structural Equivalence. Type Equivalence. Read: Scott, Chapters 7 and 8. T2 y; x = y; n Types

Last Class. Announcements. Lecture Outline. Types. Structural Equivalence. Type Equivalence. Read: Scott, Chapters 7 and 8. T2 y; x = y; n Types Aoucemets HW9 due today HW10 comig up, will post after class Team assigmet Data abstractio (types) ad cotrol abstractio (parameter passig) Due o Tuesday, November 27 th Last Class Types Type systems Type

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

Shape Analysis and Applications 1

Shape Analysis and Applications 1 12 Shape Aalysis ad Applicatios 1 Thomas Reps 2 Computer Scieces Departmet, Uiversity of Wiscosi-Madiso, WI reps@cs.wisc.edu Mooly Sagiv Departmet of Computer Sciece, School of Mathematics ad Sciece, Tel

More information

CS 111: Program Design I Lecture 20: Web crawling, HTML, Copyright

CS 111: Program Design I Lecture 20: Web crawling, HTML, Copyright CS 111: Program Desig I Lecture 20: Web crawlig, HTML, Copyright Robert H. Sloa & Richard Warer Uiversity of Illiois at Chicago November 8, 2016 WEB CRAWLER AGAIN Two bits of useful Pytho sytax Do't eed

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

arxiv: v2 [cs.ds] 24 Mar 2018

arxiv: v2 [cs.ds] 24 Mar 2018 Similar Elemets ad Metric Labelig o Complete Graphs arxiv:1803.08037v [cs.ds] 4 Mar 018 Pedro F. Felzeszwalb Brow Uiversity Providece, RI, USA pff@brow.edu March 8, 018 We cosider a problem that ivolves

More information

Neuro Fuzzy Model for Human Face Expression Recognition

Neuro Fuzzy Model for Human Face Expression Recognition IOSR Joural of Computer Egieerig (IOSRJCE) ISSN : 2278-0661 Volume 1, Issue 2 (May-Jue 2012), PP 01-06 Neuro Fuzzy Model for Huma Face Expressio Recogitio Mr. Mayur S. Burage 1, Prof. S. V. Dhopte 2 1

More information

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion

Last class. n Scheme. n Equality testing. n eq? vs. equal? n Higher-order functions. n map, foldr, foldl. n Tail recursion Aoucemets HW6 due today HW7 is out A team assigmet Submitty page will be up toight Fuctioal correctess: 75%, Commets : 25% Last class Equality testig eq? vs. equal? Higher-order fuctios map, foldr, foldl

More information

Optimization for framework design of new product introduction management system Ma Ying, Wu Hongcui

Optimization for framework design of new product introduction management system Ma Ying, Wu Hongcui 2d Iteratioal Coferece o Electrical, Computer Egieerig ad Electroics (ICECEE 2015) Optimizatio for framework desig of ew product itroductio maagemet system Ma Yig, Wu Hogcui Tiaji Electroic Iformatio Vocatioal

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

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

New Fuzzy Color Clustering Algorithm Based on hsl Similarity

New Fuzzy Color Clustering Algorithm Based on hsl Similarity IFSA-EUSFLAT 009 New Fuzzy Color Clusterig Algorithm Based o hsl Similarity Vasile Ptracu Departmet of Iformatics Techology Tarom Compay Bucharest Romaia Email: patrascu.v@gmail.com Abstract I this paper

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

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

n The C++ template facility provides the ability to define n A generic facility allows code to be written once then

n The C++ template facility provides the ability to define n A generic facility allows code to be written once then UCLA PIC 10 B Problem Solvig usig C++ Programmig Ivo Diov, Asst. Prof. i Mathematics, Neurology, Statistics Istructor: Teachig Assistat: Suzae Nezzar, Mathematics Chapter 13 Templates for More Abstractio

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

New Vistas in High- Level Synthesis: Working with the Heap. George A. Constan>nides (joint work with Winterstein) August 2016

New Vistas in High- Level Synthesis: Working with the Heap. George A. Constan>nides (joint work with Winterstein) August 2016 New Vistas i High- Level Sythesis: Workig with the Heap George A. Costa>ides (joit work with Witerstei) Agst 2016 1 HLS for the Heap Smmary Smmary HLS tools map code to hardware bt reqire maal sorce code

More information

Graphic Standards for District Identification. September, 2012

Graphic Standards for District Identification. September, 2012 Graphic Stadards for District Idetificatio September, 2012 CASE Graphic Stadards for District Idetificatio DRAFT 12.8.14 Coucil for Advacemet ad Support of Educatio, 2012. 1 . This documet is a draft of

More information

Overview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup

Overview. Chapter 18 Vectors and Arrays. Reminder. vector. Bjarne Stroustrup Chapter 18 Vectors ad Arrays Bjare Stroustrup Vector revisited How are they implemeted? Poiters ad free store Destructors Iitializatio Copy ad move Arrays Array ad poiter problems Chagig size Templates

More information

Anti-addiction System Development Based on Android Smartphone. Xiafu Pan

Anti-addiction System Development Based on Android Smartphone. Xiafu Pan 3rd Iteratioal Coferece o Materials Egieerig, Maufacturig Techology ad Cotrol (ICMEMTC 2016) Ati-addictio System Developmet Based o Adroid Smartphoe Xiafu Pa Haia Vocatioal College of Political Sciece

More information

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL Automatic Geeratio of Polyomial-Basis Multipliers i GF (2 ) usig Recursive VHDL J. Nelso, G. Lai, A. Teca Abstract Multiplicatio i GF (2 ) is very commoly used i the fields of cryptography ad error correctig

More information

COP4020 Programming Languages. Subroutines and Parameter Passing Prof. Robert van Engelen

COP4020 Programming Languages. Subroutines and Parameter Passing Prof. Robert van Engelen COP4020 Programmig Laguages Subrouties ad Parameter Passig Prof. Robert va Egele Overview Parameter passig modes Subroutie closures as parameters Special-purpose parameters Fuctio returs COP4020 Fall 2016

More information

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem A Improved Shuffled Frog-Leapig Algorithm for Kapsack Problem Zhoufag Li, Ya Zhou, ad Peg Cheg School of Iformatio Sciece ad Egieerig Hea Uiversity of Techology ZhegZhou, Chia lzhf1978@126.com Abstract.

More information

Separation Logic for High-Level Synthesis. Felix Winterstein 20 March 2015

Separation Logic for High-Level Synthesis. Felix Winterstein 20 March 2015 Separatio Logic for High-Level Sythesis Felix Witerstei 20 March 2015 f.witerstei12@imperial.ac.k 1 Exective smmary Exective smmary C-to-FPGA tools reqire maal sorce code refactorig to map poiter-maiplatig

More information

Object-Oriented Programming n

Object-Oriented Programming n Object-Orieted Programmig Object-Orieted Programmig = Abstract Data Tpes package represetatio of data structure together with operatios o the data structure ecapsulate iteral implemetatio details + Iheritace

More information

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency Volume 3, Issue 9, September 2013 ISSN: 2277 128X Iteratioal Joural of Advaced Research i Computer Sciece ad Software Egieerig Research Paper Available olie at: www.ijarcsse.com Couplig Evaluator to Ehace

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

IMP: Superposer Integrated Morphometrics Package Superposition Tool

IMP: Superposer Integrated Morphometrics Package Superposition Tool IMP: Superposer Itegrated Morphometrics Package Superpositio Tool Programmig by: David Lieber ( 03) Caisius College 200 Mai St. Buffalo, NY 4208 Cocept by: H. David Sheets, Dept. of Physics, Caisius College

More information

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem

Exact Minimum Lower Bound Algorithm for Traveling Salesman Problem Exact Miimum Lower Boud Algorithm for Travelig Salesma Problem Mohamed Eleiche GeoTiba Systems mohamed.eleiche@gmail.com Abstract The miimum-travel-cost algorithm is a dyamic programmig algorithm to compute

More information

INTERSECTION CORDIAL LABELING OF GRAPHS

INTERSECTION CORDIAL LABELING OF GRAPHS INTERSECTION CORDIAL LABELING OF GRAPHS G Meea, K Nagaraja Departmet of Mathematics, PSR Egieerig College, Sivakasi- 66 4, Virudhuagar(Dist) Tamil Nadu, INDIA meeag9@yahoocoi Departmet of Mathematics,

More information