Horse Racing Simulation System Presented By Ting Hin Chau Supervised By Professor Michael R. Lyu April 2004.

Slides:



Advertisements
Similar presentations
1 CORBA Navigator, A Versatile CORBA Client and its application to Network Management KAWABATA, Taichi YATA, Kouji IWASHITA, Katsushi NTT Network Innovation.
Advertisements

Remote Procedure Call sockets TCP, UDP Internet Protocol (IP) Remote Procedure Call: hides communication details behind a procedure call and helps bridge.
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
Middleware Technology Training Lab Course. Outline  Lab introduction  Create Web services  Business modeling  Implement a business process  Integrate.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
Monte Carlo Simulation Methods - ideal gas. Calculating properties by integration.
Distributed Transaction on CORBA Presented by Leung Kin Wai, Andrew Student No.: Supervisor: Professor Michael R. Lyu.
Netprog CORBA Intro1 CORBA Common Object Request Broker Architecture Based partially on Notes by D. Hollinger and Java Network Programming and Distributed.
Two main requirements: 1. Implementation Inspection policies (scheduling algorithms) that will extand the current AutoSched software : Taking to account.
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
Database Software File Management Systems Database Management Systems.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
A First Java ORB Application 1  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces  Interface Definition.
Introduction to Simulation. What is simulation? A simulation is the imitation of the operation of a real-world system over time. It involves the generation.
LYU9901-Travel Net LYU9901-Travel Net Supervisor: Prof. Michael R. Lyu Students: Ho Chi Ho Malcolm Lau Chi Ho Arthur (Presentation on )
Multiple Tiers in Action
II. Middleware for Distributed Systems
Project Title: Cobra Implementation on Association Service.
Outline CORBA Programming Elements CORBA Programming Elements Server & Client Basics Server & Client Basics IDL Compiler IDL Compiler CORBA Naming Service.
CORBA Programming Using ACE/TAO
Digital Cash By Gaurav Shetty. Agenda Introduction. Introduction. Working. Working. Desired Properties. Desired Properties. Protocols for Digital Cash.
Common Object Request Broker Architecture (CORBA) CS-328.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Wireless CORBA Richard Verhoeven. Content Quick Introduction to CORBA Wireless & Mobile Wireless CORBA Test Case Conclusions.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
Location Based Information Service using CORBA CS597 Direct Reading Madhu Narayanan & Rahul Vaghela Advisor: Dr. Yugi Lee.
Concepts of Database Management, Fifth Edition Chapter 1: Introduction to Database Management.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Abhishek Bachchan Vishal Patangia
Hibernate Persistence. What is Persistence Persist data to database or other storage.  In OO world, persistence means persist object to external storage.
Outline of Chapter 9: Using Simulation to Solve Decision Problems Real world decisions are often too complex to be analyzed effectively using influence.
Online Examination Using Farming Based System Ajay Anand(d ) Kapil More(d ) Sri Ram(d ) Yogesh Patrikar(d )
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
Copyright 2012 & 2015 – Noah Mendelsohn A Brief Intro to the RPC Project Framework Noah Mendelsohn Tufts University
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Final Project Presentation Distributed Systems (CSC 8530)
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
DEVS Based Modeling and Simulation of the CORBA POA F. Bernardi, E. de Gentili, Pr. J.F. Santucci {bernardi, gentili, University.
CORBA_1/001 Department of Computer Science Southern Illinois University Edwardsville Spring, 2010 Dr. Hiroshi Fujinoki CORBA:
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
March 24, 2004Craig E. Ward, CMSI 698 Advanced Topics in Database Systems Database Architecture Overview Client-Server and Distributed Architectures.
Objektorienteret Netværkskommunikation (ITONK1) CORBA Introduction.
January 25, 2016 First experiences with CORBA Niko Neufeld.
The Pasta Flingers Group 3. CORBA Object Management Group – OMG Object Management Group – OMG Common Object Request Broker Architecture Common Object.
1 Distributed Programming low level: sending data among distributed computations higher level: supporting invocations among distributed computations network.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Distributed ATM Smita Hiremath CSC Topic Description ATM software has 3 components: Client Server Database.
Testing, Monitoring, and Controlling CORBA-based Applications Sudipto Ghosh Priya Govindarajan Aditya P. Mathur Baskar Sridharan Software Engineering Research.
Netprog: More Corba1 CORBA Continued. Netprog: More Corba2 CORBA Terminology ORB - Object Request Broker IR – Implementation Repository IDL – Interface.
Java Object-Relational Layer Sharon Diskin GUS 3.0 Workshop June 18-21, 2002.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
MGS 351. Recitation: A12 FLIPS GYMNASTICS AND SPORT DATABASE Group 2 Reporter : Brandon Cheng Brandon Pritchard Hyun Woo Park Michael Ruszczyk Ting Ting.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
Hadoop and Spark Dynamic Data Models Amila Kottege Software Developer
Java Distributed Object System
Distributed Computing
Interface Definition Language
Ch > 28.4.
Understanding and Designing with EJB
Presented by Kam Shu Kai, Andy Student No.:
Wireless CORBA Richard Verhoeven.
Building a CORBA Server
Remote Procedure Call (invocation) RPC
Quality-aware Middleware
CORBA Programming B.Ramamurthy Chapter 3 5/2/2019.
Copyright 1999 B.Ramamurthy
Presentation transcript:

Horse Racing Simulation System Presented By Ting Hin Chau Supervised By Professor Michael R. Lyu April 2004

Agenda  Objectives of Project  Background of Horse Racing  Major Business Functions of Objects  System Design  Simulation Algorithm  Conclusion  Q & A

Objectives  To demonstrate CORBA implementation  To demonstrate horse racing simulation Objectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Background of Horse Racing ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBusiness Functions System Design Simulation Algorithm  Jockey Club  Stable  Gambler

Background of Horse Racing Inefficient Procedures  Race Registration: Paper Work  Betting: Off-course betting branches ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBusiness Functions System Design Simulation Algorithm

Background of Horse Racing Difficult Result Prediction  Personal Judgement ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBusiness Functions System Design Simulation Algorithm

Business Functions ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundSystem Design Simulation Algorithm Jockey Club  Formulating Horse Racing Schedule  Schedule Query by Stable  Processing Horse Registration for a Race by Stable

Business Functions Jockey Club  Race Query by Gamblers  Accepting Bets from Gamblers  Calculating Odds (Appendix 1)  Running Races  Dividend Payout ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundSystem Design Simulation Algorithm

Business Functions Stable  Horse Query by Gamblers  Horse Registration for a Race ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundSystem Design Simulation Algorithm

Business Functions Gambler  Depositing Money to Betting Account  Placing Bets ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundSystem Design Simulation Algorithm

System Design ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm  Interaction Object Request Broker (VisiBroker for Java 4.0) Database (Oracle 8i) Server Object 1 Server Object N Client Object 1 Client Object N Java Applet

System Design Object Request Broker  VisiBroker for Java 4.0  Service Lookup  Object Instantiation  Connection Setup between Client and Server Objects ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Object Request Broker ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Server Objects  Interfaces defined in CORBA/IDL interface Buyer { attribute unsigned longBuyerID; attribute stringBuyerPassword; attribute stringBuyerName; attribute floatBalance; attribute stringAccountNumber; exception NotEnoughMoneyInAccount { }; void deposit(in float amount); void withdraw(in unsigned long amount) raises(NotEnoughMoneyInAccount); void edit(in string buyerName, in string buyerPassword, in string accountNumber); }; ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design CORBA/IDL to Java Mapping IDLJava modulepackage interface operationmethod attributemethod pair exception ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design idl2java  Interface file  Helper file  Holder file  Stub file  POA file ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Server Objects  Buyer  BuyerProcessor  Stable  StableProcessor  Race ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Client GUI  RaceAdminClient  StableClient  BuyerClient ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Client GUI  RaceAdminClient ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Client GUI  StableClient ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Client GUI  BuyerClient ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

System Design Database Server  Oracle 8i  Persistent storage of data  Maintaining data integrity  E-R diagram (Appendix 2) ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions Simulation Algorithm

ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Monte Carlo Simulation  Simulation with a built-in random process  Different possible outcomes

Simulation Algorithm Steps of Simulation (Appendix 3) 1. Data Input  Gather data on historical ranks of a horse  Transform these ranks to a value R/N, which is rank/number of horses in the race ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design

Simulation Algorithm Steps of Simulation 2. Distribution Construction  Form frequency distribution  Form probability distribution  Form cumulative probability distribution ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design

Simulation Algorithm Steps of Simulation ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design

Simulation Algorithm Steps of Simulation 3. Draw a sample from distribution  Generate a random number N from 0 to 1  N refers to P(X <= x), where X is R/N ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design

Simulation Algorithm Steps of Simulation ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design

Simulation Algorithm Steps of Simulation 4. Compare R/N across horses  Sort the R/N values of the horses in a race  A horse with a smaller R/N beats out a horse with a higher R/N ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design

Simulation Algorithm Assumptions of Simulation  Independent distribution of R/N  Factors including location of racecourse, lane, and jockey are insignificant  Data from the 10 most recent races are used ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design

Conclusion CORBA  Language independent  Different platforms  ORB expensive ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Conclusion Simulation  Mimics the “random” factor in horse racing  Choice of size of distribution is hard to determine  Error of prediction can be estimated ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 1 Calculation of Odds 1. Win Odds  d w =  b i / b w 2. Place Odds  d w1 = (  b i - b w1 - b w2 - b w3 ) /( 3 * b w1 ) + 1 ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 2 Stabl e_t Pass word SID Statu s Horse _t HID Weig ht Birth day Statu s Gamb ler_t Pass word GID Statu s Gam bler Nam e Acc ount Num Bet Acc ount Bal Race _t HLan e RaceE ventN umber Race Date TxnS tatus Horse Rank Joi ns O wn s Bet_t BetT ype BetA mount Ga mbl er- bet Rac e- bet ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation  Two points on the cumulative distribution (x1, y1) and (x2, y2), for instance, for horse 1, they correspond to (0.25, 0.5) and (0.25, 0.6), will be used to calculate the final score of a horse by linear equation, based on the random number generated. ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation  For horse 1, point 1 (x1, y1) is (0.4, 0.2) and point 2 (x2, y2) is (0.5, 03)  R/N of horse 1 = (rand1-y1)*((x2-x1)/(y2-y1)) + x1 = ( – 0.2)* (0.25 – 0.25)/( ) = 0.25 ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation  For horse 2, point 1 (x1, y1) is (0.4, 0.2) and point 2 (x2, y2) is (0.5, 0.3).  R/N of horse 2 = (rand2-y1)*((x2-x1)/(y2-y1)) + x1 = ( – 0.2)* (0.5 – 0.4)/( ) = ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation  For horse 3, point 1 (x1, y1) is (0, 0) and point 2 (x2, y2) is (0.125, 0.1).  R/N of horse 3 = (rand2-y1)*((x2-x1)/(y2-y1)) + x1 = ( – 0)* (0.125 – 0)/(0.1-0) + 0 = ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm

Appendix 3 Simulation Calculation  For horse 4, point 1 (x1, y1) is (0.5355, 0.4) and point 2 (x2, y2) is ( , 0.5).  R/N of horse 3 = (rand2-y1)*((x2-x1)/(y2-y1)) + x1 = ( – 0.4) * ( – )/( ) = ObjectivesObjectives / Background / Business Functions / System Design / Simulation AlgorithmBackgroundBusiness Functions System Design Simulation Algorithm