SMML Semantics

Simulation Module Markup Language

Home

Vision

Overview

Syntax

Examples

Java tools

Download

Discussion

SMML Semantics

Compound
A Compound is the SMML representation of a module, i.e. a container which encapsulates atoms and other containers. A Compound has ports which connect (externally) with other Compounds and (internally) with encapsulated Atoms and other Compounds.
Atom
An Atom represents an atomic component of a module. It encapsulates a single variable in a model and a set of dynamics which modify the data structures which represent the "value" of that variable. The Atom has a set of input Ports and a single output Port.
Dynamic
Each Dynamic responds to a single class of events, i.e. the Dynamic is executed when an event of the appropriate type is received by the Atom. Dynamics modify the "value" data of Atoms via computations and data input through the Atom's Ports. They can also generate output to archives or interfaces, initiate input from databases or GIS, execute shell scripts, and post new events.
Connections
Connections link output Ports to input Ports. They serve to transfer and translate data between Atoms and Compounds. If two Atoms which have different spatial representation are linked, it is the Connection object's responsibility to mediate the translation of the data between representations each time it is transferred. A transfer is iniated when the destination (input) Port requests data that is required for the execution of one of the (receiving) Atom's Dynamics.
Data
Data objects encapsulate data that is used in the model dynamics. The example contains a number of look-up table (lut) objects.
Documentation
Atoms, Compounds, Dynamics, amd Ports allow numerous types of documentation, including units, documentation text, descriptive name, date of last modification, creator, version, and keywords. This document is intended to assist (XML) internet search tools in locating appropriate modules.
Site maintained by: Thomas Maxwell
Last modified: Tue Mar 9 15:55:01 EST 1999