v. 1.6.2 from 17.03.2016

EXPRESS-X query schema for SimDM_master EXPRESS schema

This query schema contains code that supports SIMDM_MASTER WSDL interface

Developed in Jotne EPM Technology AS
by Ernest Shekolyan


SimDM Web Services is a web interface to populate, get and manage data of computer aided simulations over more or less complex engineering systems - results of mechanical design. SimDM data includes both type of data - results of CAD and CAE related to one another and meta data serving import/export, data access, owning, data flow, history, approving, versioning, etc.

SimDM data is close related to international standard ISO 10303-209e2 STEP. AP209e2 standard describes structures to store and represent simulation data in mechanical engineering. SimDM data structures defined by SIMDM_MASTER Express schema and there is a software to map (represent) SimDM population into AP209e2.

SimDM data stored and managed by EDM server. The server represent WSDL interface to access data via web-services. Technical details of these web services are described in EDMwebServices_UserGuide.pdf. Within the server SimDM data is organized as a set of independent data models grouped by several data repositories.

One SimDM data model represents a tree of generic nodes (e.g. representing breakdown of some mechanical engine/device or types of simulations, but in any particular case users are free in their way its building) with assigned to them sets of static and dynamical properties, files (result of CAD and/or CAE), tasks, approvals, links to another nodes of the tree. The data model consists either auxiliary data to serve following facilities: SimDM users management and data access, organizations (data owners) management and assignments, property, method and approval definitions, system of user comments over any SimDM item, history and versions, import and export functionality (including export in form of ISO 10303-209e2 STEP files).

SimDM concepts types

Structures of SimDM data storage are defined by SIMDM_MASTER Express schema. It introduces the following concepts:

PBS version of the tree structure (initially from Product Breakdown Structure), set of its root nodes + some meta data + reference to previous version of the instance
Node version of a generic tree node (can represent part of mechanism, special type of simulation, document, program, etc. depending of assigned type), with set of children, reference to previous version, assignments of files, access rights, approvals, tasks, properties and some other meta data
Baseline collection of node versions (snapshot of whole tree or a dedicated set of some its branches) that are locked by an assigned tag
File a file (external or with body stored in SimDM) defined in scope of a SimDM model. It can be some CAD or CAE issued data, AP209e2 STEP file, requirements, specifications (depending from assigned type), log of some operation. The file is normally referred from (attached to) some node(s) and defined on level of whole pbs tree
Attached File records of relationship: assignment a file to a node in respect of specified relation type
Property some generic property definition that could be used then to specify node features
Assigned Property records of relationship: assignment to a node one or more values in respect of a specified property
Method definition of method to perform some generic task
Task records of relationship: assignment to a node a task to be done as it defined in a Method
Approval definition of a generic approval (any - either positive or negative) of anything
Assigned Approval records of relationship: assignment some generic approval to a concrete node content
Link records of relationship: a reference to a node or some attachment from another node
Person SimDM user registration in target data model, the registration specifies data base login and could define default access type of the user (administrator, manager, editor, reader)
Assigned Person records of relationship: assignment of a user to specified node, in context of some access rights (administrator, manager, editor, reader) that could be different from default for the user or notification the user for changes over the node
Organization definition of SimDM user role/group and/or data owning organization. User group could be assigned with default access role (see above) for included to the organization users (but personal access type has higher priority if assigned)
Assigned Organization records of relationship: assignment of an organization (user group or owner) to specified node, may be in context of some access rights (administrator, manager, editor, reader) that could be different from default for the organization and included users
Comment a string of short text assigned to any concept or another comment (response message)

Common predicates of the web-services

There are several name patterns of SimDM web-services repeated for most concepts.

[concept]_get_types returns allowed types of the concept
[concept]_create introduces new instance of the concept in target data model using data from input structure
[concept]_get gets concept's info by data base id (sequential number - unique identifier of the concept instance within the target data base)
[concept]_list gets concepts' info by list of data base id
[concept]_select gets all concepts' info selected by a filter from target data model (in most cases are just reserved, but not implemented)
[concept]_update updates specified concept instance by data in input structure
[concept]_delete removes instance of the concept specified by data base id (can be done logically just marking the instance as cancelled or physically, removing the record from data model)
[concept]_cancel declares as cancelled (obsolete) instance of the concept specified by data base id

Auxiliary concepts

Auxiliary concepts are not instantiated persistently in SimDM Master Model and introduced on query schema level just to group corresponding functionality:

System groups functions related to most generic support
Item it is abstract super type of all named entities in SimDM Master Model. It collects few upper level functions.
Collection it is abstract super type for Node, PBS and Baseline. It contain a couple of functions.
Nodus it is abstract super type for Node and PBS and has just one finalization funtion.
STM It is a group of functions that serve web representation for the SimDM content.

Alphabetical lists of

Special topics

Error handling

In case of some error in a web-service request processing an exception could be raised which is wrapped by the server in XML format and returned to caller. The return pack is specified by error number, textual descriptive information (error message) and listed stack of server calls.



CAD/CAE data visualization

Some files attached to nodes in SimDM tree consist geometry data that can be visualized in 3D viewer on client side. The files should be specified by special types (AP209, AP203, CAX, P21 and P26) in create (upload) time and server provides additional processing of the files (extracting geometry data, tessellation, store preprocessed geometry as a BLOB in target data model). Then the geometry can downloaded by another users to view it in special 3D viewer. See file_body_set, file_CAX_generate services.

AP209/203 data files handling

These STEP files can be uploaded to target data model as a common files and then attached to a node(s). But they can be handled by special way because they can consist product breakdown - normal base for pbs tree representation. So they could be initial source of some SimDM data model or result (export) of some SimDM data model. See file_import_STEP, pbs_extract_ext, baseline_extract and pbs_export services. Also the files could be formally validated by the system, see file_validate, file_list_validate services.