ISO 10303-22 is a part of theimplementation methods ofSTEP with the official titleStandarddataaccessinterface or simplySDAI.
SDAI defines anabstractApplication Programming Interface (API) to work on application data according to a given data models defined inEXPRESS. SDAI itself is defined independent of a particular programming language.Language bindings exist for
The original intent of SDAI and its bindings to programming languages was to achieve portability of software applications from one implementation to another. This was soon abandoned because there were only a few commercial implementations and they differed significantly in their detailed APIs. Today the term SDAI is sometimes used for many types of APIs supporting STEP, even if they only partially follow the strict functionality as defined in ISO 10303-22 and its implementation methods, or not at all. Part 35 of STEP (Abstract test methods for SDAI implementations) provides a formal way how to prove the conformance of an implementation with SDAI.
The main components of SDAI are:
TheNIST STEP Class Library is apublic domain implementation ofISO 10303-21(ASCII data exchange files), -22(SDAI), -23 (C++ SDAI binding) using ISO 10303-11:1994. The development of the NIST STEP Class Library has been stopped in the late 1990s.[1] STEPcode (formerly STEP Class Library) has been improved by theBRL-CAD developerson github under theBSD license. STEPcode also has an experimental Python binding.
JSDAI is a complete implementation of ISO 10303-22(SDAI) and ISO 10303-27(Java SDAI binding) under the Open Source licenseAGPL.