时间:2022-12-10 20:30:01 | 来源:信息时代
时间:2022-12-10 20:30:01 来源:信息时代
标准数据访问接口 : STEP标准系列中的一个重要组成部分(ISO10303-22),主要解决工程应用领域中工程数据的交换问题。
SDAI规定了实现数据交换标准的实施方法,是对使用Express语言所定义的数据进行交换操作的接口,它定义了对交换数据进行操作的一个操作集。
SDAI所操作的数据都是用Express语言所描述的一系列模式定义的,模式包括词典模式、会话模式、集居(population)模式、抽象数据类型模式和数据类型模式,这些模式共同构成了SDAI实现数据交换的程序设计环境:
(1)词典模式: 词典模式定义了数据词典,它存储由SDAI所操作的实例的模式信息,包括类型定义、实体定义和数据定义的有关信息。
(2)会话模式:会话模式提供对SDAI会话进行管理的结构,定义会话、访问方式及会话事件,基于会话模式的SDAI模型中的实体实例描述了一个SDAI会话的当前状态,SDAI会话模式中所申明的项应该都集居于用接口规范引用的SDAI词典中。
(3) 集居模式: 集居模式提供管理和创建Express实体实例的结构,该模式定义了SDAI模型和模式实例。通过SDAI会话模式接口,当该模式中所有的项集居于SDAI词典模式时,都被分解进入SDAI会话模式中。
(4)抽象数据类型模式: 抽象数据类型模式提供通过SDAI操作的数据的一般描述,该描述连同SDAI操作一起定义了数据的特性。SDAI抽象数据类型模式不需要SDAI服务实现,它本身支持对SDAI操作的描述和其中存在实例的SDAI环境的定义,具体实现是通过引用SDAI模型的实体定义。
(5) 数据类型模式: 数据类型模式描述通过SDAI操作可管理的实体数据类型之间的继承关系,这些关系用于对该模式实体数据类型的操纵实例中可用的操作分类。SDAI数据类型模式唯一的目的是定义允许语言联编的各种实体数据类型之间的继承关系,并在对SDAI操作的行为规范中使用这些关系。
SDAI操作是在语言联编中定义的,一个特定的SDAI操作能以某种联编映射成一个或多个函数,这些函数可以有一个或多个隐式传递的输入、输出或错误参数。SDAI的操作只能在确定的不同状态中进行,其中有会话状态、存储仓状态、读写事务状态、只读事务状态、只读SDAI模型状态和读写SDAI模型状态。状态之间会由于某些操作而引起状态过渡,即从一个状态变到另一个状态。
SDAI操作分为以下17类:
(1)环境操作: 包括打开会话,初始化SDAI服务,记录会话事件。
(2)会话操作:包括启动和停止SDAI会话的事件记录,打开存储仓,启动事务的只读或读写访问及交付或回退,结束事务访问、SDAI查询、关闭会话等。
(3)模式实例操作: 包括创建和删除模式实例,增加和取消SDAI模型,确认全局规则和唯一性规则,确认实例引用域等。
(4)存储仓操作:包括创建SDAI模型,关闭存储仓。
(5) SDAI模型操作: 包括删除或重命名SDAI模型,启动和结束只读访问,升级SDAI模型为读写访问,启动和结束读写方式,取得实体定义,创建实体实例,保存变化和回退等。
(6)作用域操作: 包括增加、取得和测试作用域,把应用实例添入、移出输入列表或作用域,删除作用域,复制同一或不同的SDAI模型中的作用域,确认作用域引用的限制等。
(7)类型操作:包括取得复杂实体,确定子类型、SDAI子类型以及是否可互操作等。
(8)实体实例操作: 包括取得和测试属性,寻找包含实体实例的SDAI模型,取得实例类型,测试确定实例、类型种类、SDAI的类型种类等。
(9)应用实例操作:在同一个或向其他的SDAI模型复制及删除应用实例,设置属性,创建聚合实例,确认检验规则、显式属性、逆向属性、显式属性引用、聚合大小、聚合的唯一性、实数精度及串和二进制位的长度等。
(10)实体实例聚合操作:包括取得成员的计数,测试是否是聚合成员,创建和删除迭代算符,取得当前的成员,对迭代算符定位在开头或下一个等操作。
(11)应用实例聚合操作: 包括通过迭代算符创建嵌套的聚合实例,设置和移去当前的聚合成员等。
(12)应用实例无序的集合操作: 包括对集合增加值,创建嵌套的聚合实例。
(13)实体实例有序的集合操作: 按索引取得集合元素,对迭代算符在集合中的定位进行操作。
(14)应用实体有序的集合操作: 包括按索引设置集合元素,按索引创建嵌套的聚合实例。
(15)实体实例数组操作: 包括按索引测试值和迭代算符测试值。
(16)应用实例数组操作: 按索引和用迭代算符的不设置值操作。
(17)应用实例列表操作: 用迭代算符在引用的列表成员之前或之后插入新成员,以及在列表的头和尾增加成员。
SDAI操作约有17类近百个操作,能满足实现数据交换的全部操作要求。
从本质上看,SDAI是一种数据操纵语言,管理符合概念模型的STEP数据,创建存储标准数据的内部存储格式,为应用系统存取STEP数据提供一个统一的存取接口。SDAI使应用程序可以独立于具体的数据存储技术和数据存取方法,为应用系统的开发提供了一个标准数据存取环境,使软件开发者可以把精力集中在主要开发工作上。SDAI独立于编程语言,但提供编程语言使用的接口以联编方式引用,SDAI本身的实现也需用程序设计语言来完成。