SGML: An overview of the Standard Multimedia Scripting Language

SGML: An overview of the Standard Multimedia Scripting Language

Article: 7347 of comp.text.sgml
Newsgroups: comp.text.sgml
Date: 06 Jan 1995 23:34:03 UT
From: Ralph Ferris <>
Organization: Fujitsu Open Systems Solutions, Inc.
Message-ID: <3ekk1b$>
Summary: An overview of the Standard Multimedia Scripting Language
Subject: Standard Multimedia Scripting Language (SMSL)


The following is a brief overview of the proposed Standard Multimedia
Scripting Language (SMSL).  Participation in the ANSI X3V1 Task Group that
will refine this proposal is invited!  If you are interested, please
contact me.

Ralph E. Ferris
Project Manager, Electronic Publications
Fujitsu Open Systems Solutions, Inc. (FOSSI), Engineering Services
Phone: +1 408 456 7806 Fax: +1 408 456 7050

A Davenport Group sponsor.  For information on the Davenport 
  Group see


Brief Overview of the Proposed Standard Multimedia Scripting Language

1.  Introduction

The Standard Multimedia Scripting Language (SMSL) is an open scripting
environment primarily targeted toward SGML/HyTime applications.  SMSL does
not describe a single standardized scripting language, rather it describes
the interfaces required to bring new and existing languages into the
SGML/HyTime arena.  The initial proposal for SMSL was developed by Brian
Markey of Permanent Wave Productions.  Brian will present a full draft of
the proposal at the meeting of ISO SC18/WG8, Document Description and
Processing Languages, in February.  Refinement of the draft proposal will
be carried out by a Task Group of the ANSI X3V1 committee, the National
Body that represents the U.S. in ISO SC18/WG8.

2.  Description

The basic characteristics of the proposed SMSL standard are:

  o SMSL documents are created by adding SMSL architectural forms to HyTime

  o SMSL will use architectural forms to define object classes from which
    element types can be derived.  These classes could also be used to
    derive supporting constructs, for example, C++ header files.

  o For a given object class, default methods are defined as part of SMSL
    services; additional methods can be added, or existing methods can be
    overload.  (This approach differs from the HyTime standard, which does
    not define methods as part of its architectural forms.)  Note that the
    default "methods", which correspond to required SMSL services, only
    apply to classes which are derived from classes specified in the
    standard.  Examples include "multimedia classes" and "user interface"
    classes.  SMSL supports all of the criteria for object-oriented
    languages, such as encapsulation, inheritance (including multiple
    inheritance), and polymorphism.

  o Methods can be added or overloaded through the addition of scripts to a
    HyTime document.  The content of the scripts could be in any defined
    notation, such as C++ or other programming language source code.  The
    content of the scripts could even be binary code compiled for a given
    platform (although this approach is depreciated since its use runs
    counter to the application portability that SMSL is intended to

  o When the SMSL scripts are compiled and linked, the governing
    application invokes the proper processor on the script content, as
    identified by the notation specified for that content.

  o The output could be compiled files and an SGML ESIS file.  In that case
    the combination of executables and SGML data files is the application.

  o Alternatively, instead of outputting binary code and an ESIS file,
    other approaches, such as creating an application that would be
    interpreted at runtime, could be used.

  o SMSL is intended to support "self-contained" applications, in which
    case, most of the processing is embedded in the scripts.

  o User interaction will take place through a variety of user interface
    objects, such as dialog boxes, movie players, sound players, text
    editors, windows, and graphics interpreters.

  o The SMSL services will rely on the operating system services to support
    the display of dialog boxes, as well as audio and video playback and
    any other system dependent services required by the application.

  o The SMSL services use an object (message passing) architecture.

An overview of the SMSL application environment is provided in the
following figure:

              |                                    |
              |         SMSL Documents             |
              |                                    |
              | _____________   ________________   |
              | |  Scripts   |  |     HyTime   |   |
              | |            |  |    Documents |   |
              | |____________|  |______________|   |
              |      ^                   ^         |
              |      |                   |         | 
                     |                   |
                     |                   |
                     V                   V
____________     ________________________________
|    User  |     |         SMSL Services        |
| Interface|<--->|                              | 
|__________|     |______________________________|
                      |                         |
                      |     OS Services         |
                      |        - Dialog Box     |
                      |        - Audio Playback |
                      |        - Video Playback |
                      |        - Other          |

           Standard Multimedia Scripting Language (SMSL)
                     Application Environment