Network Working Group S. D. Nelson Internet Draft Lawrence Livermore National Laboratory Livermore, CA 94550, USA. C. Parks National Institute of Standards and Technology Gaithersburg, MD 20899, USA. Mitra WorldMaker 1056 Noe, San Francisco, CA 94114 February 1996 Expires in six months The Model Primary Content Type for Multipurpose Internet Mail Extensions Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. The original version of this draft benefitted from discussions between the authors and their respective communities. Draft documents are valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use draft documents as reference material or to cite them other than as ``work in progress.'' To learn the current status of any Internet-Draft, please check the ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). Introduction The purpose of this Internet Draft is to propose an update to Internet RFC 1521 to include a new primary content-type to be known as "model". RFC 1521[1] describes mechanisms for specifying and describing the format of Internet Message Bodies via content-type/subtype pairs. We believe that "model" defines a fundamental type of content with unique presentational, hardware, and processing aspects. Various subtypes of this primary type are immediately anticipated but will be covered under separate documents. Nelson, Parks, Mitra [Page 1] Internet-draft Model Primary MIME Type February 1996 Table of Contents: 1. Overview 2. Definition 3. Consultation Mechanisms 4. Encoding and Transport 5. Security Considerations Section 6. Authors' Addresses 7. Expected subtypes 8. Appendix 9. Acknowledgements 1. Overview This document will outline what a model is, show examples of models, and discuss the benifits of grouping models together. This document will not directly deal with the intended subtypes since those will be covered by their seperate registrations. Some immediately expected subtypes are listed in section 7. This document is a discussion document for an agreed definition, intended eventually to form a standard accepted extension to RFC 1521. We are also targeting developers of input/output filters, viewer software and hardware, those involved in MIME transport, and decoders. 2. Definition of a model Each subtype in the model structure has unique features, just as does each subtype in the other primary types. The important fact is that these various subtypes can be converted between each other with less loss of information then to that of other primary types. This fact groups these subtypes together into the model primary type. All of the expected subtypes have several features in common and that are unique to this primary type: 1. have 3 or more dimensions which are bases of the system and form an orthogonal system (any orthogonal system is sufficient). The basis functions need to form an orthogonal system, but the coordinate system need not be orthogonal. This also allows for regular skewed systems, elliptical coordinates, different vector spaces, etc. 2. contains a structural relationship between model elements. 3. have calibration factors to physical units (force, momentum, time, velocity, acceleration, size, etc.). Thus, an IGES file will specify a building of non-arbitrary size, computational meshes and VRML models will have real spatial/ temporal units. This allows for differing elements to be combined non-arbitrarily. Nelson, Parks, Mitra [Page 2] Internet-draft Model Primary MIME Type February 1996 4. Models can also be single descriptive objects or composed of a collection of objects. These normally independent objects are arranged in a master/slave scenario so that one object acts as the reference which defines how the other objects interrelate and behave. This allows for the creation of mathematical, physical, economic, behaviorial, etc. models which typically are composed of different elements. The key is in the description: these types describe how something ``behaves''; contrasted to typical data types which describe how something ``is''. The inclusion of this "collective" system works similar to the Email system's multipart/related type which defines the actions of the individual parts. Further specification of the model/* subtypes utilizing these properties is left to the subtype authors. With these assumptions: a. the default dimensionality will be spatial and temporal (but any are allowed). b. it is presumed that models will contain underlying structure which may or may not be immediately available to the user. (fluid dynamics vector fields, electromagnetic propagation, interrelated IGES dimensional specifiers, VRML materials and operators, etc.) c. it is assumed that basis set conversion between model domains is lossless. The interpretation of the data may change but the specification will not. i.e. convert the model of the U.S.A. Gross Domestic Product into a VRML model and navigate it to explore the variances and interrelationships. The model has many dimensions but also ``passages'' and ``corridors'' linking different parts of it. A similar situation is true for meshes and CAD files. The key is identifying the basis set conversion which makes sense. d. models are grouped to assure LESS loss of information between the model subtypes than to subtypes of other primary types. (i.e. converting a chemical model into an image is more lossy than concerting it into a VRML model). Items c and d above define the grouping for model similar to the way that ``images'' and ``videos'' are grouped together; to assure less loss of information. Obviously converting from a GIF image to a JPEG image looses less information than converting from a GIF image to an AU audio file. Nelson, Parks, Mitra [Page 3] Internet-draft Model Primary MIME Type February 1996 3. Consultation Mechanisms. Before proposing a subtype for the model/* primary type, it is suggested that the subtype author examine the definition (above) of what a model/* is and the listing (below) of what a model/* is not. Additional consultations with the authors of the existing model/* subtypes is also suggested. Copies of Internet drafts and RFCs are available on: ftp://ftp.isi.edu/in-notes/ Similarly, the VRML discussion list has been archived as: http://vrml.wired.com/arch/ and discussions on the comp.mail.mime group may be of interest. Discussion digests for the existing model/* subtypes may be referenced in the respective documents. The mesh community presently has numerous different mesh geometries as part of different packages. Freely available libraries need to be advertised more than they have been in the past to spur the development of interoperable packages. It is hoped that by following the example of the VRML community and creating a freely available comprehensive library of input/output functions for meshes[11] that this problem will be alleviated for the mesh community. A freely available mesh viewer conforming to these standards is available now for various platforms. Consulations with the authors of the mesh system, http://www-dsed.llnl.gov/documents/test/mesh.html will be benificial. The IGES community has a suite of tests and conformance utilities to gauge the conformance to specifications and software authors are encouraged to seek those out from NIST[14]. 4. Encoding and Transport a. A parameter which makes sense for all subtypes of model is the initial viewing condition, consisting of the view position (a 3D point), the view vector, and the up vector. This parameter is optional. Some subtypes will contain one or more viewing conditions as part of there internal data. If present, this parameter over-rides any internal viewing condition. Note that these parameters are not specific to visualizations on computer screens but also the default fabrication orientation on milling machines. Nelson, Parks, Mitra [Page 4] Internet-draft Model Primary MIME Type February 1996 b. Unrecognized subtypes of model should at a minimum be treated as "application/octet-stream". Implementations may optionally elect to pass subtypes of model that they do not specifically recognize to a robust general-purpose model viewing application, if such an application is available. c. Different subtypes of model may be encoded as textual representations or as binary data. Unless noted in the subtype registration, subtypes of model should be assumed to contain binary data, implying a content encoding of base64 for email and binary transfer for ftp and http. d. The formal syntax for the subtypes of the model primary type should look like this: MIME type name: model MIME subtype name: xxxxxxxx Required parameters: none Optional parameters: dimensionality, static/dynamic, def. view Encoding considerations: may be encoded Security considerations: see section 5 below Published specification: see Appendix B for references Person and email address to contact for further information: S. D. Nelson 5. Security Considerations Section Note that the data files are ``read-only'' and do not contain file system modifiers or batch/macro commands. The transported data is not self-modifying but may contain interrelationships. The data files may however contain a ``default view'' which is added by the author at file creation time. This ``default view'' may manipulate viewer variables, default look angle, lighting, visualization options, etc. This visualization may also involve the computation of variables or values for display based on the given raw data. For motorized equipment, this may change the position from the hardware's rest state to the object's starting orientation. The internal structure of the data files may direct agents to access additional data from the network (i.e. inclusions); the security limits of whom are not pre-supposed. Actions based on these inclusions are left to the security definitions of the inclusions. Further comments about the security considerations for the subtypes will be contained in each subtype's registration. Nelson, Parks, Mitra [Page 5] Internet-draft Model Primary MIME Type February 1996 6. Authors' Addresses. S. D. Nelson, Lawrence Livermore National Laboratory, 7000 East Ave., L-153, Livermore CA 94550, USA. E-Mail: nelson18@llnl.gov C. Parks, National Institute of Standards & Technology Bldg 220, Room B-344, Gaithersburg, MD 20899, USA. E-Mail: parks@eeel.nist.gov Mitra, WorldMaker, 1056 Noe, San Francisco, CA 94114 E-Mail: mitra@earth.path.net 7. Expected subtypes Table 1 lists some of the expected model sub-type names. Suggested 3 letter extensions are also provided for DOS compatibility but their need is hopefully diminished by the use of more robust operating systems on PC platforms. The ``silo'' extension is provided for backwards compatibility. Mesh has an extensive list of hints since the present variability is so great. In the future, the need for these hints will diminish since the files are self describing. This document is not registering these subtypes. They will be handled under separate documents. Table 1. Primary/sub-type Suggested extension(s) Reference model/iges igs,iges [8] model/vrml wrl [9] model/mesh msh, mesh, silo [10] It is expected that model/mesh will also make use of a number of parameters which will help the end user determine the data type without examinine the data. However, note that mesh files are self-describing. regular+static, unstructed+static, unstructured+dynamic, conformal+static, conformal+dynamic, isoparametric+static, isoparametric+dynamic The sub-types listed above are some of the anticipated types that are already in use. Notice that the IGES type is already registered as "application/iges" and that RFC states that a more appropriate type is desired. Note that the author of "application/iges" is one of the authors of this "model" submission and application/iges will be re-registered as model/iges at the appropriate time. Nelson, Parks, Mitra [Page 6] Internet-draft Model Primary MIME Type February 1996 The VRML type is gaining wide acceptance and has numerous parallel development efforts for different platforms. These efforts are fueled by the release of the QvLib library for reading VRML files; without which the VRML effort would be less further along. This has allowed for a consistent data type and has by defacto established a set of standards. Further VRML efforts include interfaces to other kinds of hardware (beyond just visual displays) and it is proposed by those involved in the VRML effort to encompass more of the five senses. Unlike other kinds of "reality modeling" schemes, VRML is not proprietary to any one vendor and should experience similar growth as do other open standards. The mesh type is an offshoot of existing computational meshing efforts and, like VRML, builds on a freely available library set. Also like VRML, there are other proprietary meshing systems but there are converters which will convert from those closed systems to the mesh type. Meshes in general have an association feature so that the connectivity between nodes is maintained. It should be noted that most modern meshes are derived from CAD solids files. 8. Appendices 8.1 Appendix A -- extraneous details about expected subtypes VRML Data Types The 3D modeling and CAD communities use a number of file formats to represent 3D models, these formats are widely used to exchange information, and full, or lossy, converters between the formats exist both independently and integrated into widely used applications. The VRML format is rapidly becoming a standard for the display of 3D information on the WWW. Mesh Data Types For many decades, finite element and finite difference time domain codes have generated mesh structures which attempt to use the physical geometry of the structures in connection with various physics packages to generate real world simulations of events including electromagnetic wave propagation, fluid dynamics, motor design, etc. The resulting output data is then post processed to examine the results in a variety of forms. This proposed mesh subtype will include both geometry and scalar/vector/tensor results data. An important point to note is that many modern meshes are generated from solids constructed using CAD packages. Nelson, Parks, Mitra [Page 7] Internet-draft Model Primary MIME Type February 1996 Motivation for mesh grew out of discussions with other communities about their design requirements. Many CAD or scene descriptions are composed of a small number of complex objects while computational meshes are composed of large numbers of simple objects. A 1,000,000 element 3D mesh is small. A 100,000,000 element 3D structured mesh is large. Each object can also have an arbitrary amount of associated data and the mesh connectivity information is important in optimizing usage of the mesh. Also, the mesh itself is usually uninteresting but postprocessing packages may act on the underlying data or a computational engine may process the data as input. Meshes differ principally from other kinds of scenes in that meshes are composed of a large number of simple objects which may contain arbitrary non-spatial parameters, not all of whom need be visible, and who have an implicit connectivity and neighbor list. This latter point is the key feature of a mesh. It should be noted that most meshes are generated from CAD files however. The mesh type has association functions because the underlying physics was used to calculate the interaction (if you crash a car into a telephone pole, you get a crumpled car and a bent pole). Most interesting computational meshes are 4D with additional multidimensional results components. IGES CAD Data Types (The following text, reproduced for reference purposes only, is from ``U.S. Product Data Association and IGES/PDES Organization Reference Manual,'' June 1995; by permission.) IGES, the Initial Graphics Exchange Specification, defines a neutral data format that allows for the digital exchange of information among computer-aided design (CAD) systems. CAD systems are in use today in increasing numbers for applications in all phases of the design, analysis, and manufacture and testing of products. Since the designer may use one supplier's system while the contractor and subcontractor may use other systems, there is a need to be able to exchange data digitally among all CAD systems. The databases of CAD systems from different vendors often represent the same CAD constructs differently. A circular arc on one system may be defined by a center point, its starting point and end point, while on another it is defined by its center, its diameter starting and ending angle. IGES enables the exchange of such data by providing, in the public domain, a neutral definition and format for the exchange of such data. Nelson, Parks, Mitra [Page 8] Internet-draft Model Primary MIME Type February 1996 Using IGES, the user can exchange product data models in the form of wireframe, surface, or solid representations as well as surface representations. Translators convert a vendor's proprietary internal database format into the neutral IGES format and from the IGES format into another vendor's internal database. The translators, called pre- and post-processors, are usually available from vendors as part of their product lines. Applications supported by IGES include traditional engineering drawings as well as models for analysis and/or various manufacturing functions. In addition to the general specification, IGES also includes application protocols in which the standard is interpreted to meet discipline specific requirements. IGES technology assumes that a person is available on the receiving end to interpret the meaning of the product model data. For instance, a person is needed to determine how many holes are in the part because the hole itself is not defined. It is represented in IGES by its component geometry and therefore, is indistinguishable from the circular edges of a rod. The IGES format has been registered with the Internet Assigned Numbers Authority (IANA) as a Multipurpose Internet Mail Extension (MIME) type "application/iges". The use of the message type/subtype in Internet messages facilitates the uniform recognition of an IGES file for routing to a viewer or translator. Version 1.0 of the specification was adopted as an American National Standards (ANS Y14.26M-1981) in November of 1981. Versions 3.0 and 4.0 of the specification have subsequently been approved by ANSI. The current version of IGES 5.2 was approved by ANSI under the new guidelines of the U.S. Product Data Association. Under these guidelines, the IGES/PDES Organization (IPO) became the accredited standards body for product data exchange standards. This latest standard is USPRO/IPO-100-1993. 8.2 Appendix B -- References and Citations [1] N. Borenstein, and N. Freed, "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies", RFC 1521, Bellcore, Innosoft, September 1993. [2] Fitzgerald P., "Molecules-R-Us Interface to the Brookhaven Data Base", Computational Molecular Biology Section, National Institutes of Health, USA; see http://www.nih.gov/htbin/pdb for further details; Peitsch M.C, Wells T.N.C., Stampf D.R., Sussman S. J., "The Swiss-3D Image Collection And PDP-Browser On The Worldwide Web", Trends In Biochemical Sciences, 1995, 20, 82. Nelson, Parks, Mitra [Page 9] Internet-draft Model Primary MIME Type February 1996 [3] "Proceedings of the First Electronic Computational Chemistry Conference", Eds. Bachrach, S. M., Boyd D. B., Gray S. K, Hase W., Rzepa H.S, ARInternet: Landover, Nov. 7- Dec. 2, 1994, in press; Bachrach S. M, J. Chem. Inf. Comp. Sci., 1995, in press. [4] Richardson D.C., and Richardson J.S., Protein Science, 1992, 1, 3; D. C. Richardson D. C., and Richardson J.S., Trends in Biochem. Sci.,1994, 19, 135. [5] Rzepa H. S., Whitaker B. J., and Winter M. J., "Chemical Applications of the World-Wide-Web", J. Chem. Soc., Chem. Commun., 1994, 1907; Casher O., Chandramohan G., Hargreaves M., Murray-Rust P., Sayle R., Rzepa H.S., and Whitaker B. J., "Hyperactive Molecules and the World-Wide-Web Information System", J. Chem. Soc., Perkin Trans 2, 1995, 7; Baggott J., "Biochemistry On The Web", Chemical & Engineering News, 1995, 73, 36; Schwartz A.T, Bunce D.M, Silberman R.G, Stanitski C.L, Stratton W.J, Zipp A.P, "Chemistry In Context - Weaving The Web", Journal Of Chemical Education, 1994, 71, 1041. [6] Rzepa H.S., "WWW94 Chemistry Workshop", Computer Networks and ISDN Systems, 1994, 27, 317 and 328. [7] S.D. Nelson, "Email MIME test page", Lawrence Livermore National Laboratory, 1994. See http://www-dsed.llnl.gov/documents/WWWtest.html and http://www-dsed.llnl.gov/documents/tests/email.html [8] C. Parks, "Registration of new Media Type application/iges", ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/ application/iges, 1995. [9] G. Bell, A. Parisi, M. Pesce, "The Virtual Reality Modeling Language", http://sdsc.edu/SDSC/Partners/vrml/Archives/vrml10-3.html, 1995. [10] S.D. Nelson, "Registration of new Media Type model/mesh", (will be) ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/model/ mesh, 1995. [11] "SILO User's Guide", Lawrence Livermore National Laboratory, University of California, UCRL-MA-118751, March 7, 1995, [12] E. Brugger, "Mesh-TV: a graphical analysis tool", Lawrence Livermore National Laboratory, University of California, UCRL-TB-115079-8, http://www.llnl.gov/liv_comp/meshtv/mesh.html Nelson, Parks, Mitra [Page 10] Internet-draft Model Primary MIME Type February 1996 [13] S. Brown, "Portable Application Code Toolkit (PACT)", the printed documentation is accessible from the PACT Home Page http://www.llnl.gov/def_sci/pact/pact_homepage.html [14] L. Rosenthal, ``Initial Graphics Exchange Specification (IGES) Test Service'', http://speckle.ncsl.nist.gov/~jacki/igests.htm 8.3 Appendix C -- hardware Numerous kinds of hardware already exist which can process some of the expected model data types and are listed here for illustration purposes only: stereo glasses, 3D lithography machines, automated manufacturing systems, data gloves (with feedback), milling machines, aromascopes, treadmills. 8.4 Appendix D -- Examples This section contains a collection of various pointers to examples of what the model type encompasses: Example mesh model objects can be found on this mesh page: http://www-dsed.llnl.gov/documents/tests/mesh.html Various IGES compliant test objects: http://www.eeel.nist.gov/iges/specfigures/index.html VRML Test Suite: http://www.chaco.com/vrml/test/ An image of a model of a shipping cage crashing into the ground: http://www.llnl.gov/liv_comp/meiko/apps/dyna3d/cagefig2.gif An image of a 100,000,000 zone mesh: http://www.llnl.gov/liv_comp/meiko/apps/hardin/PMESH.gif A video of a seismic wave propagation through a computational mesh: http://www.llnl.gov/liv_comp/meiko/apps/larsen/movie.mpg Nelson, Parks, Mitra [Page 11] Internet-draft Model Primary MIME Type February 1996 9. Acknowledgements Thanks go to Henry Rzepa (h.rzepa@ic.ac.uk), Peter Murray-Rust (pmr1716@ggr.co.uk), Benjamin Whitaker (B.J.Whitaker@chemistry.leeds.ac.uk), Bill Ross (ross@cgl.ucsf.EDU), and others in the chemical community on which the initial draft of this document is based. That document updated IETF Internet Draft, draft-rzepa-chemical-mime-type-01.txt in which the initial chemical submission was made, incorporated suggestions received during the subsequent discussion period, and indicated scientific support for and uptake of a higher level document incorporating physical sciences[2-7]. This Model submission benefited greatly from the previous groundwork laid, and the continued interest by, those communities. The authors would additionally like to thank Keith Moore (moore@cs.utk.edu), lilley (lilley@afs.mcc.ac.uk), Wilson Ross (ross@cgl.ucsf.EDU), hansen (hansen@pegasus.att.com), Alfred Gilman (asg@severn.wash.inmet.com), and Jan Hardenbergh (jch@nell.oki.com) without which this document would not have been possible. Additional thanks go to Mark Crispin (MRC@CAC.Washington.EDU) for his comments on the previous version and Cynthia Clark (cclark@CNRI.Reston.VA.US) for editing the submitted versions. Nelson, Parks, Mitra [Page 12]