Chapter 4 Remote Procedure Calls and Distributed Transactions
|
|
- Sarah Morgan
- 6 years ago
- Views:
Transcription
1 Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/ Chapter 4 Remote Procedure Calls ad Distributed Trasactios
2 Outlie Remote Procedure Call cocepts IDL, priciples, bidig variatios remote method ivocatio example: Java RMI stored procedures Distributed Trasactio Processig trasactioal RPC X/Ope DTP Summary Prof.Dr.-Ig. Stefa Deßloch 2 Middleware for Heterogeeous ad Distributed Iformatio Systems
3 Commuicatio ad Distributed Processig Distributed (Iformatio) System cosists of (possibly autoomous) subsystems joitly workig i a coordiated maer How do subsystems commuicate? Remote Procedure Calls (RPC) trasparetly ivoke procedures located o other machies Peer-To-Peer-Messagig Message Queuig Trasactioal Support (ACID properties) for distributed processig Server/system compoets are Resource Maagers (Trasactioal) Remote Procedure Calls (TRPC) Distributed Trasactio Processig Prof.Dr.-Ig. Stefa Deßloch 3 Middleware for Heterogeeous ad Distributed Iformatio Systems
4 Remote Procedure Call (RPC) Goal: Simple programmig model for distributed applicatios based o procedure as a ivocatio mechaism for distributed compoets Core mechaism i almost every form of middleware Distributed programs ca iteract (trasparetly) i heterogeeous eviromets etwork protocols programmig laguages operatig systems hardware platforms Importat cocepts Iterface Defiitio Laguage (IDL) IDL Compiler Proxy (Cliet Stub) Skeleto (Server Stub) Iterface Defiitio Laguage (IDL) Header files Proxy Skeleto Prof.Dr.-Ig. Stefa Deßloch 4 Middleware for Heterogeeous ad Distributed Iformatio Systems
5 How RPC Works Defie a iterface for the remote procedure usig a IDL abstract represetatio of procedure iput ad output parameters ca be idepedet of programmig laguages Compile the iterface usig IDL-compiler, resultig i cliet stub (proxy) server stub (skeleto) auxiliary files (header files, ) Cliet stub (proxy) compiled ad liked with cliet program cliet program ivokes remote procedure by ivokig the (local) cliet stub implemets everythig to iteract with the server remotely Server stub (skeleto) implemets the server portio of the ivocatio compiled ad liked with server code calls the actual procedure implemeted at the server Prof.Dr.-Ig. Stefa Deßloch 5 Middleware for Heterogeeous ad Distributed Iformatio Systems
6 RPC Cliet Server Applicatio Proxy RPC rutime RPC rutime Skeleto Applicatio Call order PACK ARGUMENT SEND CALL RECEIVE UNPACK PACKET ARGUMENT order (1) Cliet calls the local proxy (2) Cliet proxy marshals (packs) argumets to order (3) Cliet rutime system seds the call packet (argumets ad procedure ame) (4) Server rutime receives the message ad calls the right stub (5) Server stub upacks the argumets ad calls the server program (6) The order program rus as if it were called locally. Results flow back to the caller by reversig the procedure. WORK (cotiue) UNPACK RESULT RECEIVE RETURN PACKET SEND PACK RETURN Prof.Dr.-Ig. Stefa Deßloch 6 Middleware for Heterogeeous ad Distributed Iformatio Systems
7 Bidig i RPC Before performig RPC, the cliet must first locate ad bid to the server create/obtai a (eviromet-specific) hadle to the server ecapsulates iformatio such as IP address, port umber, Etheret address, Static bidig hadle is "hard-coded" ito the cliet stub at compile-time advatages: simple ad efficiet disadvatages: cliet ad server are tightly coupled server locatio chage requires recompilatio dyamic load balacig across multiple (redudat) servers is ot possible Dyamic bidig utilizes a ame ad directory service based o logical ames, sigatures of procedures server registers available procedure with the N&D server cliet asks for server hadle, uses it to perform RPC requires lookup protocol/api may be performed iside the cliet stub (automatic bidig) or outside opportuities for load balacig, more sophisticated selectio (traders) Locatio trasparecy usually meas that a remote procedure is ivoked just like a local procedure Bidig process for remote ad local procedures usually differ Prof.Dr.-Ig. Stefa Deßloch 7 Middleware for Heterogeeous ad Distributed Iformatio Systems
8 RPC Variatio 1: Distributed Objects Basic Idea: Evolve RPC cocept for objects applicatio cosists of distributed object compoets object services are ivoked usig Remote Method Ivocatio (RMI) Utilizes/matches advatages of object-orieted computig object idetity ecapsulatio: object maipulated oly through methods iheritace, polymorphism iterface vs. implemetatio reusability Prof.Dr.-Ig. Stefa Deßloch 8 Middleware for Heterogeeous ad Distributed Iformatio Systems
9 Distributed Objects with Java RMI Mechaism for commuicatio betwee Java programs betwee Java programs ad applets ruig i differet JVMs, possibly o differet odes Capabilities fidig remote objects trasparet commuicatio with remote objects loadig byte code for remote objects Cliet RMI RMI Directory Service RMI Server Prof.Dr.-Ig. Stefa Deßloch 9 Middleware for Heterogeeous ad Distributed Iformatio Systems
10 Java RMI Developmet Java is used as the IDL ad developmet programmig laguage Developmet steps 1. Defiig a remote iterface (e.g., Order ) methods capable of throwig RemoteExceptios 2. Implemetig server object class (e.g., OrderImpl, which implemets Order ) oly applicatio logic; commuicatio ifrastructure ot "visible" 3. Implemet cliet object, ivocatio of remote (server) object locate the remote object usig the RMI registry ivoke methods o remote object usig the remote iterface hadle RemoteExceptios 4. Provide server code for creatig a server object (istatiate server object class) exportig ad registerig the server object with the RMI registry Prof.Dr.-Ig. Stefa Deßloch 10 Middleware for Heterogeeous ad Distributed Iformatio Systems
11 Example - Class ad Iterface Relatioships 'marker' iterface Remote class providig remote server object 'ifrastructure' exteds UicastRemoteObject stub variable declaratio Order implemets export object OrderCliet call via stub OrderImpl create OrderServer cliet server Prof.Dr.-Ig. Stefa Deßloch 11 Middleware for Heterogeeous ad Distributed Iformatio Systems
12 Java RMI Deploymet ad Rutime Deploymet geerate stub usig Java compiler ivoke server code for creatig ad registerig the server object Rutime ru the cliet applicatio issuig a server object lookup i the cliet applicatio will result i trasferrig a cliet stub object (implemetig the remote iterface) to the cliet applicatio stub class eeds to be loaded ito JVM o the cliet, either through local class path or dyamically over the etwork ivokig methods o the remote iterface will be carried out usig stubs/skeletos as discussed earlier Iterface Defiitio Laguage (Java) Java Compiler Stub/Proxy Prof.Dr.-Ig. Stefa Deßloch 12 Middleware for Heterogeeous ad Distributed Iformatio Systems
13 RPC Variatio 2: Stored Procedures Named persistet code to be ivoked i SQL, executed by the DBMS SQL CALL statemet Created directly i a DB schema Stored Procedure creatio requires header (sigature): cosists of a ame ad a (possibly empty) list of parameters. may specify parameter mode: IN, OUT, INOUT may retur result sets body (implemetatio): usig SQL procedural extesios or exteral programmig laguage (e.g., Java) Ivocatio of stored procedures usig CALL statemet through the usual DB access approaches (e.g., JDBC see CallableStatemet ) locatio-trasparecy is provided, but RPC itself is ot trasparet! geeric ivocatio mechaism, o stubs/skeletos ivolved) i the scope of a existig DB coectio, active trasactio Prof.Dr.-Ig. Stefa Deßloch 13 Middleware for Heterogeeous ad Distributed Iformatio Systems
14 RPCs ad Trasactios cliet Example sceario for T: debit/credit T ivokes debit procedure (ST1), modifyig DB1 T performs credit operatio o DBS2, modifyig DB2 Need trasactioal guaratees for T Program structure of T BOT CALL debit( ) CONNECT (DB2) UPDATE ACCOUNTS SET DISCONNECT EOT Requires coordiatio of distributed trasactio based o 2PC distributed TA ST1 DBS1 DB1 P T DBS2 DB2 presetatio applicatio logic resource maagemet Prof.Dr.-Ig. Stefa Deßloch 14 Middleware for Heterogeeous ad Distributed Iformatio Systems
15 Trasactioal RPC (TRPC) RPCs are issued i the cotext of a trasactio demarcatio (BOT, EOT) usually happes o the cliet TRPC-Stub like RPC-Stub additioal resposibilities for TA-orieted commuicatio TRPC requires the followig additioal steps bidig of RPC to trasactios usig TRID otifyig TA-Mgr about RM-Calls if performed through RPC (register participat of TA) bidig processes to trasactios: failures (crashes) resultig i process termiatio should be commuicated to the TA-Mgr Prof.Dr.-Ig. Stefa Deßloch 15 Middleware for Heterogeeous ad Distributed Iformatio Systems
16 X/OPEN Stadard for Distributed TA Processig Resource Maager recoverable supports exteral coordiatio of TAs usig 2PC protocol (XA-compliat) TA-Mgr coordiates, cotrols RMs Applicatio Program demarcates TA (TA-brackets) Applicatio ivokes RM services (AP) e.g., SQL-statemets i distributed eviromet: performs (T)RPCs TX-Iterface Trasactioal Cotext TRID geerated by TA-Mgr at BEGIN established at the cliet passed alog (trasitively) with RM-requests, RPCs begi commit/rollback request local eviromet register TA-Mgr (TM) prepare commit/rollback XA- Iterface Resource-Mgr (RM) Prof.Dr.-Ig. Stefa Deßloch 16 Middleware for Heterogeeous ad Distributed Iformatio Systems
17 Iteractios i a Local Eviromet 1. AP -> TM: begi establishes trasactio cotext, global id (TRID) for ToC 1. TM -> RM static registratio TM otifies frequetly used RMs about the ew global trasactio, RM ca associate future AP requests from ToC with the TRID 2. AP -> RM: request the RM 1. first dyamically registers with the TM to joi the global trasactio for ToC (uless RM uses static registratio), the 2. processes the AP request 3. AP -> TM: commit, rollback TM will iteract with RMs to complete the trasactio usig the 2PC protocol (prepare, commit/rollback) Thread of Cotrol (ToC) etity, with all its cotext (resources, etc.) that is i cotrol of the processor (e.g., a OS-thread) is associated with at most oe TRID at a time (but a global TA ca have multiple ToCs). A AP request is implicitly associated with a TRID through the curret ToC. Prof.Dr.-Ig. Stefa Deßloch 17 Middleware for Heterogeeous ad Distributed Iformatio Systems
18 X/OPEN DTP Distributed Eviromet "superior" "subordiate" begi commit/rollback TA-Mgr (TM) 2PC maage outgoig maage icomig TA-Mgr (TM) 2PC maage TA associatio Applicatio (AP) TRPC Comm.-Mgr (CM) Comm.-Mgr (CM) TRPC Server AP register register request request Resource-Mgr (RM) Resource-Mgr (RM) Commuicatio Maager (CM) provides trasactioal RPC support works with TMs o both sides to help maage global trasactios Remote TM assumes role of subordiate TM hierarchical 2PC processig Prof.Dr.-Ig. Stefa Deßloch 18 Middleware for Heterogeeous ad Distributed Iformatio Systems
19 Iteractios i a Distributed Eviromet Applicatio issues a (trasactioal) RPC (TRPC) 1. local CM iteracts with local TM to maage the outgoig TA TM otes TRID as extedig to the remote system TM otes local CM to be icluded i commit processig (2PC) local TM becomes the "superior" TA-Maager (later iitiates 2PC) 2. local CM commuicates RPC ad trasactioal cotext to remote CM 3. remote CM iteracts with remote TM to maage the icomig TA CM establishes TRID with remote TM, which becomes the "subordiate" for this TRID CM asks TM to associate TRID with ToC i which (remote) server applicatio will ru TM performs static registratio with remote RMs for TRID CM (server stub) ivokes server AP 4. server AP may issue (remote) RM requests (might cause dyamic RM registratio as usual) Applicatio issues a commit (or rollback) 1. superior TM drives hierarchical 2PC processig, ivolvig local CM just like RMs 2. local CM relays prepare/commit/rollback calls to remote CM, which i tur relays them to subordiate (remote) TM 3. subordiate TM coordiates with remote RMs for each phase Prof.Dr.-Ig. Stefa Deßloch 19 Middleware for Heterogeeous ad Distributed Iformatio Systems
20 Summary Remote Procedure Call importat core cocept for distributed IS RPC model is based o iterface defiitios usig IDL cliet stub (proxy), server stub (skeleto) for trasparet ivocatio of remote procedure bidig mechaism RPC Variatios Remote Method Ivocatio supported i object-based middleware (e.g., CORBA, Eterprise Java) Stored Procedures Trasactio support for RPCs distributed trasactio processig guaratees atomicity of global TA trasactioal RPC X/Ope DTP as foudatio for stadardized DTP variatios/ehacemets appear i object-based middleware (CORBA OTS, Java JTA/JTS) Prof.Dr.-Ig. Stefa Deßloch 20 Middleware for Heterogeeous ad Distributed Iformatio Systems
21 Appedix JAVA RMI EXAMPLE Prof.Dr.-Ig. Stefa Deßloch 21 Middleware for Heterogeeous ad Distributed Iformatio Systems
22 Example Sceario: Pizza-Service Pizza id: OID ame: Strig price: float getprice setprice pizzas * * Order id: OID orderdate: Date deliverydate: Date create additem deliver cacel totalprice Item id: OID cout: it create delete * * 1 orderitems * igrediets orders * 1 Igrediet id: OID ame: Strig stock: it * * Customer id: OID ame: Strig create delete curretorder totalallorders 1 address 1 Address id: OID zip: it city: Strig street: Strig address 1 1 Supplier id: OID ame: Strig Prof.Dr.-Ig. Stefa Deßloch 22 Middleware for Heterogeeous ad Distributed Iformatio Systems
23 Example Remote Service Iterface import java.rmi.*; import java.util.date; public iterface Order exteds Remote { public void additem(it pizzaid, it umber) throws RemoteExceptio; public Date getdeliverydate() throws RemoteExceptio; public Date setdeliverydate (Date ewdate) throws RemoteExceptio; } Prof.Dr.-Ig. Stefa Deßloch 23 Middleware for Heterogeeous ad Distributed Iformatio Systems
24 Example Server Class Implemetatio import java.rmi.*; import java.rmi.registry.locateregistry import java.rmi.registry.registry import java.rmi.server.uicastremoteobject; import java.util.*; public class OrderImpl implemets Order { private Vector fitems; private Date fdeliverydate; public OrderImpl(Strig ame) throws RemoteExceptio { 'export' Order object for acceptig requests register with ame server Prof.Dr.-Ig. Stefa Deßloch super(); try { Order stub = (Order) UicastRemoteObject.exportObject(this, 0); Registry Namig = LocateRegistry.getRegistry(); Namig.rebid(ame, stub); fitems = ew Vector(); fdeliverydate = ull; } catch (Exceptio e) { System.err.pritl( Output: + e.getmessage()); e.pritstacktrace(); } } 24 Middleware for Heterogeeous ad Distributed Iformatio Systems
25 Example Server Class (cotiued)... public void additem(it pizzaid, it umber ) throws RemoteExceptio { // assumig class Item is kow Item item = ew Item(pizzaId, umber); fitems.addelemet(item); }... // Impl. of other methods } Prof.Dr.-Ig. Stefa Deßloch 25 Middleware for Heterogeeous ad Distributed Iformatio Systems
26 Example Server... remote object import java.rmi.*; ame (later used import java.server.*; i cliet lookup) public class OrderServer { public static void mai(strig args[]) { try { OrderImpl order = ew OrderImpl( my_order ); System.out.pritl( Order server is ruig ); } catch (Exceptio e) { System.err.pritl( Exceptio: + e.getmessage()); e.pritstacktrace(); } } } Prof.Dr.-Ig. Stefa Deßloch 26 Middleware for Heterogeeous ad Distributed Iformatio Systems
27 Example Cliet Program... import java.rmi.*; public class OrderCliet { public static void Mai(Strig args[]) { try { returs a istace of the stub class (geerated from the remote Order iterface) Registry Namig = Locate Registry.getRegistry(args[0]); Order order = (Order) Namig.lookup("my_order"); it pizzaid = Iteger.parseIt(args[0]); it umber = Iteger.parseIt(args[1]); order.additem(pizzaid, umber); } catch (Exceptio e) { System.err.pritl( system error: + e); } } } Prof.Dr.-Ig. Stefa Deßloch 27 Middleware for Heterogeeous ad Distributed Iformatio Systems
28 Example Compile, Geerate Stub, Ru Compile will also geerate stubs: javac Order.java OrderImpl.java OrderCliet.java OrderServer.java Admiistrative steps: Start directory server: rmiregistry Start RMI-Servers: java OrderServer Ru cliets: java OrderCliet Prof.Dr.-Ig. Stefa Deßloch 28 Middleware for Heterogeeous ad Distributed Iformatio Systems
Chapter 4 Remote Procedure Calls and Distributed Transactions
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationCommunication and Distributed Processing
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationOutline. Chapter 4 Remote Procedure Calls and Distributed Transactions. Remote Procedure Call. Distributed Transaction Processing.
Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 4 Remote Procedure Calls and Distributed Transactions Outline
More informationChapter 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 informationChapter 11 Web-based Information Systems
Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 11 Web-based Iformatio Systems TP Applicatio Architecture Frot-ed program
More informationChapter 2 Distributed Information Systems Architecture
Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 2 Distributed Iformatio Systems Architecture Chapter Outlie (Distributed)
More informationChapter 5 Application Server Middleware
Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 5 Applicatio Server Middleware Outlie Trasactio processig applicatio
More informationArchitectural 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Τεχνολογία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr
More informationGoals 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 informationChapter 8 Web Services Foundations
Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 8 Web Services Foudatios Outlie Service-orieted computig Motivatio &
More informationOutline n Introduction n Background o Distributed DBMS Architecture
Outlie Itroductio Backgroud o Distributed DBMS Architecture Datalogical Architecture Implemetatio Alteratives Compoet Architecture o Distributed DBMS Architecture o Distributed Desig o Sematic Data Cotrol
More informationTopics. 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 informationBEA 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 informationBEA Tuxedo. Creating CORBA Client Applications
BEA Tuxedo Creatig CORBA Cliet Applicatios BEA Tuxedo 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 informationBEA WebLogic Server. Programming WebLogic Enterprise JavaBeans
BEA WebLogic Server Programmig WebLogic Eterprise JavaBeas WebLogic Server 6.0 Documet Date March 3, 2001 Copyright Copyright 2001 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software
More informationn Explore virtualization concepts n Become familiar with cloud concepts
Chapter Objectives Explore virtualizatio cocepts Become familiar with cloud cocepts Chapter #15: Architecture ad Desig 2 Hypervisor Virtualizatio ad cloud services are becomig commo eterprise tools to
More informationClasses 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 informationExceptions. Your computer takes exception. The Exception Class. Causes of Exceptions
Your computer takes exceptio s s are errors i the logic of a program (ru-time errors). Examples: i thread mai java.io.filenotfoud: studet.txt (The system caot fid the file specified.) i thread mai java.lag.nullpoiter:
More informationBEA Tuxedo. Introducing the BEA Tuxedo System
BEA Tuxedo Itroducig the BEA Tuxedo System BEA Tuxedo Release 7.1 Documet Editio 7.1 May 2000 Copyright Copyright 2000 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software ad documetatio
More informationElementary 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 informationCMSC 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 informationJava Inheritance. Class ADT (Abstract Data Type) Interface. Classes implement the concept of ADT: Interfaces define interaction contracts: Rui Moreira
Java Iheritace Rui Moreira Class ADT (Abstract Data Type) Classes implemet the cocept of ADT: Provide a coheret represetatio for the declaratio of structured data types ad also the code for maipulatig
More informationTask 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 informationJava net programming II
Java et programmig II https://docs.oracle.com/javase/tutorial/etworkig/sockets/ Overview The problem Basic backgroud: TCP/IP, ports, Cliet/Server, sockets Commuicatio with sockets java.et (overview) Simple
More informationChapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings
Operatig Systems: Iterals ad Desig Priciples Chapter 4 Threads Nith Editio By William Stalligs Processes ad Threads Resource Owership Process icludes a virtual address space to hold the process image The
More informationService 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 informationVISUALSLX 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 informationBaan 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 informationThreads and Concurrency in Java: Part 1
Cocurrecy Threads ad Cocurrecy i Java: Part 1 What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationTowards Efficient Selection of Web Services
Towards Efficiet Selectio of Web Services Amir Padovitz School of Computer Sciece & Software Egieerig, Moash Uiversity Padovitz@bigpodcom Shoali Krishaswamy School of Computer Sciece & Software Egieerig,
More informationThreads and Concurrency in Java: Part 1
Threads ad Cocurrecy i Java: Part 1 1 Cocurrecy What every computer egieer eeds to kow about cocurrecy: Cocurrecy is to utraied programmers as matches are to small childre. It is all too easy to get bured.
More informationChapter 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 informationSession Initiated Protocol (SIP) and Message-based Load Balancing (MBLB)
F5 White Paper Sessio Iitiated Protocol (SIP) ad Message-based Load Balacig (MBLB) The ability to provide ew ad creative methods of commuicatios has esured a SIP presece i almost every orgaizatio. The
More informationChapter 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 informationPython 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 informationLinked 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 informationChapter 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 informationOutline. CSCI 4730 Operating Systems. Questions. What is an Operating System? Computer System Layers. Computer System Layers
Outlie CSCI 4730 s! What is a s?!! System Compoet Architecture s Overview Questios What is a?! What are the major operatig system compoets?! What are basic computer system orgaizatios?! How do you commuicate
More informationPython 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 informationCOP4020 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 informationModeling 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 informationSchema for the DCE Security Registry Server
Schema for the Security egistry Server Versio Date: 0/20/00 For questios or commets cocerig this documet, sed a email ote to dce-ldap@opegroup.org or call Doa Skibbie at 52 838-3896. . Itroductio...3 2.
More informationBasic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.
5-23 The course that gives CM its Zip Memory Maagemet II: Dyamic Storage Allocatio Mar 6, 2000 Topics Segregated lists Buddy system Garbage collectio Mark ad Sweep Copyig eferece coutig Basic allocator
More informationAppendix 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 informationSecurity of Bluetooth: An overview of Bluetooth Security
Versio 2 Security of Bluetooth: A overview of Bluetooth Security Marjaaa Träskbäck Departmet of Electrical ad Commuicatios Egieerig mtraskba@cc.hut.fi 52655H ABSTRACT The purpose of this paper is to give
More informationSystem 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 informationBEA WebLogic Collaborate
BEA WebLogic Collaborate A Compoet of BEA WebLogic Itegratio Itroducig BEA WebLogic Collaborate BEA WebLogic Collaborate Release 2.0 Documet Editio 2.0 July 2001 001 ServiceNow, Ic.'s Exhibit 1004 Copyright
More information10/23/18. File class in Java. Scanner reminder. Files. Opening a file for reading. Scanner reminder. File Input and Output
File class i Java File Iput ad Output TOPICS File Iput Exceptio Hadlig File Output Programmers refer to iput/output as "I/O". The File class represets files as objects. The class is defied i the java.io
More informationSoftware development of components for complex signal analysis on the example of adaptive recursive estimation methods.
Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig
More informationWorkflow Management Systems
CS565 - Busiess Process & Workflow Maagemet Systems Workflow Maagemet Systems 1 Workflow Maagemet Systems Workflow maagemet is the automated coordiatio, cotrol ad commuicatio of work, both of people ad
More informationRecursion. Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Review: Method Frames
Uit 4, Part 3 Recursio Computer Sciece S-111 Harvard Uiversity David G. Sulliva, Ph.D. Review: Method Frames Whe you make a method call, the Java rutime sets aside a block of memory kow as the frame of
More informationAvid 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 informationGoals 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 informationCode 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 informationBEA Tuxedo. Using the CORBA Notification Service
BEA Tuxedo Usig the CORBA Notificatio Service BEA Tuxedo 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 informationCOSC 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 information1-2-3G Wireless. About NTT DoCoMo. Talk Outline. 4G Wireless (2010 ~ 2012) 4G is about Services
About NTT DoCoMo 4G Applicatio Framework: Eablig Seamless Migrateable Applicatios over Heterogeeous Devices ( ) Chu Hao-hua Project Maager & Researcher It is the largest wireless operator i Japa with 40+
More informationifs considered Harmful
ifs cosidered Harmful Or; how to elimiate 90% of your bugs ad 99% of your techical debt i oe easy step. Jules May JulesMay.co.uk Codebase survey Bugs: all ~2.5 millio lies 5 years developmet 6-25 developers
More informationOutline. 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 informationICS Regent. Communications Modules. Module Operation. RS-232, RS-422 and RS-485 (T3150A) PD-6002
ICS Reget Commuicatios Modules RS-232, RS-422 ad RS-485 (T3150A) Issue 1, March, 06 Commuicatios modules provide a serial commuicatios iterface betwee the cotroller ad exteral equipmet. Commuicatios modules
More informationLast 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 informationCOP4020 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 informationn Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk
Chapter Objectives Lear how resiliecy strategies reduce risk Discover automatio strategies to reduce risk Chapter #16: Architecture ad Desig Resiliecy ad Automatio Strategies 2 Automatio/Scriptig Resiliet
More informationKeywords 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 informationGE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III
GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-
More informationΤεχνολογία Λογισμικού
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr
More informationChapter 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 informationBaan Finance Financial Statements
Baa Fiace Fiacial Statemets Module Procedure UP041A US Documetiformatio Documet Documet code : UP041A US Documet group : User Documetatio Documet title : Fiacial Statemets Applicatio/Package : Baa Fiace
More informationStructuring 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 information3.1 Overview of MySQL Programs. These programs are discussed further in Chapter 4, Database Administration. Client programs that access the server:
3 Usig MySQL Programs This chapter provides a brief overview of the programs provided by MySQL AB ad discusses how to specify optios whe you ru these programs. Most programs have optios that are specific
More informationAdapter for Mainframe
BEA WebLogic Java Adapter for Maiframe Workflow Processig Guide Release 5.0 Documet Date: Jauary 2002 Copyright Copyright 2002 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This software
More informationChapter 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 informationBEA WebLogic Application Integration A Component of BEA WebLogic Integration. Adapter Development Guide
BEA WebLogic Applicatio Itegratio A Compoet of BEA WebLogic Itegratio Adapter Developmet Guide BEA WebLogic Applicatio Itegratio Release 2.0 Documet Editio 2.0 July 2001 Copyright Copyright 2001 BEA Systems,
More informationOracle Server. What s New in this Release? Release Notes
Oracle email Server Release Notes Release 5.2 for Widows NT May 2001 Part No. A90426-01 These release otes accompay Oracle email Server Release 5.2 for Widows NT. They cotai the followig topics: What s
More informationPseudocode ( 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 information1 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 informationA 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 informationimplement 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 informationOracle SDP Number Portability
Oracle SDP Number Portability Implemetatio Guide Release 11i August 2000 Part No. A86289-01 Oracle SDP Number Portability, Realease11i Part No.A86289-01 Copyright 2000, Oracle Corporatio. All rights reserved.
More informationtop() 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 informationBEA WebLogic Commerce Server. Registration and User Processing Package
BEA WebLogic Commerce Server Registratio ad User Processig Package BEA WebLogic Commerce Server 3.2 Documet Editio 3.2 December 2000 Copyright Copyright 2000 BEA Systems, Ic. All Rights Reserved. Restricted
More informationWYSE 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 informationStevina Dias* Sherrin Benjamin* Mitchell D silva* Lynette Lopes* *Assistant Professor Dwarkadas J Sanghavi College of Engineering, Vile Parle
GPU Programmig Models Stevia Dias* Sherri Bejami* Mitchell D silva* Lyette Lopes* *Assistat Professor Dwarkadas J Saghavi College of Egieerig, Vile Parle Abstract The CPU, the brais of the computer is
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies
More informationCopyright 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 informationBruce Eckel, Thinking in Patterns with Java, cf. José Valente de Oliveira 10-1
The desig patter Template Method Erich Gamma, Richard Helm, Ralph Johso, Joh Vlissides, Desig Patters Elemets of Reusable Object-Orieted Software, Addiso-Wesley, 1995, AKA GoF Bruce Eckel, Thikig i Patters
More informationToday 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 informationn 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 informationBEA WebLogic Enterprise. Using the WebLogic EJB Deployer
BEA WebLogic Eterprise Usig the WebLogic EJB Deployer WebLogic Eterprise 5.0 Documet Editio 5.0 December 1999 Copyright Copyright 1999 BEA Systems, Ic. All Rights Reserved. Restricted Rights Leged This
More informationGridSphere and the GridLab Project
GridSphere ad the GridLab Project Jaso Novoty ovoty@aei.mpg.de Michael Russell russell@aei.mpg.de Oliver Wehres wehres@aei.mpg.de Albert Eistei Istitute Portals Team The State of Grid Computig Access to
More informationIS-IS for IPv6. ISP Workshops
IS-IS for IPv6 ISP Workshops These materials are licesed uder the Creative Commos Attributio-NoCommercial 4.0 Iteratioal licese (http://creativecommos.org/liceses/by-c/4.0/) Last updated 8 th April 2018
More informationCOP4020 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 informationThe 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 informationSCI Reflective Memory
Embedded SCI Solutios SCI Reflective Memory (Experimetal) Atle Vesterkjær Dolphi Itercoect Solutios AS Olaf Helsets vei 6, N-0621 Oslo, Norway Phoe: (47) 23 16 71 42 Fax: (47) 23 16 71 80 Mail: atleve@dolphiics.o
More informationData 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 informationCreating Test Harnesses and Starter Applications
03 6000 ch02 11/18/03 8:54 AM Page 27 Creatig Test Haresses ad Starter Applicatios Applicatio Types You Ca Create with Visual C++ Visual C++.NET comes with a package of wizards that geerate startig code
More informationCopyright 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 informationOntology-based Decision Support System with Analytic Hierarchy Process for Tour Package Selection
2017 Asia-Pacific Egieerig ad Techology Coferece (APETC 2017) ISBN: 978-1-60595-443-1 Otology-based Decisio Support System with Aalytic Hierarchy Process for Tour Pacage Selectio Tie-We Sug, Chia-Jug Lee,
More information