Index| AboutYi| Resume.txt| Resume.doc|
Phone: (514) 982-6524, Email: ylin30@cs.mcgill.ca


Yi Lin   Ph.D. Candidate

 

RESEARCH INTERESTS

Parallel and Distributed Simulation, Distributed Database System, Client-Server Architecture, Concurrency, Network.

 

EDUCATION

Ph.D.  in Comp Sci, Mcgill Univ., Montreal (GPA: 4.0/4.0)                         2002 – date

 

M.Sc. in Comp Sci, Mcgill Univ., Montreal  (GPA:3.85/4.0)                        2000 – 2002

 

Graduate Diploma in Comp. Sci., Concordia Univ.(GPA:4.17/4.3)               1999 – 2000

 

M.A.Sc. in Building Sci., Concordia. Univ., Montreal                                 1997 – 1999

Thesis: POMA-A Zonal Model for Airflow and Temperature Distribution Analysis.

 

B.Engr. in Auto Engr., Tsinghua University, Beijing, China                         1990 – 1995

 

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ WORK EXPERIENCES

Massachusetts Institute of Tech.               (Contract)                    Nov. 2001 – Feb. 2002

·         Develop POMA Model, a numerical simulation model (simplified Computational Fluid Dynamics) for indoor airflow pattern and temperature distribution within a room. Newton-Raphson algorithm was applied to be the solver of this nonlinear model.

·         Integrated into ASHRAE(American Society of Heating, Refrigeration, and Air Conditioning Engineers) load toolkit developed by MIT.

·         2 versions, one is in VC++, MFC, one is in Fortran90(Object Oriented). (It is my M.A.Sc. thesis work.)

 

MedWrite Inc., Montreal, QC                      (part-time)                   Dec. 2001 – April. 2002

·         Building parser and search engine for retrieving patent information from web. Parse and sort the data into text file.

·         Using Java, Swing, Thread

 

Ericsson Canada Inc. Montreal, QC,                                              Jan. 2001 – Jun 2001

·         Software Developer for Jambala Multimedia project, 3rd Generation IP Multimedia Application and Service Development.

·         Utilized Rational Rose, Clearcase, RequisitePro, SoDA, Jbuilder in requirement analysis, prestudy report, use-case specification and modeling, based on the IP Multimedia requirements (IM1.0) of 3GPP

·         OO design using UML, coding in Java/C++ on real time operating system, TELORB

 

MAZDA Motor CO.LTD. HaiKou, China                                          July 1995 – Aug.1997

·         Mechanical Engineer

 

SKILLS

·         OOD expert in terms of UML, C++(MFC,STL), Java(RMI, Swing, AWT, Servlet, JDBC),

·         Distributed System and Protocols (PVM, Discrete Event, Conservative & Optimistic Protocol)

·         Strong in concurrency, GUI, client-server (JSP,Servlet), Socket.

·         Familiar with Rational Tools, e.g. Rose, ClearCase, RequisitePro.

·         Expertise in relational and OO database(Oracle, Access, Objectstore), PL/SQL. 

·         Knowledge of 3G technologies and service core network architecture.

 

PUBLICATIONS

JOURNAL PAPERS:

[1]. Haghighat, F., Lin, Y. and Megri, A.C. 2001, Development and Validation of a Zonal Model – POMA, Building and Environment 36 (2001), 1039-1047

[2]. Zhang, G., Lin, Y. and Haghighat, F. 2000, Comparison of Methodologies for Room Airflow Simulation and Study on a Kind of Zonal Model, Journal of Basic Science and Engineering,volume 8 No.3, p291-300, 2000

CONFERENCE PAPERS:

[3]. Lin, Y., Megri, A.C. and Haghighat, F. 1999, Zonal Model, A New Generation of Combined Airflow and Thermal Model, Proceeding of Indoor Air’99, Edinburgh, Scotland , Aug 8-13, 1999

 

TECHNICAL REPORT:

            Comparison of Different Client-Server Programming Languages.

 

SELECT PROJECTS

Programming Languages and Object-Oriented Technologies

·         Skills: UML, Java (Swing, AWT), C++(MFC, STL), Fortran(77,90), Assembler(Intel80x86, Motorola68000, Sparc)

¨       Wig Compiler: (Grade: A)

A compiler for a self-defined web language, wig, is built from the scratch using Java. Wig is a kind of language similar to cgi and can be used to create dynamic web page. Typical compiler stages were explored in this projects, such as grammar, lexer, parser, AST fixer, symbol table, type check, code generator, optimization.

¨      Typing Game: (Grade: A) A game for improving player’s keyboard-typing skill. The player is required to correctly type words and images (in this case, typing images’ names) which move across the screen. It is a multithreaded application and great efforts were made to synchronize different threads. There are 3 versions, distributed(allowing several players to race the typing, in Java), nondistributed(in Java & in VC++).

¨      Relational Database Engine: (Grade: A+)a simple relational database engine with parser to check the format and contents of schema, database(relation), and queries (in SQL) files, load database and indexes according to the schemas from text files, check queries against the schemas, and process queries. Some design patterns, such as visitor, composite, iterator, were applied. Extensive exception handling in C++ were used. (Using OOD, UML, Rational Rose, C++, STL on UNIX)

¨       Bouncing Ball Game: (Grade: A) Using Java, Swing, and multithread technique to develop games with Graphic User Interfaces in Windows NT environment. Designing in UML. Users can control the speed, track and move the objects. (Using OOD, UML, Java, Swing on win2K)

Database Design

·         Skills: Oracle 7(Form 4.5, Report 2.5), PL/SQL, MS Access, Objectstore, TCL/TK

¨       Airport Database System: (Grade: A+) a relational database for airport administration. Air ticket reservation, airline schedule etc were handled in this system. (Using Oracle 7, Developer 2000, SQL, PL/SQL, Form4.5, Report2.5 on UNIX) (Team member of a group of 5)

¨       Car Sales Database: an object oriented database(Grade: A) for the car sale system. TCL/TK was used to implement the user interface. (Using Objectstore on Unix) (Team member of a group of 5)

Client-Server and NetWork

·         Skills: Java, RMI, Servlet, JSP, JDBC, JavaScript, ASP, Perl, PHP, TCP/IP, socket, HTML

¨       Distributed Publisher/Subscriber Database System: (Grade: A) Using java RMI to implement a distributed publisher/subscriber system. The client can reserve flight, hotel and car remotely. The centralized middleware transaction manager will distribute the client transactions to distributed Oracle databases. Concurrency is handled by lock managers in distributed resource managers. The remote publishers, Hotels or Airline Companies, can publish their special offers to event server which will forward the special offers to appropriated clients. Keyword: Resource Manager, Transaction Manager, Lock Manager, Strict 2 Phase Locking, 2 Phase Commit. Using Java RMI, Swing, Oracle, On Unix platform, multithread applications.

¨       Saint Ignatius Williams University Graduate Registration System: (Grade: A+) a 3-tier (client-server-database) web application. Students, faculty and staffs can access and update the registration data in the remote database through the web. In the server side, using UML for OOD, Java servlet and JSP for programming, JSWDK for testing server. In the database side, using Access to implement the ER model. JDBC was used to communicate the web server and database. Using HTTP protocol. Perfect documents (including Software Requirement Doc, Design Doc, Testing Doc). Worked as team leader of a group of 10.

¨       Online Translation System: (Grade: A)a client-server web application, using WebSphere as web server, Java servlet, JSP and JavaScript for programming, DB2 as database, HTTP as protocol used, JDBC as bridge between database and server. Cryptography encription schemes is applied. (Leader of a group of 3).

¨       IP Routing Simulation: (Grade: B+) Using thread and socket API to implement a simple IP protocol and RIP routing protocol with poison reverse to take care of cases when router is down. Datagrams are fragmented and reassembled in HDLC frame at the source and destination hosts. Implemented in C, UNIX platform.

¨       Sliding Window Protocol Implementation: Using nonblocking socket implements reliable communication between client and server, in sliding window protocol.

¨       Personal Communication System Distributed Simulation: (Grade: A) This project is to simulate a PCS in distributed system. Deadlock avoidance protocol, nullmessage protocol, was used to avoid LP deadlock. PVM was used as platform for distributed system. The program was implemented in C++.

 

 

 

Last updated: Jan. 20, 2003