ISO 10303-22
Encyclopedia
ISO 10303-22 is a part of the implementation methods of STEP
ISO 10303
ISO 10303 is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information. Its official title is: Automation systems and integration — Product data representation and exchange...

 with the official title Standard data access interface or simply SDAI.

SDAI defines an abstract Application Programming Interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 (API) to work on application data according to a given data models defined in EXPRESS
ISO 10303-11
EXPRESS is a standard data modeling language for product data. EXPRESS is formalized in the ISO Standard for the Exchange of Product model STEP , and standardized as ISO 10303-11.- Overview :...

. SDAI itself is defined independent of a particular programming language. Language binding
Language binding
In computing, a binding from a programming language to a library or OS service is an API providing that service in the language.Many software libraries are written in systems programming languages such as C or C++...

s exist for
  • Part 23 - C++
    C++
    C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

     language binding of the standard data access interface
  • Part 24 - C
    C (programming language)
    C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

     binding of the standard data access interface
  • Part 27 - Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

     binding to the standard data access interface with Internet/Intranet extensions
  • The development of language bindings for FORTRAN
    Fortran
    Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...

     and the interface definition language (IDL) of CORBA
    Çorba
    Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...

     were canceled.


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 all kinds 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:
  • SDAI dictionary schema, a meta level EXPRESS schema to describe EXPRESS schemas
  • Managing objects
    • SDAI session to control the whole SDAI environment for a single user/thread including optional transaction control
    • SDAI repository the physical (typically) container to store SDAI models and Schema instances, e.g. a database
    • SDAI model a subdivision of an SDAI repository, containing entity instance according to a particular EXPRESS schema
    • Schema instance a logical grouping of one or several SDAI models, making up a valid population according to a particular EXPRESS schema
  • Operations
    • to deal with the managing objects
    • to create, delete and modify application data (entity instance, attribute values, aggregates and their members)
    • to validate application data according to all the constraints and rules specified in EXPRESS

Major software vendors for SDAI and similar STEP-APIs


Open-source implementations of SDAI

The NIST STEP Class Library is a public domain
Public domain
Works are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...

 implementation of ISO 10303-21
ISO 10303-21
STEP-File is the most widely used data exchange form of STEP. Due to its ASCII structure it is easy to read with typically one instance per line. The format of a STEP-File is defined in ISO 10303-21 Clear Text Encoding of the Exchange Structure....

, -22, -23 using ISO 10303-11:1994. SCL has been improved by the BRL-CAD
BRL-CAD
BRL-CAD is a constructive solid geometry solid modeling computer-aided design system. It includes an interactive geometry editor, ray tracing support for graphics rendering and geometric analysis, computer network distributed framebuffer support, scripting, image-processing and signal-processing...

 developers and on github under the BSD license.

JSDAI is a complete implementation of ISO 10303-22 and ISO 10303-27 under the Open Source license AGPL.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK