Given by Wojtek Furmanski at Visit to ARL Aberdeen on June 5-6 97. Foils prepared 27 June 97
Outside Index
Summary of Material
We note interesting analogies, synergies and potential COTS based leverages between current and expected near term technology evolution pathways for a) DoD Modeling and Simulation and b) Web Based Computing. |
As of mid '97, DoD M&S is based on a broad suite of DIS 2.x simulation standards and Web is based on another broad suite of publication (HTML), communication (HTTP), mobile code (Java), scripting (JavaScript) and visualization (VRML) standards. |
Both domains experience now some difficulties in further evolution of their multi-faceted standard suites and they seek better paradigms to balance modularity with integration and interoperability. |
Both domains view CORBA as a promising software integration/interoperability bus: DOD S&M via High Level Architecture (HLA), Web via the emergent Java ORB based Object Web. |
Furthermore, advanced applications in both domains require HPCC technology insertions for dedicated performance critical tasks - to be most conveniently encapsulated and broadly published via the Object Web technologies. |
Software industry expects Object Web to be "The Next Big Thing". Hence, by monitoring these developments and joining the process, we can predict, adapt, customize or develop COTS components of relevance for High Performance Forces Modeling and Simulation (FMS). |
Outside Index Summary of Material
Geoffrey Fox, David Bernholdt, Gang Cheng, Wojtek Furmanski, |
Balaji Natarajan and H. Timucin Ozdemir Northeast Parallel Architectures Center, |
Syracuse University |
Syracuse, NY |
We note interesting analogies, synergies and potential COTS based leverages between current and expected near term technology evolution pathways for a) DoD Modeling and Simulation and b) Web Based Computing. |
As of mid '97, DoD M&S is based on a broad suite of DIS 2.x simulation standards and Web is based on another broad suite of publication (HTML), communication (HTTP), mobile code (Java), scripting (JavaScript) and visualization (VRML) standards. |
Both domains experience now some difficulties in further evolution of their multi-faceted standard suites and they seek better paradigms to balance modularity with integration and interoperability. |
Both domains view CORBA as a promising software integration/interoperability bus: DOD S&M via High Level Architecture (HLA), Web via the emergent Java ORB based Object Web. |
Furthermore, advanced applications in both domains require HPCC technology insertions for dedicated performance critical tasks - to be most conveniently encapsulated and broadly published via the Object Web technologies. |
Software industry expects Object Web to be "The Next Big Thing". Hence, by monitoring these developments and joining the process, we can predict, adapt, customize or develop COTS components of relevance for High Performance Forces Modeling and Simulation (FMS). |
We analyze here our Technology Convergence Roadmap in three subsequent temporal/vertical slices, pointing out horizontal synergies and leverages for each technology threshold. |
We start with the current/1997 technology slice including DIS 2.x and Web'97, and we describe the ongoing work by the Naval Postgraduate School at Monterey, CA on Java/VRML based DIS which provides horizontal integration of the current technologies in both domains. |
We also summarize our related work at NPAC on televirtual environments and we set the scene for the next Web technology threshold based on new advanced Java Frameworks. |
Next, we move towards Object Web and we point out the emergent COTS - Java based ORBs - of relevance for the HLA simulations. |
Finally, we summarize our ongoing work on Web based HPCC (VPL, PCRC, WebFlow) and its potential relevance for the High Performance Forces Modeling and Simulation. |
Over the last five years, Web became the world's most widely deployed client/server application. It consists now of hundreds of thousands servers (with 3000 sites added daily), supports some 20 million users (growing at the rate of 1 million per month), and its estimated size doubles every 53 days. |
At present, the main strength of the Web technologies is at the client/browser side and is represented by the standards on following slide: |
HTML for multimedia publishing and with emerging dynamic elements (Dynamic HTML). |
Java for mobile interactive 2D applets and user-friendly networking and multithreading |
JavaScript for casual scripting |
VRML2 for dynamic 3D scene description, rendering and exploration |
While the Web evolution re-focuses now on the server/computing side, the current suite of the front-end Web technologies is already being actively explored worldwide for building Web interfaces for numerous legacy applications. |
We discuss here the work done at the Naval Postgraduate School at Monterey, CA on using Java and VRML to develop a complete Web based front-end for the DIS simulations. |
Highlights: simple, object-oriented, distributed, interpreted, robust, secure, architecture-neutral, portable, multithreaded, dynamic. |
History: Created by Green Project at Sun as a mobile language for consumer electronic/interactive TV. Repackaged in '95 as an Internet Language. Rapidly adopted by the software industry in '96/'97. |
Java is many things:
|
Main use so far: Building applets as interactive widget inserts on HTML Web pages. |
Coming new technologies: Java Servers, JavaBeans. |
Anticipated new applications: distributed computing (Java Servers), Internet commerce (Java Wallet), real-time multimedia (Java Media), componentware (JavaBeans), consumer electronics (JavaChips). |
We also note new HPCC initiative (coordinated by NPAC) on HPJava or Java for Computational Science and Engineering (javaforcse@npac mailing list) |
The Virtual Reality Modeling Language (VRML) is a file format for describing interactive 3D objects and worlds. |
VRML is designed to be used on the Internet, intranets, and local client systems. |
VRML is also intended to be a universal interchange format for integrated 3D graphics and multimedia. |
VRML may be used in a variety of application areas such as engineering and scientific visualization, multimedia presentations, entertainment and educational titles, web pages, and shared virtual worlds. |
The first release of The VRML 1.0 Specification was created by Silicon Graphics, Inc. and based on the Open Inventor file format. |
The second release of VRML added significantly more interactive capabilities. It was designed by the Silicon Graphics VRML team with contributions from Sony Research and Mitra. |
The first official version of the VRML 2.0 specification was published on August 4, 1996. |
The latest draft of the specification, VRML97 (April 1997), replaces the August 4th version and has been submitted to ISO as a Draft International Standard (DIS). |
VRML allows you to do
|
We summarize here the Web DIS project at the Naval Postgraduate School (NPS) at Monterey, CA, led by Don Brutzman who is NPS faculty, member of VRML Consortium and Moderator of newly formed dis-java-vrml mailing list. |
The goal of the project is to explore Java for DIS protocol implementation and networking, VRML2 for visualization of the simulated virtual DIS worlds, and Web browsers for the GUI packaging and integration. |
The current NPS experiment uses exclusively Java, VRML and HTML to implement a proof-of-the-concept demo. In a more complete Web DIS, the actual simulation engines will be likely provided by the optimized legacy codes, suitably interfaced to Java based communication and VRML based rendering. |
Recent software release from NPS (with GNU "copyleft") includes:
|
The NPS prototype proves that a Web based DIS system can be built but it also points out several deficiencies of the current Web as a distributed simulation platform. We discuss in more detail the overall architecture of the NPS demo and we summarize the encountered technology problems on the next two foils. |
Front-end is provided by Netscape running one vehicle simulation applet on each node and by Cosmo Player VRML2 browser displaying the multi-vehicle simulated world. |
Java applet propagates local vehicle and communicates via the bridge daemon with other nodes, sending local vehicle PDUs and reading remote vehicles PDUs. |
Java applet and VRML browser interact via EAI (External API) as specified by SGI/Cosmo Player add-on to the VRML2 protocol. JavaScript is used to acquire handle to the VRML scene and LiveConnect is used to pass this handle to the Java applet. |
Applet performs dynamic real-time updates of the scene graph based on local vehicle simulation and remote vehicle locations received via PDUs. |
DIS style networking is still cumbersome in current Java for the following reasons:
|
There problems are tentatively fixed in the NPS prototype by running custom Java daemons (called 'bridges') at all participating hosts. These daemons are compiled using JDK 1.1 (and hence support multicasting) and packaged as standalone Java applications (and hence are free of applet security restrictions and can open connections to multiple hosts) |
Each Netscape applet opens connection to its bridge and reads PDUs from all other nodes via a single bridge socket. |
A large number of new Java APIs for advanced Web Services are emerging from JavaSoft and partners. Many current problems such as with the NPS WebDIS networking will be soon solved in a more robust, stable and elegant fashion by the new high-level APIs. |
Java APIs are organized in Java Frameworks. Current list of frameworks include:
|
Java Security Framework - support for authentication encryption, digital signatures. |
Java Commerce Framework - Java Wallet, Java Cassettes (digital credit cards). |
Java Beans Framework - componentware API with support for GUI negotiation and merging, persistence (JAR files), event filtering, introspection, visual application builders |
Java Media Framework - Java2D (with Adobe), animation (with Macromedia), audio/video (with Intel), Java3D (with SGI), JSDA (Java Shared Data API). |
All APIs listed are either already operational within JDK1.1, or still in works (spec only or alpha or beta release) but with the final release dates in 1997. |
Joint project with IBM Watson with the goal of prototyping scalable Web (Java/VRML) based televirtual (i.e. networked VR) environments. |
Front-end architecture similar as in the WebDIS prototype at NPS: VRML2 browser (we used Sony Community Place as offering the most advanced Java support) with Java nodes updating the scene graph based on the real-time information, coming from other such browsers, interconnected via Java networking. |
Networking and backend was implemented using JSDA (Java Shared Data API) - a next generation Java framework (currently at the alpha release stage in JavaSoft) which offers high level, portable and stable support for multi-user collaboratory environments. |
Effectively, our network configuration was similar as in the WebDIS prototype, but we used high level JSDA session servers rather then custom networking daemons. The advantage of using the JSDA layer is that it will run over a variety of networks and communication protocols, including multicasting, software conference bus etc. |
We used 'human-in-the-loop' rather than 'dead reckoned vehicle' paradigm with the mouse motion events coming from session participants represented as simple avatars (moving cones in 3D rooms). |
JSDA (Java Shared Data API) - flexible Java API for building real-time multimedia simulation and collaboratory environments over variety of networks, server and client paradigms. |
Currently still an R&D effort at JavaSoft -to become part of JavaMedia API by late '97. |
Offers abstract high level user friendly API in terms of Java interfaces. |
A particular implementation mode can be selected dynamically to bind the appropriate communication package. |
Currently available implementation modes include: sockets (TCP/IP and UDP), RMI, WebCanal. |
Base API entities include: Clients, Sessions, Channels, Channel Observers, Channel Consumers, Managers, Tokens. |
Each Session publishes a set of Channels and manages Client connections. |
Clients join Session(s) and subscribe to selected Channels. |
Channels receive events and multicast to subscribed Clients. |
Channel Observers receive notifications about as users joining or leaving a given channel. |
Channel Consumers receive the data sent to a given channel by one of subscribing clients. |
Managers authenticate clients to determine if they are allowed to join a given session and to read from or write to a given channel. |
Tokens can be shared or exclusively grabbed by Clients and they enable multi-user synchronization. |
We illustrate here the use of JSDA in NPAC TVR demo ( avatars in a room ) |
The current demo includes single large room (with several cubicles ) and up to 3 avatars (red, green, blue). |
A client becomes an avatar after downloading VRML2 file including the whole room and Java nodes for avatar behavior/dynamics. |
Each client connects to a common Java server which runs single JSDA session with single JSDA channel, used to communicate avatar coordinates to other clients. |
The following figure illustrates the use of JSDA channel. Avatar's current coordinate ( mapped on user's mouse location ) is passed from VRML scene via Java node to JSDA channel and multicast to all other channel consumers. |
The next figure illustrates both the client output (blue) and the client input ( red ) data path: current client/avatar coordinates flow along blue data path, other clients/avatars coordinates flow along red data path. |
34 |
Next figure illustrates a more complex TVR world (under construction at NPAC) including N avatars in M rooms where both N and M can be large (Internet Clubs, Malls, etc.) |
Rooms are mapped to sessions (1,2,..etc.) running on individual servers. |
Each room/session publishes local sensory channel used to exchange coordinate/visual information between avatars in this room. |
Same rooms can also publish long range channels (e.g. audio/radio) which are also accessible from other rooms. |
The figure illustrates an avatar moving from room 1 to room 2. It detaches from room 1 visual/sensory channel and attaches to room 2 visual/sensory channel and retains the radio channel to listen news/ads/broadcast from room 1. |
VRML2 is useful for moderate complexity 3D interactive applications but not for advanced systems such as flight simulators or highly interactive computer games. |
Web3D is now in a transition stage, completing a full cycle from highly specialized (SGI only) to highly standardized (Web) interfaces. |
VRML started as a static scripted subset of SGI Open Inventor - a complete object-oriented (C++) high level rendering and dynamic 3D scene description system. |
VRML2 added Java nodes to support interactive behavior and some VRML2 browsers (such as LiquidReality by DimensionX) restored effectively an OpenInventor-like functionality by implementing full VRML engine in Java. |
These efforts are now standardized by Java3D specification, just published by JavaSoft and partners (SGI, Intel, Apple). |
Java3D offers OpenInventor functionality in Java and promises high performance implementations via native methods for a broad range of rendering platforms. |
Meanwhile, DimensionX was acquired by Microsoft and LiquidReality is being integrated into Internet Explorer. |
These developments, combined with the recent advances in the affordable high performance PC graphics hardware, indicate clearly the coming technology transition phase in the Web3D domain. |
Web'97 is already quite elaborate at the client/browser side but still rather simplistic at the server side (base HTTP with CGI extensions). |
New Java Frameworks (Enterprise, Media) bring new family of Java servers that will soon enforce the middleware and backend layers of the Web based computing environments. |
At the moment, this domain is still populated by customized or/and proprietary servers (Netscape server family, Java Web Servers, RMI Servers, JSDA Session Servers etc.) but there is a new strong tendency to standardize the Web middleware around the CORBA paradigm. |
One critical development in the distributed objects domain is the IIOP (Internet Inter-ORB Protocol), mandatory in CORBA2 and offering a new server-to-server communication standard between commercial ORBs from various vendors. |
In another critical recent development, the Web industry realized that Java and CORBA are 'made for each other' and Java based ORBs are now popping everywhere. |
'Java based ORB' is a CORBA2 compliant ORB written exclusively in Java, and hence fully portable and ready to run also on the Wintel platform, where distributed objects were so far under control of Microsoft DCOM/ActiveX model. |
New agile companies such as Netscape, Visigenic and others are joining OMG - they view CORBA as a critical strategic technology to sustain open standards and to prevent Microsoft monopoly on the Internet. |
Java/IDL Mapping proposal by a coalition of all (but Microsoft) major software vendors is currently analyzed by OMG, while the first generation of Java based ORBs is already out on the market. |
The most interesting Java ORB models include:
|
OrbixWeb by Orbix - so far the industry leader in CORBA technology |
JavaIDL from JavaSoft with Joe ORBlet and NEO ORB server |
RMI - a 'provocative' (since non-CORBA) Java-to-Java only ORB from JavaSoft |
Caffeine - an RMI-like API on top of VisiBroker, developed by Netscape and Visigenic, and to be bundled with all Netscape ONE based browsers and servers. |
Meanwhile, Microsoft is tightly coupling the development of Visual J++ (Microsoft Java) with their DCOM/ActiveX ORB model. Hence, the distributed objects domain becomes now the primary competition area between Microsoft and the rest of the Web industry. |
The new emergent Object Web framework includes Web servers in the middleware, Java applets in the front-end and Java ORBs on both sides. |
Client-side ORB (or ORBlet) can be either downloaded as part of the applet, or resident on the client host, or embedded in the browser (as planned by Netscape). |
Applet downloads via HTTP and connects via ORBlet's IIOP to a middleware ORB. This middleware ORB can be either another server or part of the Web server. |
Middleware ORB connects via IIOP to other ORBs on the CORBA bus. This mechanism enables global connectivity via CORBA white/yellow page services such as Naming Service or Trader Service and their federations. |
Client-side ORBlet is also a lightweight server - hence clients can be called by servers via the CORBA callback mechanism. This enables interactive feedback, asynchronous notification and a variety of collaboratory frameworks over the CORBA bus. |
In consequence, IIOP enabled browsers connected to the CORBA bus are turning the Web into a global multi-server collaboratory system. |
ORBS on the CORBA bus manage their native objects and wrappers to the backend layer, including RDBMS, TP Monitors, Legacy applications such as Lotus Notes, and finally dedicated HPCC services. |
CORBA backend services such as Metadata, Introspection, Naming, Trader etc. enable global electronic bazaar of reusable components where service providers advertise their products and service consumers shop for the best match and offer. |
DIS standard is currently evolving towards the HLA framework with the RTI based communication bus. |
The goal of HLA/RTI is to enhance interoperability across more diverse simulators than in the DIS realm, ranging from real-time to time-stepped to event-driven paradigms. |
HLA defines a set of rules governing how simulators (federates) interact with each others. Federates describe their objects via Object Model Template (OMT) and agree on a common Federation Object Model (FOM). |
RTI (Run Time Infrastructure) enables communication between federates via high level event filtering and it offers a set of software bus management services such as Federation, Declaration, Object, Ownership and Time Management. |
The overall HLA/RTI model is strongly influenced by the CORBA architecture and in fact the current prototype development is indeed CORBA based. |
DIS->HLA transition can benefit from the parallel Web'97 -> Object Web transition as the latter is being aggressively pursued by most major software vendors. |
Initial HLA/RTI implementation is based on CORBA1 but, as pointed out before, CORBA2's IIOP is a critical new technology that will be likely soon explored by the DoD M&S community. |
The emerging family of Java ORBs will drive soon the new phase transition on the Web, turning it into a global, interactive commerce environment. |
Next generation DoD M&S environments will likely follow the current NPS experiment that integrates DIS with Web'97, but they will use instead Object Web based implementation of HLA/RTI, with Java ORB interoperability platform and Java3D based high fidelity rendering engines. |
HPCC community views Web technologies as a promising platform for robust encapsulation and broad dissemination of HPCC services, so far accessible only within advanced computing labs. |
NPAC plays the leading role in this process and we already developed a suite of early prototypes in the area of Web based HPCC such as VPL (Web based HPF development environment) or WebFlow (dataflow based visual programming paradigm over a mesh of Java Web servers). |
WebFlow offers a modular encapsulation framework for computational components at the multi-server side and a dataflow based visual programming paradigm at the client/applet side. |
In our current WebFlow prototype, the middleware layer is given by a mesh of Java Web servers, computationally extended via URL-addressable servlets. |
We are now initiating the integration of the WebFlow front-end and middleware with the PCRC (Parallel Compiler Runtime Consortium) runtime libraries for the HPCC backends. |
Extension of our current WebFlow software bus towards the full Object Web framework is also in progress. We will explore both the currently popular 2-server model (Web and ORB) as well as the single server based integrated solution (combined HTTP and IIOP protocol support). |
Current WebFlow functionality, limited to classical dataflow,will be extended to support also visual authoring of CORBA business objects and their workflow based aggregates. |
The following figure illustrates a possible CORBA-HPCC integration framework ( HPCORBA ) |
Each node of a parallel machine runs a lightweight (e.g. Nexus based ) ORBlet which enables both local and remote object services. |
Coming CORBA3/MOM based messaging and object-by-value frameworks adapted to provide high-performance (e.g. MPI based) object-oriented (IIOP based) inter-node communication. |
Parallel Computation graphs are represented by Interface Definition Language (IDL) in a language independent way and optimized by parallel compiler technologies. |
Specific language bindings would result in HPF, HPC++ or HPJava implementations. |
This framework provides interoperability with the emergent Object Web software industry and offers an elegant solution for scalable parallel I/O ( linking HPCORBA with Oracle CORBA ) |
Object-Web based HPCC can add value to DIS/HLA either in encapsulated/embedded or open/scalable mode. |
Embedded HPCC modules for high fidelity simulators or other specialized functions (e.g. weather) can be interfaced in IDL and used as plug-and-play modules on the CORBA/RTI bus. |
In the ( more ambitious and more promising ) open/scalable mode, we view new generation of software for: a) HPCC (HPCORBA), b) Internet (Object Web) and c) DoD M&S(HLA/RTI), as converging towards globally scalable and interoperable frameworks. |
Scalability is crucial in each domain:
|
We view here Object Web as the main technology driver, where M&S can provide killer applications and HPCC can provide advanced optimization techniques ( as in parallel compilers ). |
CPU scalability is natural in a multi-server model of Object Web/HPCORBA but we also need scalable communication / connectivity frameworks where we observe following synergies and convergence:
|
This convergence roadmap is promising but event driven simulations will remain inherently hard at the programmatic level. |
We therefore view visual programming and integration techniques such a WebFlow for HPCC or JavaBeans for Object Web as an efficient prototyping and integration framework. |
In summary, we propose HPCORBA based WebFlow with JavaBeans front-ends as an effective delivery platform for integrating HPCC with DoD Modeling, Simulaton and Testing environments. |