Virtual Reality.doc.doc.doc
Upcoming SlideShare
Loading in...5

Like this? Share it with your network

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Very good
    Are you sure you want to
    Your message goes here
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. VIRTUAL REALITY______________________________________________________ VIRTUAL REALITY IN ARCHITECTURE DESCRIPTION Virtual reality provides an impressive computer interface that makes the users believe they are inside the computer-generated environment. In many domains, virtual reality is starting to change the way in which people use computers to interact with and manipulate digital information. This course explores the technologies, the underlying principles, and the potential applications of virtual reality in architecture. Lectures and lab sections will present the theoretical and technical information required for developing a number of virtual reality applications in architecture. There will be no computer programming background required for this course. However, students are assumed to have a background in using geometric modeling applications such as AutoCAD or FormZ. The course is divided into two segments. The first introduces the principles, tools, and technical skills that are required for building virtual reality applications. In the second segment, students will build a virtual reality application that applies the principles covered in the first segment to architecture. COURSE OBJECTIVES Introduce the principles and existing technologies of virtual reality through hands on exercises, explore some of the potential application in architecture, discuss some of the evaluative criteria that make a "good" VR application in architecture, introduce a number of approaches to creating virtual environments. For Additional Information For more information on Virtual Reality at the University of Michigan, please visit the some of the following links: • The VRL lab at the University of Michigan . • The VR lab at the Media Union. 1
  • 2. VIRTUAL REALITY______________________________________________________ DESCRIPTION Working in groups of two or individually, students were asked to start from any existing building model or create a new one. In selecting the projects students were required to demonstrate a number of the virtual reality techniques that were introduced in the course and be able to provide more than just a walk through. Each group was required to write a proposal that described their project, its objectives, the environments that will be modeled and the expected user interaction with the environment. The environments were modeled in AutoCAD r13, FormZ, or 3DS Max. Students used VRML 1.0, Open Inventor, and World Up for the VR interactions. 2
  • 3. VIRTUAL REALITY______________________________________________________ SAMPLES OF STUDENTS' PROJECTS (From Arch509-93 Spring 1997) ples may be available when I find some time to optimize the files. Fantasy Environment A Partial Virtual Model of a 3d Website Interactive Walkthrough (Kidosaki House, Tadao Assembling a Transportable House Ando) A VR Presentation of a Housing Project 3
  • 4. VIRTUAL REALITY______________________________________________________ Samples of Student Work Modeling was done in AutoCAD or FormZ. These projects were generated by my students in both Spring '95 and Spring '96. 4
  • 5. VIRTUAL REALITY______________________________________________________ CAD FUNDAMENTALS II COURSE OVERVIEW The course focuses on three-dimensional computer-aided modeling and rendering of architectural forms. It is intended for individuals with little computer-aided design knowledge who wish to learn how to use existing architectural CAD software. The course investigates a number of modeling concepts and rendering techniques through a set of software packages that are commonly used in professional offices. The software packages that will be used through the course are AutoCAD R.13 and FormZ for solid and surface modeling; Auto Vision and Render Zone for rendering and animation. The main strengths of FormZ are its robust 3-dimensional modeling environment and its ease of use. AutoCAD provides an integrated environment for creating architectural models, manipulating their elements, and representing their material, thermal, as well as structural properties into data-bases. Notable examples of architectural precedent will be the vehicle for introducing the main topics of this course. In addition to learning the concepts of three-dimensional graphics and how to use existing software packages, students will learn how to convert their models into VRML (Virtual Reality Modeling Language) the language used to put three dimensional models on the web. The basic concepts of HTML and VRML will be covered towards the end of the term. Note! As the size of AutoCAD and FormZ 3D modeling files can grow rather quickly you will not be able to use diskettes to store your work. Instead you need to have an IFS home directory and save all your work there. If you do not know what IFS is, do not worry you will soon learn all about it. If you use Mailstrom or Pine to read your email, then you already have one. REQUIREMENTS AND GRADING Each week, we will cover a new set of new modeling commands and techniques through a number of tutorials and weekly exercises. The tutorial handouts will usually be distributed at the beginning of each 5
  • 6. VIRTUAL REALITY______________________________________________________ week and will be explained extensively through the lectures. The purpose of these tutorials is to help students gain an understanding of the key concepts and commands that are needed to do the weekly assignments. The assignments are handed out on Mondays and are usually due on the following Monday or Wednesday. They are carefully selected and organized to develop introductory skills, critical thinking, and aid the integration of knowledge accumulated through the course. The grading for this course will be based on class attendance, participation, and the completion of the weekly assignments and a final project. • Modeling Assignments (AutoCAD and FormZ) 40% • Rendering and Animation Assignments (Auto Vision and Render Zone) 20% • VRML Assignment 5% • Final Project 30% • Attendance and participation 5% * (Subject to some adjustments at the discretion of instructor) Fulfilling the requirements for each assignment on time will guarantee you most of the full grade (technique and presentation style count. Make sure you think about them). Extra credit will be given to students who do more than the basic requirements. As each assignment builds upon concepts covered in the previous one, late assignments are strongly discouraged and will be marked down 5% for each late day. 6
  • 7. VIRTUAL REALITY______________________________________________________ System : Computer Human Interfaces Computer Human Interfaces, ergonomic, etc. General information EVENTS CHI'99 ACM SIGCHI Conference on Human Factors in Computing Systems Pittsburgh, PA May 15th-16th, 1999 STARTING POINTS HCI Bibliography Holds some 10,000 references to literature on human-computer interaction, including hypertext/hypermedia Journal, Magazines, etc. 7
  • 8. VIRTUAL REALITY______________________________________________________ HCI Letters International Journal of Human-Computer Studies The International Journal of Human-Computer Studies publishes original research over the whole spectrum of work on both the theory and practice of human-computer interaction and the human-machine interface. The journal covers the boundaries between computing and artificial intelligence, psychology, linguistics, mathematics, engineering, and social organization. the News Letter on Intelligent User Interfaces Articles "The Foundations of Web Design" by Jeffrey Veen Wired Digital, Feb 1998 Some lessons on site building Associations, ... ACM SIGCHI HFES Human Factors and Ergonomics Society European Network for Intelligent Information Interfaces i3, the European initiative for intelligent information interfaces, was created in 1997 in order to take a human- centred approach to the exploration of new, visionary interactive systems for people in their everyday activities 8
  • 9. VIRTUAL REALITY______________________________________________________ HCIRN Human-Computer Interaction Resource Network. The HCIRN mission is to advance the practice of human-computer interaction (HCI) by providing HCI professionals with relevant, accurate and timely information on HCI theories, methods, practices and resources. ETHZ MAN-MACHINE-INTERACTION Development of Man-machine-Systems by understanding human behavior, both from a cognitive and an ecological point of view. SYSTEMS Build-It At Ethz Man-Machine-Interaction BUILD-IT is a planning tool based on computer vision technology, with a capacity for complex planning and composition tasks. The system enables users, grouped around a table, to interact in a virtual scene, using real bricks to select and manipulate objects in the scene. TOOLS AND TOOLKITS The SAGE Project (CMU) The SAGE Project involves the automatic and interactive design of graphical presentations of information. User Interface Software Tools A very good list of products related to the design of CHI o Wxwin A free C++ library for building plateform independant interfaces 9
  • 10. VIRTUAL REALITY______________________________________________________ VISUAL LANGUAGES • news:comp.lang.visual • Visual Languages and Visual Programming Other • • Adaptive Interfaces AH 2000 International Conference on Adaptive Hypermedia and Adaptive Web- based Systems Trento, Italy 28-30 August 2000 STARTING POINTS Articles, papers "Exploiting user models for personalizing news presentations" Liliana Ardissono, Luca Console, Ilaria Torre Proceedings of the 2nd Workshop on Adaptive Systems and User Modeling on the WWW, 1999. This paper presents a framework for the generation of adaptive hypertexts for accessing on-line news servers. The aim of this system is to present the most appropriate set of news (and advertisements) to each user, choosing the "right" detail level for each news item. This is obtained by using knowledge representation, user modeling and flexible hypermedia techniques. "ADAPTS: Adaptive hypermedia for a Web-based performance support system" 10
  • 11. VIRTUAL REALITY______________________________________________________ by Peter Brusilovsky 2nd Workshop on Adaptive Systems and User Modeling on the WWW, 1999 ADAPTS provides an intelligent, adaptive electronic performance support system for maintaining complex equipment. ADAPTS maintains a dynamic characterization of a technician's knowledge, experience, and preferences in the form of a user model. This model influences the diagnostic strategy, technical information content, and navigation support offered to a technician. PROJECTS & SYSTEMS eGenie from Open Sesame! Open Sesame tells you about brand-new books, CD's, movies, and upcoming concerts, events, and TV shows that interest you. As you interact with the system, eGenie learn more about you and adapt its interface. (the agent learns about you by observing your behaviour). Open sesame as been acquired by Allaire Corp.  "SeTA" User Adaptive Web-Based Systems & Personalized Interaction in On-Line Shops  Project Avanti (ACTS EC project) AdaptiVe and Adaptable INteractions for MultimediaTelecommunications ApplIcations The project has in particular developed a User Model Server 11
  • 12. VIRTUAL REALITY______________________________________________________ System: Decision Making Decision support systems, etc. STARTING POINTS STRATEGYWEB provides Q&A hyperbook interactions with experts in business strategy. StrategyWeb is a free resource for market analysts and researchers, strategic planners, and others involved in market knowledge management. FORECASTING BUSINESS CONNECTION The objective of this page is to provide academic researchers and business users with convenient access to a growing body of material on forecasting. DecisionNet DecisionNet is a WWW based information system that offers easy access to a distributed network of modeling and decision support systems. It allows providers of modeling and decision support services to have their services (data, decision models, algorithms, and decision support packages) publicised, browsed, and executed over the WWW. DSS Lab The Decision Support Laboratory. DSS Lab provides clear empirically-grounded information on DSS-related tools, technologies and architectures within a real world problem-solving context. Journals • Decision Support Systems • Decision Sciences Web Decision Sciences Journals and Handbooks Articles, papers • Archive of Columns on Decision Support Institutes 12
  • 13. VIRTUAL REALITY______________________________________________________ The University of California Institute on Global Conflict & Cooperation Labs, research groups, etc. The Harvard Decision Systems Group (DSG) The overall goal of the DSG is the creation of software environments that facilitate problem-based, integrative access to information, to facilitate decision making, for health care providers, health care managers, and the public. CMU Department of Social and Decision Sciences People Mary Frances Luce Consumer decision making under stress and negative emotion; medical decision making from the patient/consumer perspective; effects of stress and emotion on reactions to advertising Dave Moriarty Sequential decision tasks appear in many practical real-world problems including control, resource allocation, and routing. ... Note: Make use Genetic Algorithms and Neural Networks. 13
  • 14. VIRTUAL REALITY______________________________________________________ COMPANIES Group Decision Support Systems, Inc. GDSS provide expertise in decision-making technologies and group collaborative planning. Think Tools Think Tools is a software-based support system for qualitative reasoning, decision-making and knowledge management. Logical Decisions Logical Decisions for Windows is decision support software for evaluating choices. Logical Decisions (LDW) lets users evaluate choices by simultaneously considering many variables, separating facts from value judgments, and explaining their choice to others. LDW provides five methods for assessing attribute weights, provides many results displays and has many sophisticated features. It uses techniques from the field of decision analysis to help you make better and more logical decisions. DECISION ALCHEMY from Kikkup int. Decision support systems for electronic commerce (customers) Decision Alchemy is a software tool that helps people identify the right choice from a large number of possible options. They have specifically designed it to help an individual choose and buy the best- fit products for their needs in the smallest amount of time. It can be tailored to almost any product category, from cars to cameras to computers. 14
  • 15. VIRTUAL REALITY______________________________________________________ Lumina Decision Systems, Inc. Lumina Decision Systems develops, markets, and supports Analytica, a software package for creating, analyzing and communicating quantitative business models. DSP Development Corporation Author of DADiSP. Business Software & Consulting Business Decision Wares DADiSP The Engineering Spreadsheet From DSP Development Corporation. A graphical data analysis software program for scientists and engineers. Die Denkfabrik GmbH (Butzbach - Frankfurt, Germany) Distributor of MBA-ware (DPL, Forecast Pro, ...) Contact Larry Moffett RESEARCH "The Open DSS Protocol " His Website is to provide information on an Open DSS protocol that has been proposed to facilitate the discovery of Decision Support Systems (DSS) on the WWW. Microsoft Belief Network Tools Tools for Bayesian Inference A Windows application is freely available for research purpose. This application allows the creation, assessment and evaluation of Bayesian belief networks. 15
  • 16. VIRTUAL REALITY______________________________________________________ Artificial Intelligence : Expert Systems Rule based systems, etc. The International Journal of Applied Expert Systems Articles, Papers "You can call Compaq's virtual technician "Al" by Joe Wilcox CNET , September 28, 1999 Compaq Computer plans to pack a virtual self-help technician, "Al," in every new Presario Internet PC Expert System Shells Jess Jess, the Java Expert System Shell. Jess is a rule engine and scripting environment written entirely in Java Ultrexx The CruXpert range of products provide a complete, user-friendly tool kit that enables the development of Intelligent Interactive applications, even by a person with no programming skills. Typical application areas include trouble-shooting, diagnosis, product selection/configuration, Help-desk, training and so on.The visual graphical design interface permits intuitive development of knowledge- rich, multi-media enabled applications with point-and- click ease. CruXpert automatically generates the application in Java , thus making it a truly portable and versatile Internet/Intranet application. • --- other • ConceptBase A deductive object manager for meta databases ConceptBase is a multi-user deductive object manager mainly intended for conceptual modeling and coordination in design environments. The system implements O-Telos, a dialect of Telos which amalgamates properties of deductive and object-oriented languages. (free software available) 16
  • 17. VIRTUAL REALITY______________________________________________________ EXPERT SYSTEMS  "Applying Expert System technology to enhance sort performance" by Dr. Peter Liu, Syncsort Incorporated The need to automate performance tuning has grown because of the shortage of skilled personnel, the increasing complexity of computer systems, and the overwhelming amount of performance-related data supplied by new reporting tools. To meet this need, performance analysts have shown a strong interest in using expert system technology. Because of the importance of the system sort product in improving overall system performance, a prototype expert system designed to enhance sort performance was developed. When embedded in the system sort utility, the prototype optimized the CPU time performance. • InteliQuest Evergreen Internet, Salt Lake City, UT, US InteliQuest is offering "The World's 100 Greatest Books--Audiocassette Collection"(TM)(C) for purchase online. This collection encompasses many of the great classical works of literature. The Instant Expert Learning System(TM)(C) is designed to help you retain the information contained in the works. Internet Java Discussions, News, ... • • Strong Software Inc. This Java powered site is focused specifically on displaying important Java dates and events. Java news site It contains links to articles from various online ezines and press releases concerning all aspects of java and is typically updated daily. STARTING POINTS 17
  • 18. VIRTUAL REALITY______________________________________________________ • Java The main source of information for Java • Gamelan A Directory and Registry of Java Resources The main source of information about Java applications • Java in the Yahoo Classification • Inside Java This site deals with advanced java topics and examples, as well as the latest Java news and developments. • The World Wide Web Virtual Library: The Java Programming Language • Java or JavaScript programming tutorials • Groups, associations, etc. • Club Java Le Club a pour vocation de promouvoir la technologie Java et de la mettre en avant sous forme d'actions de péedagogie, d'aide et d'assistance pour ses adhérents. • Java Cyber Club France ARTICLES "Get smart with proxies and RMI. Use dynamic class loading to implement smart proxies in RMI" by M. Jeff Wilson Javaworld , November 2000 RMI enables developers to either get a remote reference to a distributed object, in which all method calls are forwarded to the server object, or get a copy of the remote object and invoke on it locally. Sometimes, however, it is desirable to combine those approaches, so that some method calls execute locally, while others execute on the remote object. This article describes a method to accomplish that in a way that is transparent to the client code. "Java and JavaScript: A potent partnership" by Todd Sundsted Javaworld , August 1999 18
  • 19. VIRTUAL REALITY______________________________________________________ Learn how to integrate Java and JavaScript, two popular programming languages "How to drag and drop with Java 2" By Gene De Lisa, Javaworld , March 1999. Explore the Java platform's new drag and drop classes. "Sun spills beans on future EJB releases" By Jeff Walsh, InfoWorld Electric , Feb 3, 1999 The specifications for the next release of EJB, code-named Moscone, will be available in the second quarter of this year, with a reference implementation due by the end of the year, Chandra said. "The major focus of the Moscone release is to tighten up [EJB] 1.0 and to use XML for deployment descriptors". "XML and Java: Siblings or rivals?" by Dana Gardner, Javaworld , December 1998. Can the Sun technology continue to rally as a platform in the face of the new markup language's rapid ascent? DOCUMENTS • A Free Book: Thinking in Java • Java and the Enterprise 1997, by Zona Research Inc. An Independent Assessment Commissioned by Softbank Forums. Servlet (Server side java) Forum, discussion • Java Web Server interest mailing list STARTING POINT • Servlet Taverne Daily news from the Java Server Side World • Javacorporate Javacorporate offers a collection of Open Source and Commercial Java servlet based eBusiness web applications - ALL with source code and the advantage of a collaborative infrastructure. MAGAZINES Servlet Central 19
  • 20. VIRTUAL REALITY______________________________________________________ Servlet Central is the Server-Side Java Magazine. Each month you'll find in depth articles and columns written by people using servlets, Enterprise JavaBeans, object request brokers, and other server-side Java technologies to build next generation internet/intranet sites and distributed systems. • JRun Magazine For JRun Developers and Users ARTICLES • "Developing Server-Side Web Applications with JavaServer Pages and VisualAge for Java" by Sheldon B. Wosnick and Anita M. Huang, 1999 see also WebSphere development articles • "XML and servlets" by Piroz Mohseni Gamelan Tech Focus , June 2, 1999 XML has certain qualities that make it a nice fit for servlet-based applications. Along with its related standards, XML provides a way for representing data and interacting with it. • "Welcome to the Wonderful World of Servlets" by Alan Williamson, Servlet Central , Oct-Nov 1998. Alan Williamson kicks off his first column by walking through HTML form processing with servlets. • "Introduction to Database Programming with Servlets" by Paul Colton, Servlet Central , Oct-Nov 1998. One of the single most important applications for server-side computing today is database access. Databases serve as the information center for your server-side applications. In this issue, Paul Colton steps through building a generic JDBC servlet which returns its results as an HTML table. • "Build servlet-based enterprise Web applications" by Paul Philion, Javaworld , December 1998. Learn to build better, faster servlets with advanced servlet techniques. • "Introducing the new Servlet API 2.1" by Jason Hunter, Javaworld , December 1998. A complete description of what's changed since 2.0. 20
  • 21. VIRTUAL REALITY______________________________________________________ • "A beginner's guide to Enterprise JavaBeans: An introductory overview of the Java server-side application component standard " by Mark Johnson, Javaworld , October 1998. • "Developing 3-Tier Database Applications with Java Servlets" by Chad Darby, Java Developer's Journal , Volume: 3 Issue: 2, 1998. SYSTEMS EJB Servers by EJBHome a list of EJB products that are available, now or in the future. Enterprise JavaBeans Enterprise JavaBeans allows developers to create scalable, multitier, distributed applications, and makes possible the creation of dynamically extensible application servers. read also: "A beginner's guide to Enterprise JavaBeans: An introductory overview of the Java server-side application component standard " , Mark Johnson, Javaworld , October 1998. OTempo An Open Template-Based Servlet System a flexible template based servlet system. If you are looking for an easy way to add database driven pages on your intranet or web site. read also "OTembo - an Open Template-Based Servlet System" , by Gene McKenna, Servlet Central , Oct-Nov 1998. • Java web server • Jini Jini technology enables spontaneous networking of a wide variety of hardware and software - anything that can be connected. • Tengah from Weblogic • JRun from Live Software JRun Servlet Engine, is a web server extension that adds the functionality of Java Servlets (server-side Java) to your current web server. SERVLETS CODE 21
  • 22. VIRTUAL REALITY______________________________________________________ High quality, free, open source Java servlets. Powerful enough for demanding web developers, simple enough for new servlet users. OpenJSA An Open Source implementation of the JavaTM Servlet API • Servlet tools for web statistics Miscelaneous • Purple Servlet FAQ Technical Information STARTING POINT • The Java Language, from the Yahoo Classification DOCUMENTS The Java Programmer's Guide Tutorial on the AWT toolkit Java compilers and virtual machines Download Jdk and other java tools. Jikes from IBM AlphaWorks A faster Java compiler that adheres to Java language and virtual machine specifications. VisualAge for Java from IBM see also to the VisualAge for Java Tips and Tricks Home Page • Symantec Cafe • Borland • Java Workshop (Sun ) • Jamba from Aimtech 22
  • 23. VIRTUAL REALITY______________________________________________________ • Netcraft from Source Craft • WebGalaxy from Allen System Group Java Gateways • ---- corba • Black Widow from PostModern Computing an Object Request Broker that connects Web browsers to CORBA objects • HORB Home Page • CorbaBeans Proof-of-Concept • ---- databases • ---- other • PageSpace The project PageSpace aims at supporting networked applications which require interaction between distributed software components and active processing. It is based on the Internet and the World Wide Web but introduces a notion of active Web-pages that are capable of executing code. A project funded by the EU in the ESPRIT Open LTR programme OTHER • JavaAgents using SUN's Java language • Network application using Java • Tower Technology Propose an optimizing java native compiler. • WebL WebL is a scripting language for automating tasks on the World-Wide Web. It is an imperative, interpreted language that has built-in support for common web protocols like HTTP and FTP, and popular data types like HTML and XML. WebL's implementation language is Java, and the complete source code is freely available. Concurency in Java ARTICLES 23
  • 24. VIRTUAL REALITY______________________________________________________ "Programming Java threads in the real world" by Allen Holub JavaWorld , September 1998 (and later) A Java programmer's guide to threading architectures is a serie of articles that discusses the things you need to know to program threads in the real world. "Shooting Fish in a Barrel" by Jonathan Knudsen To prove how easy it is to write network applications, Jonathan shows you an Internet chat system. You'll learn about Java's network capabilities as well as threaded programming. "How the Java virtual machine performs thread synchronization" by Bill Venners Javaworld , July 1997 DOCUMENTS Concurrent Programming in Java This is the supplement to the book Concurrent Programming in Java: Design Principles and Patterns by Doug Lea "Concurrency and Synchronization" Chapter 7 of the book "Tricks of the Java Programming Gurus" , by b y Glenn L. Vanderburg. et al., 1996 "Mini Course: Threads of Control" by Richard G Baldwin, 1998 BOOKS "Concurrent Programming in Java Tutorials and design patterns" by Doug Lea. 24
  • 25. VIRTUAL REALITY______________________________________________________ Java Software components STARTING POINTS • Java TechTips • ... Java Beans • Java Beans • Infobus InfoBus enables dynamic exchange of data between JavaBeans components by defining a small number of interfaces between cooperating Beans and specifying the protocol for use of those interfaces. Tools, Libraries, etc. • AlphaBeans AlphaBeans, a new section devoted to JavaBeans-in-progress. Like all products posted to AlphaWorks, these JavaBeans are free of charge and not quite finished. part of IBM AlphaWork . • Java site that includes Java Applications, Classes, Servlets, Beans and hundreds of other Java projects. • ACME Java - Software • Java Generic Library • JavaClass Warehouse The Java Class Warehouse, was created to provide a large repository of free, reusable, user-contributed classes for Java. • Doug Lea "Collection" Package • Class wb.WBCanvas A set of class implementing the MVC paradigm • ORO Check out NetComponents, free for commercial use. does FTP, NNTP, SMTP, POP3, Telnet, TFTP, Finger, Whois, and other frequently used Internet protocols. 25
  • 26. VIRTUAL REALITY______________________________________________________ • The Bean Factory, LLC Platform Independent Distributed Computing with Java 2 and XML • Programming Languages for the Java Virtual Machine A list of programming languages for the Java virtual machine aside of Java itself. • Rhino: JavaScript for Java Rhino is an implementation of JavaScript written entirely in Java. read also "Java and JavaScript: A potent partnership" , Todd Sundsted, Javaworld , August 1999 MIDDLEWARE • Voyager from ObjectSpace Voyager provides an agent framework architecture. • Jumping Beans Jumping Beans is a new technology to build mobile applications. A mobile application can pick itself up entirely from one machine while it is running, move to another machine, and continue execution on the new machine. • Infobus Inter Java beans communication. • iBus iBus is a novel Java middleware aimed at supporting intranet applications such as content delivery systems, groupware, fault- tolerant client-server systems, and multimedia applications. iBus provides multicast channels that allow Java applications to interact by a push/pull/subscribe communication model. The system is conceived to run atop of IP multicast, although other protocols can be supported as well. Applications running in separate intranets can be bridged by iBus TCP message spoolers. • PSE for java Persistance in java. • OSSCF from Objective Software Solutions, Inc. 26
  • 27. VIRTUAL REALITY______________________________________________________ Java Framework (OSSCF) that supports any ODMG 2.0 database system, and currently uses ObjectSpace's Voyager technology. COMPONENTS • Beans By Design from online marketplace for JavaBeans. The process combines technologies like those used in online auction, matchmaking, and recruiting systems. • Cetus Links Thousant links on Objects & Components • LOTUS ESuite The components include Calculating Grid, Rich Text Processor, Library of Charts, Gantt Chart, Graphics Applet, Messaging, Calendar, Address Book, and Data Access. • ICE Browser The ICE Browser is an embeddable HTML browser for applications. • OpenCube Inc. XML (& Java) • see also Software Architecture • "IBM adds Java and XML messaging, JVM for Linux. IBM says XML "growing faster than Java"" by James Niccolai, SunWorld , June 1999 • Web Techniques Special Issue: "XML & Java: An Obvious Match." Web Techniques , June 1999 • "XML JavaBeans" by Mark Johnson, Javaworld , February 1999. This article describes just one possible application for XML: making JavaBeans mobile and interoperable by representing them as XML documents. Follow along as columnist Mark Johnson describes XML, 27
  • 28. VIRTUAL REALITY______________________________________________________ defines his own custom markup language, and creates a class that converts XML files to JavaBeans running in memory. • XP - an XML Parser in Java • XML from IBM As part of the initiative, IBM is releasing for free nine XML development tools and applications that, among other things, use Java to create an XML visual editor, convert data to JavaBean classes, and convert XML to a printable format. • XML Servlet from Cerium Component Software • for more information about XML tools, see also "The Whirlwind Guide to SGML & XML Tools and Vendors" Miscelaneous • "Extracting Links from an HTML File" Java TechTips, September 23, 1999. see in particular how to use the HTMLEditorKit • "File Choosers" Java TechTips, June 15, 1999. JFileChooser is a class found in JavaTM Foundation Classes (JFC) Project Swing that allows a user to select a file. Applications, Demos, etc. REVIEW • JARS Java Applet ReviewS • JARS/JavaWorld Another similar site • Applets review Prototypes developed at INSEAD - CALT 28
  • 29. VIRTUAL REALITY______________________________________________________ • AWJavaBots AWSDKJava is an encapsulation in java of the bots library of the Active Worlds multi-users virtual reality system. • A little simulator very Old !!! NOTE:. This prototype used the Graph layout example as a starting point. However the simulator relies on a MVC (Model View Controler) architecture. Main sites Gamelan Cafe del Sol The Sun Microsystems New Media Marketing Lab's exibition of Java Applets. A collection of sophisticated Java applets complete with source code and directions for adding these to your own home page. Small applications to put in a web page • LED applet very nice • Clock Small applications • EarthWeb Includes an interactive bouncing ball demo • bacus An abacus, and tutorial on using an abacus. Good educational value. • Bouncing ball Note: Application developed on a Mac. The Impressionist 29
  • 30. VIRTUAL REALITY______________________________________________________ A great interactive Java application that creates an impressionist version of an existing digital image. The NPAC Visible Human Viewer Select and view high-res slice images of a human body. Then use your mouse to select and view a slice. Applications in Finance WallStreetWeb from BulletProof Corp An Internet investor's site using Java extensively to provide stock quotes, stock searching, charting and portfolio management. TREX dynamic auctioning game Play in real time over the net against other people. Market View MKTVIEW is a freeware Java applet that allows you to chart stock prices and volume over time Other Applications • Dynamic Billboard • Digital Signal Processor (DSP) "Commercial" Applications C|net home page Great source for late breaking Web related technology news. Click on a story headline in the scrolling window applet to go to that story. Companies doing contract Java development • InterNetivity Inc. Nice demos (jumping rabbit, Slot Machine, Pinball, etc.) 30
  • 31. VIRTUAL REALITY______________________________________________________ • Integris Java Developer Island This page contains a Java animation applet and links to some Free Java programming examples Applications with source code • Open Source Java WebRing • JavaCommerce • A Binary Hopfield Neural Network Applet Miscelaneous Iced Java Iced Java is a Dimension X's 3D graphics package for use with Sun's HotJava web browser. The first applications which has been written to take advantage of Iced Java is Liquid Reality , a VRML browser and toolkit. See also The VRML page 31
  • 32. VIRTUAL REALITY______________________________________________________ A rtificial Intelligence : Logic Approach Prolog, ML, VDM, etc. General Information Events, Conferences, etc. Discussions • comp.lang.prolog MAGAZINES Prolog and Java • BinProlog A High Performance Prolog for Internet Programming Jinni 2000 also includes a Java Based Prolog Cpmpiler and Intelligent Mobile Agent Programming ToolKit • W-Prolog W-Prolog is a simple Prolog interpreter written in Java. jProlog jProlog is close to Clocksin-Mellish Prolog, with lots of the typical builtins.You need a Prolog system (SICStus, BinProlog, BIMprolog are ok - SWI doesn't work apparently) • see also • Pizza • IQSoft MUSE Virtual Presence can provide the supporting hardware and software for University programs in VR and computer graphics, and also specializes in providing the best, most affordable VR systems and integration services for multi-seat labs. We can even advise your University on course content for VR and computer graphics studies. 32
  • 33. VIRTUAL REALITY______________________________________________________ MUSE Virtual Presence can assist in bidding processes, either through national (EPSRC, JIF, HEFC etc), European (FrameworkV, etc) or other initiatives. We can also offer matched funding for many such processes, or act as a commercial partner throughout the project's life. For more information on how MUSE Virtual Presence can assist your University's efforts in VR and computer graphics, please contact Ben Bishop at our Manchester office. Object Technologies : Object Methodologies Software design best practices, design pattern, UML, OOA, OOD, OMT, etc. STARTING POINTS • Patterns Home Page • Patterns area of the AG Communication Systems • AntiPatterns An antipattern presents an approach that sounds good but doesn't work! (by experience). • Demeter Learn how you can create software which is easy to maintain and evolve using Adaptive Programming (AP). Centres • RISE Research in Information Systems Excellence RISE is an INSEAD initiative which objectives are:  To provide a focus for research in technology excellence  To develop educational activities that stimulate the development of new coursework and pedagogical materials related to technology excellence  To lead the debate on technology excellence with a specific focus on its management implications. 33
  • 34. VIRTUAL REALITY______________________________________________________ ZIFA The Zachman Institute for Framework Advancement The Zachman Institute for Framework Advancement (ZIFA) is a network of information professionals who understand the critical role of enterprise architecture in the ability of the enterprise to successfully participate in the global economy of the 21st century. To this end, the mission of ZIFA is to promote the exchange of knowledge and experience in the use, implementation, and advancement of the Zachman Framework for Enterprise Architecture. • Platinum Enterprise Resource Center. Articles "More programmers going "Extreme"" by Cecily Barnes CNET , April 3, 2001 Welcome to a new world of computer programming--and say goodbye to the image of the solitary code jockey working late into the night on a diet of cold pizza and warm cola. Better yet, Extreme Programming can help produce software that is not only of higher quality, but is produced much more quickly than is the norm. • "Benchmarking European Software Management Best Practices." Dutta, S., S. Kulandaiswamy and L.N. Van Wassenhove, Communications of the ACM, 1998. 41(6): pp. 77-86. • "Do It, Then Fix It: The Power of Prototyping" by Derek L. Dean and Robert E. Dvorak, The McKinsey Quarterly , 1995 Number 4. • "Five Myths that Slow Down Software Development" by John Parkinson, Perspectives on Business Innovation , Ernst & Young, Issue I. • "The Cathedral and the Bazaar" by Eric S. Raymond. 34
  • 35. VIRTUAL REALITY______________________________________________________ SUMMARY I anatomize a successful free-software project, fetchmail, that was run as a deliberate test of some surprising theories about software engineering suggested by the history of Linux. I discuss these theories in terms of two fundamentally different development styles, the ``cathedral'' model of most of the commercial world versus the ``bazaar'' model of the Linux world. I show that these models derive from opposing assumptions about the nature of the software- debugging task. I then make a sustained argument from the Linux experience for the proposition that ``Given enough eyeballs, all bugs are shallow'', suggest productive analogies with other self-correcting systems of selfish agents, and conclude with some exploration of the implications of this insight for the future of software. This article provides some of the guiding principles to Methods & Approachs Methods • Extreme Programming Extreme Programming, or XP, is a lightweight discipline of software development based on principles of simplicity, communication, feedback, and courage. XP is designed for use with small teams who need to develop software quickly in an environment of rapidly- changing requirements. See also UML Unified Modeling Language DSDM (RAD) The Dynamic Systems Development Method (DSDM) is a framework of controls for the development of IT systems to tight timescales. It is independent of any particular set of tools and techniques and can be used with object-oriented and structured analysis and design approaches in environments ranging from the individual PC to global distributed systems. --- non OO approachs 35
  • 36. VIRTUAL REALITY______________________________________________________ IDEF0 Integration Definition for Function Modeling A structured approach to enterprise modeling and analysis Prototyping • BuildPrototype Pattern Architectures & frameworks see also Software architectures Reuse • IRG Reuse Library Interoperability Group • Component World Design Patterns • Christopher Alexander: An Introduction for Object-Oriented Designers by Doug Lea • AGCS Patterns Home Page • Christopher Alexander's The Nature of Order a book review by Nikos A. Salingaros • An HTML 2.0 Pattern Language • --- articles • "Application design with patterns, Which object-oriented design patterns best respond to today's ever-changing business architecture?" By Mark Stason, SunWorld January 1999 In designing flexible software, it's essential that encapsulation and the isolation of responsibility be followed -- and it's always easier to extend a design by isolating those things that vary. IT Architect Mark Stason describes specific design patterns that can be used to capture the varying parts of an application architecture to support this extension. 36
  • 37. VIRTUAL REALITY______________________________________________________ • --- pattern library • Portland Pattern Repository • Some Design Patterns Different categories of pattern are covered: Creational Patterns (BuilderPattern, etc.), Structural Patterns (BridgePattern, etc.), Behavioral Patterns (CommandPattern, etc.). • Patterns from Doug C. Schmidt • Organizational Patterns • --- other • Use Case Maps Companies • Rational • The Object People Training in object technology • Expersoft Corporation Expersoft Corporation was established in 1989 to address the emerging new market for distributed object management software. The company develops and markets XShell, a distributed object management environment (DOME) comprising XShell Distributed ORB, and a suite of integrated tools that address many of the problems associated with building and managing distributed systems in large-scale enterprise environments. UML Tools • ROSE from Rational • PLATINUM Paradigm Plus from Platinum • Together from Object International 37
  • 38. VIRTUAL REALITY______________________________________________________ • SELECT Enterprise from SELECT Software Tools. • Software through Pictures from Aonix • Together/J UML editor. (java) • Object Domain Object Domain 2.0 is an object-oriented modeling tool based on UML and developed in Java providing a scalable, platform independent, user extendable CASE tool. • JAVision Frameworks • San Francisco SanFrancisco is an IBM application business components framework for Java. read also "More Java components from IBM" , By Randy Weston, , September 29, 1998 read also the white paper: "Lotus and IBM SanFrancisco Business Components: Delivering Business and Groupware Applications to your Desktop" • Talligent Object Technologies : Object Oriented Languages Smalltalk, java, C++, Objective C, Eiffel, etc. GENERAL INFORMATION • comp.lang.smalltalk • Smalltalk at uiuc • Smalltalk FAQ At The Experimental Computing Facility (XCF), Berkeley 38
  • 39. VIRTUAL REALITY______________________________________________________ • Puget Sound Smalltalk and Object-Oriented Database User Group A volunteer organization of developers, users, vendors, and others who are interested in exchanging information about Smalltalk and object-oriented databases. User groups • ESUG (European Smalltalk User Group) o ESUG (fr) o ESUG (nl) o Summer School • Belgian Smalltalk User Group (BSUG) • Smalltalk Industry Council (STIC) Companies/Products • ParcPlace The products Smalltalk/80 and VisualWork Also hosts the Digitalk line of products • Quasar Knowledge Systems The product SmalltalkAgents And the ftp site is here (login: ftp) • VMARK • Intuitive • Object Connect Smalltalk MT • HotSpot and Strongtalk from Animorphic Systems mixe smalltalk and java. • ----- • Visual Instance for Smalltalk by DoIt Visually edit Smalltalk objects, etc. 39
  • 40. VIRTUAL REALITY______________________________________________________ Other • Squeak Squeak is an open, highly-portable Smalltalk-80 implementation whose virtual machine is written entirely in Smalltalk, making it easy to debug, analyze, and change. To achieve practical performance, a translator produces an equivalent C program whose performance is comparable to commercial Smalltalks. • The Manchester Smalltalk Archive (via gopher) • Carleton University, Ottawa Canada • rockwell About Little Smalltalk C++ General information • comp.lang.c++ • The C++ Virtual Library • FAQ • Unofficial C++ Home Page • Enrique Urzais Page • SIGPLAN, C++ Libraries (software packages) • Collection of programming tools and libraries for the C++ programmer • Heterogeneous Container Class Library The container models in HCCL includes classes for a general container, a bag, a set, a relation, and a function. Companies related • Borland information resources 40
  • 41. VIRTUAL REALITY______________________________________________________ Other Languages Virtual Reality in Oceanography This document describes ongoing research at the Center for Coastal Physical Oceanography directed towards utilizing virtual reality methods in studying oceanographic data from the Chesapeake Bay and other regions. Why Virtual Reality? The emerging technology of virtual reality and immersive techniques will change the way data is viewed and analyzed, as well as the way models will be developed and the results interpreted. The current visualization process for three-dimensional data renders plots which may be difficult to understand in a total context due to the size of the vector fields or the complexity of the system being portrayed. However, using virtual reality methods to create and navigate through an artificial world based on the dataset provides an actual sense of presence to the user. While in this virtual environment, direct interaction with the data or with the model producing the fields being viewed via some sort of widget-based interactive user interface is then possible. For example, we could visualize the small scale 3D structure of the first few meters of the ocean surface, watch a simulation of momentum transfer from wind to waves, and then examine the 41
  • 42. VIRTUAL REALITY______________________________________________________ processes from different length scales by interactively changing a model parameter during the visualization. The CAVE The Electronic Visualizatiopn Lab at the University of Illinois at Chicago, (EVL) , has developed the CAVE (Cave Automatic Virtual Environment) to enable scientists to interact with virtual worlds that have been created from observed data or simulations. The CAVE is a high-resolution projection-screen virtual reality system powered by a Silicon Graphics Onyx parallel-processor computer. The screens are arranged in a 10 foot cube with computer-generated images projected on three walls and a floor. A viewer wears a 6-degrees of freedom head tracker device and stereo-shutter glasses so that the correct projections and perspectives are presented as the viewer moves inside the CAVE. A wand (essentially a computer mouse) held by the viewer allows interaction with the virtual environment. Also available is CAVE simulator software which allows one to develop applications for the CAVE on local platforms. CCPO at SIGGRAPH '94 SIGGRAPH is an annual meeting hosted by the Association for Computing Machinery (ACM) and is devoted to the art and science of computer generated graphics. The initial results of CCPO's VR research effort were presented in the VROOM (Virtual Reality Room) at SIGGRAPH '94 in Orlando the end of July, 1994 by Glen Wheless and Arnoldo Valle-Levinson , both Research Assistant Professors at CCPO, as the project entitled `A Walk Through The Chesapeake Bay'. A fine-grid bathymetry of the Chesapeake Bay was used to create a 3D virtual domain which was then displayed in the CAVE. Viewers were then able to "fly" through this 3D environment and navigate their way through the often abrupt bathymetry of the Bay. Semi- transparent 3D isosurfaces derived from monthly observations of surface salinity were displayed and animated, showing the seasonal change of salinity throughout the Bay. 42
  • 43. VIRTUAL REALITY______________________________________________________ Visit the Electronic Visualization Lab at the University of Chicago to find out more about this project including an animation of a flythrough . CCPO at SuperComputing '94 Supercomputing '94 , the latest conference in the series on high performance computing and communications, took place November 14-18, 1994, at the Washington D.C. Convention Center. The Chesapeake Bay VR Project was showcased at the National Science Foundation's MetaCenter booth. A major addition to the Bay VR exhibit was the display and animation of time dependent salinity fields obtained from a three-dimensional circulation model of the Bay. These fields were rendered as isosurfaces and overlaid upon the graphical representation of the bathymetry. The Princeton Ocean Model, a fully three-dimensional hydrodynamical circulation model with an embedded Mellor-Yamada 2.5 level turbulence closure scheme was used to generate the salinity data. The Chesapeake Bay Virtual Ecosystem Model Researchers at CCPO have fostered a strong collaboration with NCSA scientists and are Chesapeake Bay virtual ecosystem model (CBVE) using the CAVE technology. Wheless and Eileen Hofmann , Associate Professor, have the lead on the CBVEM project. The visualization framework displayed at SIGGRAPH will serve as the base upon which simulation results from linked submodels of Bay circulation, biological behavior and sediment transport will be displayed. Users will have real-time interactivity with this ecosystem simulation and will be able to control and steer the model as it is running. Back to to CCPO or back to My Home VIRTUAL MEMORY Virtual Memory is a concept used in some large computer system that permit the user to construct programs as though a large memory space were available, equal to the totality of auxiliary memory. Each address that is referenced by the CPU goes through an address mapping from the so-called virtual address to a physical 43
  • 44. VIRTUAL REALITY______________________________________________________ address in main memory. Virtual memory is used to give programmers the illusion that they have a very large memory at their disposal, even through the computer actually has a relatively small main memory. A virtual memory system provides a mechanism for translating programs generated addresses into correct main memory locations. This is done dynamically, while programs are being executed in the CPU. The translation or mapping is handled automatically by the hardware by means of a mapping table. Relation Between Address & Memory Space In A Virtual Memory System In a multi-program computer system, programs and data are transferred to and from auxiliary memory and main memory based on demands imposed by the CPU. Suppose that program 1 is currently being executed in the CPU Program 1 and a portion of its associated data is moved from auxiliary memory into main memory shown as under. Portions of programs and data need not be in contiguous locations in memory since information is being moved in and out, and empty spaces may be available in scattered locations in memory. In a Virtual Memory System, programmers are told that they have the total address space at their disposal. Moreover, the address field of the instruction code has a sufficient number of bits to specify all virtual addresses. In our example, the address field of an instruction code will consist of 20 bits but physical memory address must be specified with only 15 bits. Thus CPU will reference instructions and data with a 20 bits address, but the information at this address must be taken from physical memory because access to auxiliary storage for individual words will be prohibitively long. A table is then needed shown as under to map a virtual address of 20 Virtual Address bits to a physical address of 15 bits. The mapping is a dynamic operation, which means that every address is translated immediately as a word is referenced by CPU. Virtual mapping table may be stored in a separate memory or in The Adress Main memory main memory. register Memory Main address register (20bits) mapping (15 bits) Memor table y Main Memory memory buffer 44 table buffer register register
  • 45. VIRTUAL REALITY______________________________________________________ In first case, an additional memory unit is required as well as one extra memory access time. In second case, the table-take space from main memory and two accesses to memory are required with the program running at half speed. ADDRESS MAPPING USING PAGE Page & Block:- The address mapping is simplified if the information in the address space and the memory space are each divided into groups of fixed size. The physical memory is broken down into groups of equal size called blocks, which may range from 64 to 4096 words each. The term page refers to groups of address space of the same size. For example: If a page or block consists of 1K words, then, using the previous example, address space is divided into 1024 pages and main memory is divided into 32 blocks. Although both a page and a block are split into groups of 1K words, a page refers to the organization of address space, while a block refers to the organization of memory space. 45