You are on page 1of 45

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

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.

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

Assembling a Transportable House

Interactive Walkthrough (Kidosaki House, Tadao


Ando)

A VR Presentation of a Housing Project

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.

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
week and will be explained extensively through the lectures. The
5

VIRTUAL REALITY______________________________________________________

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.

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.

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 humancentred approach to the exploration of new, visionary
interactive systems for people in their everyday activities

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

VIRTUAL REALITY______________________________________________________

VISUAL LANGUAGES

news:comp.lang.visual

Visual Languages and Visual Programming

Other

Desktop.com

MyInternetDesktop.com

Adaptive Interfaces
AH 2000
International Conference on Adaptive Hypermedia and Adaptive Webbased 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

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

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

12

VIRTUAL REALITY______________________________________________________

Institutes
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

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 bestfit 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

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 100333.736@compuserve.com

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

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 News.com , 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 knowledgerich, 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

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, ...

comp.lang.java

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.

17

VIRTUAL REALITY______________________________________________________

STARTING POINTS

Java
The main source of information for Java

Gamelan
A
Directory
and
Registry
of
Java
The main source of information about Java applications

Java in the Yahoo Classification

Inside Java

Resources

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

Java-channel.org/

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 pedagogie, d'aide et d'assistance
pour ses adhrents.

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.

18

VIRTUAL REALITY______________________________________________________
"Java and JavaScript: A potent partnership"
by Todd Sundsted
Javaworld , August 1999

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.
19

VIRTUAL REALITY______________________________________________________

MAGAZINES
Servlet Central

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.

20

VIRTUAL REALITY______________________________________________________

"Introducing the new Servlet API 2.1"


by Jason Hunter, Javaworld , December 1998.
A complete description of what's changed since 2.0.

"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.
21

VIRTUAL REALITY______________________________________________________

SERVLETS CODE
CoolServlets.com
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 )

22

VIRTUAL REALITY______________________________________________________

Jamba
from Aimtech

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.

23

VIRTUAL REALITY______________________________________________________

Concurency in Java
ARTICLES
"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
by Doug Lea.

in

Java

Tutorials

and

design

patterns"

24

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 .

JavaShareware.com
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

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, faulttolerant 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

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 Flashline.com
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
The ICE Browser
applications.

is

an

Browser
embeddable

HTML

browser

for

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

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

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

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

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

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

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

33

VIRTUAL REALITY______________________________________________________

To lead the debate on technology excellence with a specific


focus on its management implications.
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 News.com , 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

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 softwaredebugging 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 Mozila.org

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 rapidlychanging requirements. See also extremeprogramming.org
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.
35

VIRTUAL REALITY______________________________________________________

--- non OO approachs


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
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

of

Order

36

VIRTUAL REALITY______________________________________________________

can be used to capture the varying parts of an application


architecture to support this extension.

--- 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
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.

People

UML Tools

ROSE
from Rational

PLATINUM
from Platinum

Paradigm

Plus

37

VIRTUAL REALITY______________________________________________________

Together
from Object International

SELECT
Enterprise
from SELECT Software Tools.

Software
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

through

Pictures

Frameworks

San
Francisco
SanFrancisco is an IBM application business components
framework
for
Java.
read also "More Java components from IBM" , By Randy Weston,
news.com ,
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

38

VIRTUAL REALITY______________________________________________________

Smalltalk at uiuc

Smalltalk FAQ
At The Experimental Computing Facility (XCF), Berkeley

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)

ESUG (nl)

Summer School

Belgian Smalltalk User Group (BSUG)

Smalltalk Industry Council (STIC)

Companies/Products

ParcPlace
The
products
Smalltalk/80
and
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.

VisualWork

39

VIRTUAL REALITY______________________________________________________

-----

Visual
Instance
for
by
DoIt
Visually edit Smalltalk objects, etc.

Smalltalk

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

40

VIRTUAL REALITY______________________________________________________

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

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.
41

VIRTUAL REALITY______________________________________________________

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
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
42

VIRTUAL REALITY______________________________________________________

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.
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

43

VIRTUAL REALITY______________________________________________________

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
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
bits to a physical address of 15 bits. The mapping is a dynamic

44

VIRTUAL REALITY______________________________________________________

operation, which means that every address is translated immediately


as a word is referenced by CPU.
The mapping table may be stored in a separate memory or in
main memory.

Virtual Address

Virtual
Adress
register
(20bits)

Memory
mapping
table

Main memory
address register
(15 bits)

Memory
table buffer
register

Main
Memor
y
Main
memory buffer
register

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

You might also like