OFML

Office Furniture Modeling Language (OFML) is a standard of the IBA – Industrieverband Büro und Arbeitswelt e.V. (former BSO Verband Büro-, Sitz- und Objektmöbel e.V.), or the German Furniture Manufacturers Association. It was created in 1998 to provide a common method of describing furniture products. The standard has seen little support outside of usage by the authors and a few adaptions.

Motivations
OFML is the result of a series of requirements that could generally not be met with past solutions:
 * The new requirements in the area of planning and visualization of furniture cannot be met alone by CAD-based systems. The main problems of CAD-based solutions are the enormous data size, the poor parameterizability and configurability, insufficient product logic, insufficient interactivity and complicated operation.
 * A platform-independent and software manufacturer-independent data format which allows an unlimited number of software manufacturers to offer systems and solutions so that monopolizing conditions can be avoided or eliminated.
 * The new data format also allows for the implementation of a series of applications that are compatible with respect to the data in spite of different orientation. In this way it is possible to achieve compatibility and, therefore, technological uniformity between manufacturer, trade, and end user systems.

Features
The OFML standard has the following features:
 * consistent application of object-oriented paradigm,
 * conversion of concepts of semantic modeling to match virtual objects with actual products,
 * combination of geometric, visual, interactive, and semantic features of real products in a uniform and holistic data model,
 * mapping of real configuration logic and parameters,
 * independence of system or interface platforms, and
 * independence of a concrete runtime environment.

Levels
OFML level Base. The level Base defines a table-based interface for description of hierarchical geometries in 2D and 3D. OFML level GO. The level Generic Office library extends the level Basis with functionality for interaction and behavior. OFML level Language. The level Language defines a complete programming language that may be used for the creation of arbitrary complex data and the integration of external commercial data, for instance.