Class and Objects in C++ 193–278

Total Page:16

File Type:pdf, Size:1020Kb

Class and Objects in C++ 193–278 OBJECT-ORIENTED PROGRAMMING C++ SIMPLIFIED OBJECT-ORIENTEDOBJECT-ORIENTED PROGRAMMINGPROGRAMMING C++C++ SIMPLIFIEDSIMPLIFIED By HARI MOHAN PANDEY Assistant Professor Computer Engineering Department NMIMS University Mumbai (Maharashtra) UNIVERSITY SCIENCE PRESS !N)MPRINTOF,AXMI0UBLICATIONS0VT,TD "E.'!,U2U ∑ #(%..!)∑ #/#(). ∑ '57!(!4) ∑ (9$%2!"!$ *!,!.$(!2∑ +/,+!4! ∑ ,5#+./7 ∑ -5-"!) ∑ 2!.#() ∑ NEW DELHI ).$)! 53! '(!.!∑ +%.9! OBJECT-ORIENTED PROGRAMMING C++ SIMPLIFIED © by Laxmi Publications (P) Ltd. All rights reserved including those of translation into other languages. In accordance with the Copyright (Amendment) Act, 2012, no part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise. Any such act or scanning, uploading, and or electronic sharing of any part of this book without the permission of the publisher constitutes unlawful piracy and theft of the copyright holder’s intellectual property. If you would like to use material from the book (other than for review purposes), prior written permission must be obtained from the publishers. Typeset at ABRO Enterprises, Delhi First Edition: 2015 ISBN 978-93-81159-50-7 Limits of Liability/Disclaimer of Warranty: The publisher and the author make no representation or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties. The advice, strategies, and activities contained herein may not be suitable for every situation. In performing activities adult supervision must be sought. Likewise, common sense and care are essential to the conduct of any and all activities, whether described in this book or otherwise. Neither the publisher nor the author shall be liable or assumes any responsibility for any injuries or damages arising herefrom. The fact that an organization or Website if referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Website may provide or recommendations it may make. Further, readers must be aware that the Internet Websites listed in this work may have changed or disappeared between when this work was written and when it is read. All trademarks, logos or any other mark such as Vibgyor, USP, Amanda, Golden Bells, Firewall Media, Mercury, Trinity, Laxmi appear - ing in this work are trademarks and intellectual property owned by or licensed to Laxmi Publications, its subsidiaries or affiliates. Notwithstanding this disclaimer, all other names and marks mentioned in this work are the trade names, trademarks or service marks of their respective owners. & Bengaluru 080-26 75 69 30 & Chennai 044-24 34 47 26, 24 35 95 07 & Cochin 0484-237 70 04, 405 13 03 & Guwahati 0361-254 36 69, 251 38 81 & Hyderabad 040-27 55 53 83, 27 55 53 93 & Jalandhar 0181-222 12 72 Branches & Kolkata 033-22 27 43 84 PUBLISHED IN INDIA BY & Lucknow 0522-220 99 16 & Mumbai 022-24 91 54 15, 24 92 78 69 UNIVERSITY SCIENCE PRESS & Ranchi 0651-220 44 64 (An Imprint of Laxmi Publications Pvt.Ltd.) An ISO 9001:2008 Certifed Company 113, GOLDEN HOUSE, DARYAGANJ, NEW DELHI - 110002, INDIA Telephone : 91-11-4353 2500, 4353 2501 Fax : 91-11-2325 2572, 4353 2528 C— www.laxmipublications.com [email protected] Contents CHAPTER 0 : INTRODUCTION TO OOPs 1–9 Structured Programming 1 Procedural Programming 3 Programming Methodology 3 Object-Oriented Programming 5 Basic Concepts of OOPs 5 Characteristics of OOPs 8 Advantages of OOPs 9 Object-Oriented Languages 9 Object-based Languages 9 CHAPTER 1 : INTRODUCTION OF OBJECT-ORIENTED DESIGN 10–19 1.1 Introduction 10 1.2 Objects 11 1.3 Class and Instance 11 1.4 Polymorphism 12 1.5 Inheritance 12 1.6 Object-Oriented Analysis 12 1.7 Finding the Objects 13 1.8 Conceptual Modeling 13 1.9 Requirements Model 13 1.10 Analysis Model 13 1.11 The Design Model 13 1.12 The Implementation Model 14 1.13 Test Model 14 1.14 Object-Oriented Analysis and Design 14 1.15 The Evolution of Object Model 15 1.16 Object-Oriented Programming 15 1.17 Object-Oriented Design 15 1.18 Object-Oriented Analysis 16 (v) (vi) 1.19 Elements of Object Model 16 1.20 The Role of OOAD in the Software Life Cycle 17 1.21 OOAD Methodologies 18 1.22 Grady Booch Approach 18 CHAPTER 2 : STARTING WITH C++ 20–46 2.1 C++ Overview 20 2.2 C++ Character Set 20 2.3 C++ Tokens 21 2.4 Variables 25 2.5 Counting Tokens 26 2.6 Data Types 26 2.7 Qualifiers 27 2.8 Range of Data Types 28 2.9 Your First C++ Program 29 2.10 Structure of a C++ Program 33 2.11 Styles of Writing C++ Programs 35 2.12 Programming Examples 35 2.13 Ponderable Points 45 Exercise 45 CHAPTER 3 : C FEATURES OF C++ 47–115 3.1 Introduction 47 3.2 Operators and Expressions 47 3.3 Declaring Constants 72 3.4 Type Conversion 76 3.5 Decision Making: An Introduction 77 3.6 Unconditional Branching Using Goto 92 3.7 Introduction to Looping 94 3.8 Points to Ponder 110 Exercise 112 CHAPTER 4 : OPERATORS AND REFERENCES IN C++ 116–148 4.1 Introduction 116 4.2 Scope Resolution Operator 116 4.3 Reference Variables 122 4.4 The Bool Data Type 127 4.5 The Operator New and Delete 129 (vii) 4.6 Malloc Vs New 140 4.7 Pointer Member Operators 140 4.8 Ponderable Points 147 Exercise 148 CHAPTER 5 : FUNCTION IN C++ 149–192 5.1 Introduction 149 5.2 Function Declaration/Prototyping 150 5.3 The Main Function in C++ 154 5.4 Recursion 154 5.5 Call by Reference 157 5.6 Call by Reference Vs Call by Address 165 5.7 Return by Reference 165 5.8 Inline Function 169 5.9 Function Overloading 175 5.10 Function with Default Arguments 183 5.11 Ponderable Points 189 Exercise 190 CHAPTER 6 : CLASS AND OBJECTS IN C++ 193–278 6.1 Working with Class 193 6.2 Programming Examples (Part-1) 197 6.3 Structure in C++ 215 6.4 Accessing Private Data 216 6.5 Programming Example (Part-2) 220 6.6 Passing and Returning Object 240 6.7 Array of Object 248 6.8 Friend Function 254 6.9 Static Class Members 266 6.10 Constant Member Function 274 Exercise 277 CHAPTER 7 : WORKING WITH CONSTRUCTOR AND DESTRUCTOR 279–333 7.1 Introduction 279 7.2 Constructor with Parameters 281 7.3 Implicit and Explicit Call to Constructor 283 7.4 Copy Constructor 306 7.5 Dynamic Initialization of Objects 311 (viii) 7.6 Dynamic Constructor 316 7.7 Destructor 328 7.8 Ponderable Points 332 Exercise 332 CHAPTER 8 : WORKING WITH OPERATOR OVERLOADING 334–392 8.1 Introduction 334 8.2 Operator Overloading with Binary Operator 336 8.3 Overloading Assignment (=) Operator 346 8.4 Overloading Unary Operators 348 8.5 Overloading Using Friend Function 358 8.6 Rules of Operator Overloading 370 8.7 Type Conversion 371 8.8 Ponderable Points 390 Exercise 391 CHAPTER 9 : WORKING WITH INHERITANCE IN C++ 393–457 9.1 Introduction 393 9.2 Types of Inheritance 393 9.3 Public, Private and Protected Inheritance 398 9.4 Multiple Inheritance 424 9.5 Hierarchical Inheritance 431 9.6 Virtual Base Class 435 9.7 Constructor and Destructor in Inheritance 442 9.8 Containership 453 9.9 Ponderable Points 456 Exercise 456 CHAPTER 10 : POINTERS TO OBJECTS AND VIRTUAL FUNCTIONS 458–510 10.1 Pointer to Objects 458 10.2 The This Pointer 465 10.3 What is Binding in C++ ? 469 10.4 Virtual Functions 470 10.5 Working of a Virtual Function 476 10.6 Rules for Virtual Function 485 10.7 Pure Virtual Function and Abstract Class 485 10.8 Object Slicing 498 (ix) 10.9 Some Facts about Virtual Function 501 10.10 Virtual Destructor 504 10.11 Ponderable Points 508 Exercise 509 CHAPTER 11 : INPUT-OUTPUT AND MANIPULATORS IN C++ 511–562 11.1 Introduction 511 11.2 C++ Stream Classes 511 11.3 Unformatted Input/Output 513 11.4 Formatted Input/Output Operations 524 11.5 Manipulators 545 11.6 Ponderable Points 561 Exercise 561 CHAPTER 12 : FILE HANDLING IN C++ 563–608 12.1 Introduction 563 12.2 File Streams 564 12.3 Opening and Closing a File 564 12.4 File Opening Modes 569 12.5 Checking End of File 574 12.6 Random Access in File 580 12.7 Command Line Arguments 587 12.8 Working with Binary Mode 592 12.9 Error Handling 603 12.10 Ponderable Points 607 Exercise 607 CHAPTER 13 : TEMPLATE PROGRAMMING 609–642 13.1 Introduction 609 13.2 Function Template 609 13.3 Class Template 625 13.4 Ponderable Points 641 Exercise 642 CHAPTER 14 : EXCEPTION HANDLING IN C++ 643–667 14.1 Introduction 643 14.2 Basics of Exception Handling 643 14.3 Exception Handling Mechanism 645 (x) 14.4 Programming Examples 646 14.5 Exception Handling with Class 652 14.6 Catching all Exceptions 662 14.7 Specifying Exception for a Function 664 14.8 Ponderable Points 666 Exercise 666 CHAPTER 15 : OBJECT-ORIENTED PROGRAMMING HAND ON LAB 668–741 Experiment 1 : Program illustrating function overloading feature. 668 Experiment 2 : Programs illustrating the overloading of various operators. Ex : Binary operators, Unary operators, New and delete operators, etc. 671 Experiment 3 : Programs illustrating the use of following functions : (a) Friend functions (b) Inline functions (c) Static member functions (d) Functions with default arguments. 682 Experiment 4 : Programs to create singly and doubly linked lists and perform insertion and deletion Operations.
Recommended publications
  • Eeeeett., '1 H-{6'~-H~-4Ttf1ete
    ~eeeeett., '1 H-{6'~-H~-4ttf1ete ommission Delegation European C ~~;;~ street, NW ~ JANVIER 199 7 '1W&Shin.gton, DO 2 Message de Monsieur E. BRACKENIERS . 3 COMMUNICATIONS . 5 STB INFO ................................................ 7 INFORMATIONS DU CENTRE DE CALCUL ....................... 18 ARTICLES . Translation Centre for the bodies of the European Union ............... 21 . La signature électronique . 22 . SNet - les fondations ........................................ 26 . INTRANET- Application architectures ............................ 27 . INTRANET - Application development tools ........................ 35 . Migration "Nouvelle plate-forme technologique" en site pilote à la DI ...... 44 . D'autres questions/réponses sur le projet 11Next Technological Platform" ..... 46 . New information technologies applied to statistics .................... 49 . SDTvista - vos originaux, nos traductions, des références intéressantes ...... 52 . Chaîne des SIC Outils logistiques ................................ 57· ORGANISATION ........................................... 61 TABLEAUX DE BORD . Budget informatique . 64 . Ressources humaines . 65 . Projets d'infrastructure ....................................... 67 . Formation ................................................ 68 LISTE DES PRODUITS ....................................... 72 COMITES 1 GROUPES DE TRAVAIL ............................ 91 -' CALENDRIER ............................................. 92 ~,---------------------------------------------------------~ lj C.E. 1 Direction Informatique
    [Show full text]
  • Reassessing Client/Server Tools and Technologies Lawrence K
    Previous 4-04-40 Reassessing Client/Server Tools and Technologies Lawrence K. Cooper John S. Whetstone Payoff Client/server computing has not yet realized its promise of faster applications development, reduced maintenance costs, and enterprise scalability. This article's review of client/server technologies from the perspective of whether they cause developers to focus more on the tool than on the business problem helps IS and business managers appreciate what each technology can and cannot do. Understanding that client/server computing is more a concept than a technology is key to the proper evaluation of the tools and strategies flooding the marketplace. Introduction During the past 10 years, client/server architecture and technologies have been hailed as spelling the demise of the mainframe-centric view of computing. Corporations purchased PC by the truckload and bought myriad development tools, languages, and frameworks for developers and users alike. Products with descriptions such as GUI-builders, front ends, gateways, back ends, middleware, and glue flooded the client/server marketplace. Applications were supposed to be able to be developed faster and maintenance costs were supposed to decrease. Clearly this has not been the case: Client/server computing has proven to be both a boon and a bust. Although it provides more flexibility, it requires more computing resources, faster networks, and higher maintenance. According to a recent Gartner study, client/server computing costs often exceed mainframe-centric computing by up to 70%. Client/server computing also poses an abundance of data security problems. Current technologies are at a middle stage between the rigorous structures of mainframes and the total openness implicit in many of the new architectures.
    [Show full text]
  • Dr. Douglas Craig Schmidt
    Dr. Douglas Craig Schmidt Cornelius Vanderbilt Professor of Engineering [email protected] Department of Electrical Engineering & Computer Science (TEL) 615-294-9573 Vanderbilt University (FAX) 615-343-7440 Nashville, TN 37203 (WEB) www.dre.vanderbilt.edu/∼schmidt/ Educational Background • Ph.D. Computer Science, summer 1994, University of California, Irvine Dissertation: \An Object-Oriented Framework for Experimenting with Alternative Process Archi- tectures for Parallelizing Communication Subsystems." Co-advisors: Dr. Tatsuya Suda and Dr. Richard W. Selby. • M.S. Computer Science, summer 1990, University of California, Irvine, specializing in software engineering. • M.A. Sociology, summer 1986, College of William and Mary, Williamsburg, Virginia Thesis: \A Statistical Analysis of University Resource Allocation Policies." Advisor: Dr. Michael A. Faia. • B.A. Sociology, summer 1984, College of William and Mary, Williamsburg, Virginia. Professional Experience 1. 7/1/18 { present: Associate Provost of Research Development and Technologies Develop cohesive and sustainable information technology (IT) services to advance research and scholarship across Vanderbilt's ten schools and colleges; develop scalable storage and processing solutions by leveraging on-campus and cloud data storage services, as well as creating big data research cores and core-related services; and implement NIST 800-171 compliant IT services. 2. 8/1/18 { present: Co-Director of the Vanderbilt Data Science Institute Facilitate highly innovative research and education initiatives that build on Vanderbilt University's current strengths, promote new collaborations, and establish a cohesive institutional framework that embraces Vanderbilt's diverse campus, while establishing the university as a leader in data science research and education. 3. 2/17 { present: Cornelius Vanderbilt Professor of Engineering Received an endowed chair in recognition of my scholarship, intellect, and leadership in the field of computer science and computer engineering.
    [Show full text]
  • Appendix 1 a Survey Ofproducts
    Appendix 1 A Survey ofProducts We provide here a brief survey of products, based on the classification provided in Chapter 2 in the topic "Technology Architecture". We focus on middleware, and "go out" into development environments where applicable. Then we look at systems management. Components of the technology architecture that are not specific to the distributed application are mentioned in passing. Middleware SQL -based Middleware Standards Provides the transport for SQL calls and calls to stored procedures from the client. There are two basic approaches: • Embedded SQL (ESQL). ISO standard for embedding SQL in programming languages. Needs a precompiler; needs to know the target database at development time. • Call-level interfaces: API (Application Programming Interface). Calling program executes SQL at run time; no precompiler needed. De jure standard: SQL Access Group (SAG) CLI. De facto standard: • Microsoft ODBC (Open Database Connectivity): SAG CLI with extensions; • IDBC (Java Database Connectivity) is an emerging contender. Product Examples Call-level interfaces: ODBC, IDBC • ODBC: a Microsoft product, it enables access to different databases. Provides a call-level interface to the application (client). Supports a number of the popular databases (provides standard SQL plus specific extensions). However, support for some advanced features such as event triggering, coordination between different databases and switching between different access methods is questionable. 217 218 Distributed Applications Engineering • JDBC: a set
    [Show full text]
  • IBM DSS and DCE Cross-Platform Guide
    SG24-2543-01 IBM DSS and DCE Cross-Platform Guide December 1996 IBM International Technical Support Organization SG24-2543-01 IBM DSS and DCE Cross-Platform Guide December 1996 Take Note! Before using this information and the product it supports, be sure to read the general information in Appendix B, “Special Notices” on page 155. Second Edition (December 1996) This edition applies to: • OpenEdition DCE for use with OS/390 • OpenEdition DCE for VM/ESA, a feature of VM/ESA Version 2 • DCE Base Serivces/400 Version 3 for use with OS/400 Version 3 • DSS and DFS for AIX Version 4 Product Family for use with AIX Version 4 • DSS and DFS for OS/2 Warp, Version 4 • DCE for Windows 3.1 and Windows NT • Other IBM and non-IBM products Comments may be addressed to: IBM Corporation, International Technical Support Organization Dept. JN9B Building 045 Internal Zip 2834 11400 Burnet Road Austin, Texas 78758-3493 When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. Copyright International Business Machines Corporation 1996. All rights reserved. Note to U.S. Government Users — Documentation related to restricted rights — Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp. Contents Figures . vii Tables . ix Preface . xi How This Redbook Is Organized ........................... xi The Team That Wrote This Redbook ......................... xii Comments Welcome . xiii Chapter 1. Distributed Computing and IBM′s Strategy .............. 1 1.1 The History of Distributed Computing .....................
    [Show full text]
  • Customer Success
    Customer Success eCube: fast starters How VisiBroker enabled innovation AT A GLANCE: eCUBE SYSTEMS How VisiBroker provides the best solution for eCube Systems As eCube Systems – specialists in middleware modernization – will confirm, speed is the key to development, especially on application start-up. eCube needed a high performance, enterprise-class solution and support from an enterprise-class vendor, familiar with large legacy systems. URL: www.ecubesystems.com Industry: Software SOLUTION Country: USA • VisiBroker® CHALLENGE HIGHLIGHTS eCube Systems specializes in CORBA, Entera/RPC-style middleware among other legacy and middleware technology • Fast start-up time platforms. It extends the life of valuable, more established • Responsive support organization enterprise applications. eCube’s NXTminder is a commercial • Robust – tried and tested product that manages distributed services. It tracks an technology application’s operational elements, improves application • High performance awareness and removes the complexity of using and maintaining • Sophisticated debugging features operational scripts. • Supports the widest range of But eCube needed a more robust ORB. Having used an open hardware, operating systems and source, Java-based, ORB (JacORB), which only adequately met compilers its business needs – and made its NXTminder product seem ‘sluggish‘ – eCube wanted a faster, more responsive ORB which could support its C++ development needs as well as Java. eCube Systems hoped a commercial ORB would deliver more sophisticated exception handling than the open source ORB. This “VisiBroker’s start-up time is a has in turn reduced overhead and allowed eCube Systems to differentiator and the competitive spend more resources on innovation. edge that we need to succeed.” The solution was Micro Focus’ Common Object Request Broker Architecture (CORBA), VisiBroker.
    [Show full text]
  • Vendor List 99 1738 NEW DVD 4 6/25/04 10:39 AM Page 2
    99 1738 NEW DVD 4 6/25/04 10:39 AM Page 1 Vendor List 99 1738 NEW DVD 4 6/25/04 10:39 AM Page 2 2 Vendor List One of the most frustrating things about supporting PCs is finding a specific adapter board, part, dri- ver program, or whatever you need to make a system work. If you are supporting or installing prod- ucts, you will need access to technical support or documentation for products you might not have purchased. Over the years, I have compiled a list of companies whose products are popular or whose products I have found to work exceptionally well. I use these contacts regularly to provide informa- tion and components that enable me to support PC systems effectively. Many of these companies have been mentioned in this book, but others not specifically mentioned have been added here. These companies carry many computer products you will have contact with or that I simply recommend. I have tried to list as many vendors as possible. These vendors are important in day-to-day work with PC systems and can supply documentation for your components, provide parts and service, and be used as a source for new equipment and software. This list is as up-to-date as possible, but companies move or go out of business all the time. If you find any information in this list that is no longer accurate, please leave me a message at [email protected]. Although originally exclusively the domain of computer enthusiasts, today almost all companies use Internet Web sites to provide a high level of technical support.
    [Show full text]
  • Inprise Corp
    SECURITIES AND EXCHANGE COMMISSION FORM 10-K405 Annual report pursuant to section 13 and 15(d), Regulation S-K Item 405 Filing Date: 1999-03-31 | Period of Report: 1998-12-31 SEC Accession No. 0001012870-99-000955 (HTML Version on secdatabase.com) FILER INPRISE CORP Mailing Address Business Address 100 BORLAND WAY 100 BORLAND WAY CIK:853273| IRS No.: 942895440 | State of Incorp.:DE | Fiscal Year End: 1231 SCOTTS VALLEY CA 95066 SCOTTS VALLEY CA Type: 10-K405 | Act: 34 | File No.: 001-10824 | Film No.: 99582339 95066-3249 SIC: 7372 Prepackaged software 4084311000 Copyright © 2012 www.secdatabase.com. All Rights Reserved. Please Consider the Environment Before Printing This Document ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C. 20549 FORM 10-K [X]Annual Report Pursuant to Section 13 or 15(d) of the Securities and Exchange Act of 1934 For the year ended December 31, 1998 [_]Transition report pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934 Commission File No. 0-16096 Inprise Corporation (Exact name of registrant as specified in its charter) <TABLE> <S> <C> Delaware 94-2895440 (State or other jurisdiction (I.R.S. Employer of incorporation or organization) Identification No.) </TABLE> 100 Enterprise Way, Scotts Valley, California 95066-3249 (Address if principal executive offices) (Zip code) Registrant's telephone number, including area code:
    [Show full text]
  • Our Brochure
    DOUBLEBRIDGE TECHNOLOGIES www.doublebridge.com Leading software outsourcing company in China. Bridging Technologies and Your Business DOUBLEBRIDGE TECHNOLOGIES Bridging Technologies and Your Business Table of Contents Minneapolis Boston Paris Beijing New California Denver Xiʼan Japan Texas Mexico 2 Who We Are Hong Kong 2 What We Do DoubleBridge Offices DoubleBridge Projects Locations 2 How We Do It Contact Information 3 Quality 3 Speed Headquarters - New Jersey DoubleBridge Technologies, Inc. 3 Methodology 103 Carnegie Center, Suite 317 3 Value Princeton, NJ 08540 Phone: +1-609-716-9001 4 DoubleBridge Outsourcing Services Fax: +1-609-716-9002 5 Unique Approach to Outsourcing Boston Office 5 Three Offshore Outsourcing Programs 20 Mall Road, Suite 151 Burlington, MA 01803 6 Major Service Lines Phone: +1-781-221-6909 6 Custom Software Development & Maintenance Fax: +1-781-221-6959 6 Database Services China Office - Beijing 6 Information Architecture & UI Design A2105, Eagle Run Plaza 6 ERP Systems Implementation & Maintenance No.26 Xiaoyun Road 7 e-Business & Internet Applications Beijing, China 7 Software Localization and Globalization Post Code: 100016 7 Quality Assurance & Testing Phone: +86-10-8458-4219 7 Legacy System Maintenance & Migration Fax: +86-10-8458-4219 ext 110 8 How We Are Structured General Inquiries For general inquiries, please send an e-mail to: 9-24 Case Studies 1 [email protected] [email protected] www.doublebridge.com DOUBLEBRIDGE TECHNOLOGIES Bridging Technologies and Your Business Company Facts Who We Are Established in 1997 by a group of DoubleBridge Technologies, Inc. is a leading provider of technology and innovative software services. Head- former Oracle, IBM and quartered in Princeton, New Jersey, USA, with worldwide offices in Boston, Toronto, Paris, Hong Kong and Microsoft employees.
    [Show full text]
  • Douglas Craig Schmidt Educational Background Professional
    Douglas Craig Schmidt Associate Professor [email protected] Department of Electrical & Computer Engineering (TEL) 949-824-7548 University of California, Irvine (FAX) 949-824-2321 Irvine, CA 92697-2625 http://www.ece.uci.edu/ schmidt/ Educational Background Ph.D. Computer Science, summer 1994, University of California, Irvine Dissertation: “An Object-Oriented Framework for Experimenting with Alternative Process Architectures for Parallelizing Communication Subsystems.” Co-advisors: Dr. Tatsuya Suda and Dr. Richard W. Selby M.S. Computer Science, summer 1990, University of California, Irvine, specializing in soft- ware engineering M.A. Sociology, summer 1986, College of William and Mary, Williamsburg, Virginia Thesis: “A Statistical Analysis of University Resource Allocation Policies.” Advisor: Dr. Michael A. Faia B.A. Sociology, summer 1984, College of William and Mary, Williamsburg, Virginia Professional Experience 3/02 – present: Program Manager Currently leading the national effort on middleware as a Program Manager for over $60 million dollars of funding at the DARPA Information Exploitation Office (IXO). Programs include Program Composition for Embedded Systems (PCES). 9/01 – 3/02: Deputy Director Served as the Deputy Director for the DARPA Information Technology Office (ITO), helping to set the national IT research and development agenda and manage programs on autonomous systems, network-centric command and control systems, distributed real-time and embedded systems, and augmented cognition for the U.S. Department of Defense. 6/00 – 3/02: Program Manager Currently leading the national effort on middleware as a Program Manager for over $60 million dollars of funding at the DARPA Information Technology Office (ITO). Programs included the Program Composition for Embedded Systems (PCES).
    [Show full text]
  • App Server Focus:Best Practices for Writing EJB
    ANNOUNCINGWEBSERVICESEDGE 2001P.103 TM The World’s Leading Java Resource Java COM April 2001 Volume:6 Issue:4 Sept 23–26, 2001 New York, NY 98 Oct 22–25, 2001 Santa Clara, CA 2001 104 Editorial by Sean Rhody pg. 5 App Server Focus: Best Practices for Sandra L. Emerson, From the Editor If you write EJBs Michael Girdley & Rob Woollen for aapp servers, these best by Alan Williamson pg. 7 Writing EJB Applications practices are for Avoid reinventing the wheel yJou 8 Enterprise Java 1 2 by Tony Loton pg. 60 J2EE: Guaranteed Messaging with JMS David Chappell Make sure your business-critical data & Richard Monson-Haefel Product Reviews 3 WebSphere 3.5 pg. 84 reaches its destination PART 2 18 n? Borland AppServer 4.5 pg. 100 4 App Server Focus: From Web Sites to Phil Costa VisualAge Repository How can app servers ease the transition? 26 by Tim deBoer, Steve Francisco Web Services and Wireless E1 A2 C2 B3 & Ellen McKay pg. 88 Server Replica S E2 CORBA Corner: OMG’s New Fault Tolerant 1 D3 Jon Siegel Java Code CORBA Specification Online redundancy can save the day 32 by Anthony Meyer pg. 92 create a foundation App Server Focus: Create a Foundation N Matt Creason First Look CocoBase pg. 106 Build an application server infrastructure EJB JSP 40 create a foundation HTTP RETAILERS PLEASE DISPLAY r e r u t c u r t s a r f n i app JLink: Creating Reusable Enterprise e Mani Malarvannan UNTIL JUNE 30, 2001 v r e $4.99US $6.99CAN Components Using J2EE Cybelink’s Jlinks architecture PART 2 44 E Applications ce and Scalability App Server Focus: Building J2EE Apps for EEWRITTEN BY MISHA DAVIDSON Misha Davidson Performance and Scalability Techniques, optimizations, and examples 50 App Server Focus: Application Server Sudhakar Ramakrishnan Metamorphosis & Christopher G.
    [Show full text]