选篇DLTS41数据扩展技术的指导规范 ln.docx
- 文档编号:6365923
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:32
- 大小:37.55KB
选篇DLTS41数据扩展技术的指导规范 ln.docx
《选篇DLTS41数据扩展技术的指导规范 ln.docx》由会员分享,可在线阅读,更多相关《选篇DLTS41数据扩展技术的指导规范 ln.docx(32页珍藏版)》请在冰豆网上搜索。
选篇DLTS41数据扩展技术的指导规范ln
DLTS-41数据扩展技术的指导规范
目次
DLTS-4.1数据扩展技术的指导规范
一个数据模型,在对它及其绑定进行标准化的时候,都会涉及扩展的问题。
换句话说,就是同标准的一致性问题。
一致性问题是一个很重要的问题,因为它和数据模型的互操作性有直接的关系。
本规范就是想通过描述一种通用的扩展技术,为数据模型及其绑定标准的开发者提供有效的指导。
对于现代远程教育的其它标准,在处理扩展(即一致性)问题时,应参考本规范。
11 概述
11.1 范围
本指导规范规定了一些通用的扩展技术,用于数据模型及其绑定的标准化。
在本文中,“扩展”是指在某个标准范围以外的情况。
这些技术一般都涉及多个应用领域。
11.2 目的
本指导规范的目的在于为数据模型及其绑定标准的开发者提供一定的指导。
规范描述了一些通用的技术,用于满足用户,供应商和工业界在技术及商业上的不同利益。
本指导规范涉及几个互操作的问题。
互操作的层次是和标准的一致性层次相关的。
但是,一致性和互操作性之间还有一些细微的差别:
一致性是指某种实现(或一个系统)相对于某个标准(或规范)的要求的满足程度。
互操作性是指两个或更多实现系统之间的成功交互以及这些交互在某种程度上的自动化。
举个例子,以下是几种可能的互操作的场景:
1· 场景1:
某个实现只能和其它严格一致的实现达到互操作。
如:
某个实现可能只包含标准所规定的特征,不使用扩展或其它属性特征。
2· 场景2:
某个实现和来自同一个供应商,用户或组织的其它实现达到互操作。
3· 场景3:
某个实现能和大范围的扩展达到互操作。
这种扩展可以是用户定义的,供应商定义的,组织定义的和/或工业界定义的。
扩展的使用及标准化为新兴技术融入主流技术提供了一条通用的途径。
例如:
用户,供应商,组织,工业界等需要标准以外的特征(扩展)来满足他们特定的需要。
严格一致的实现不允许使用扩展,但是一致的实现可以使用扩展,只要能满足实现和数据互操作的要求即可。
当某种扩展被广泛使用后,那么在将来对标准做出修改时可以把这些特征集成到标准中。
因此,现在作为扩展被使用特征将来可能成为严格一致的实现所必要的东西。
12 规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本标准。
版本对于本规范的适用性。
对于没有时间规定的引用标准,本规范默认使用引用标准的最新版本。
4· IEEE1484.14.2/D1:
“学习技术的指导草案——数据扩展技术”
5· DLTC-2:
“词汇表”
6· RFC822:
7· IETFRFC2068:
“超文本传输协议”(HTTP/1.1)
8· W3CXML:
“扩展标记语言”
9· ISO/IEC11404(1996):
“语言无关的数据类型”
10· ANSIX3.30(1998):
“信息交换中日期和时间的表示”
11· ANSIX3.42(1990):
“信息交换中字符串的表示”
12· ANSIX.3.285(1998):
“数据表示的元数据模型”
13· ISO/IEC11179
14· ISO/IEC8601
13 定义
1注:
下面的定义是和DLTC-2——“词汇表”及相关参考文献相一致的。
13.1 通过规范性引用集成的定义
2注:
下面的术语和它们的定义是通过正规引用的方式集成进来的:
15· IEEE1484.14.1/D1:
“学习技术的指导草案——数据扩展技术”。
16· DLTC-2:
“词汇表”。
13.2 绑定(binding)
从一个框架或规范到另一个框架或规范的应用或映射。
13.3 保留数据元素(reserveddataelement)
在某些上下文中,在数据结构中没有被定义,也不能在数据结构的实例中使用的数据元素。
“保留”属性属于数据元素的生存期属性。
参见:
生存期(数据元素),过时数据元素。
13.4 本地特定行为(locale-specificbehavior)
依赖于民族,文化,语言,制度等地方习俗的行为,在具体实现时加以说明。
13.5 编码(codingorencoding)
(1)在信息交换中,信息的规范化或结构化的表示。
(2)用某一结构表示信息的过程。
(3)用比特和字节的格式对信息加以表示。
13.6 必需数据元素(mandatorydataelement)
在某些上下文中,在数据结构实例中被定义和要求的某个数据元素。
“必需”属性属于数据元素的强制属性。
参见:
条件数据元素,扩展数据元素,强制(数据元素),可选数据元素。
13.7 产生(数据)(produce(data))
处理数据直到词汇或编码边界被定义,然后写下结果数据。
其它形式:
产生数据,数据产生器,数据产生。
参见:
生成(数据),消费(数据)。
3注:
数据在产生前被生成。
13.8 过时数据元素(obsoletedataelement)
在某些上下文中,某一元素在一个数据结构中被定义,但它不能在数据结构的实例中使用。
“过时”属性属于数据元素的生存期属性。
参见:
生存期(数据元素),保留数据元素。
4注:
不提倡使用过时数据元素,关于它们的规定也许会在标准的将来版本中被删掉。
13.9 集合(数据类型,值)(aggregate(datatype,value))
从根本上来讲,集合的数据类型和值是由集合元素的数据类型和值组成的。
集合的数据类型或值是通过把集合元素的数据类型或值按照一定的算法流程加以组合得到的。
集合元素的值可以通过特定的操作加以访问。
集合的属性同集合元素的属性无关。
例1:
一个数组集合包含相同类型的数组元素。
对数组的操作如下实现:
通过索引值(一个数字)来访问单个数组元素。
my_array:
array(0..9)of(integer),//整数数组
my_array(4)//访问第五个元素
例2:
一个记录的集合包含独立的组成元素,每个组成元素有自己的类型和标识。
对纪录的操作如下实现:
通过元素名(一个标识符)来访问单个组成元素。
A:
record
(
B:
integer,
C:
void,
D:
characterstring(iso-10646-1),
),
A.B//访问标号为B的元素
5注:
该定义来自ISO/IEC11404.
13.10 解释(数据)(interpret(data))
处理数据,直到发现规范所要求的语义。
其它形式:
解释数据,数据解释器,数据解释。
参见:
生成(数据),消费(数据)。
注:
数据在解释前被消费。
例1:
在下列字符流中:
PQR
一个数据消费者能够识别:
17· 有两个记录,都用标号“R”标识。
18· 第一个“R”记录包含三个记录,分别用标号“A”,“B”,“C”标识。
19· 第二个“R”记录包含两个记录,分别用标号“D”,“E”标识。
因为已经被识别了的标号才能进行数据解释。
假设标号“E”代表一个扩展数据元素,那么一个数据解释器可能只能识别标准标号“A”,“B”“C”“D”。
基于1)“消费”和“解释”的分离,2)某种特定的标准绑定(如XML),一个应用程序可能只解释标准化的特征A,B,C和D。
正如上面所说,一个把数据消费和数据解释组合起来,但仅仅解释标准化数据元素的应用程序可以被称为严格一致的数据阅读器。
13.11 可选数据元素(optionaldataelement)
在某些上下文中,一个数据结构的某个元素被定义,允许其存在,但并不一定要求在数据结构的实例中出现。
“可选”属性属于数据元素的强制属性。
参见:
条件数据元素,扩展数据元素,必需数据元素,强制(数据元素)。
13.12 扩展数据元素(extendeddataelement)
在某些上下文中,数据结构的某个数据元素在标准之外被定义,但可能在数据结构的某个实例中被使用。
数据元素的“扩展”属性属于强制属性。
数据元素的“扩展”属性同一致性程度有关。
(例如:
严格一致的实现与一致的实现)
例如:
必需扩展数据元素,可选扩展数据元素,条件扩展数据元素。
参见:
条件数据元素,必需数据元素,强制(数据元素),可选数据元素。
13.13 漫游(访问,系统)(nomadic(access,system))
(1)利用间断的通讯会话和跨越不同的地理位置表现为连续性服务的外观。
(2)不间断地从它的子系统或相关系统的网络断开。
注:
也称为“有时连通”或“有时漫游”。
13.14 强制(数据元素)(obligation(dataelement))
对数据元素的某种要求,用于确定一个数据结构的合法性。
参见:
生存期(数据元素),条件数据元素,扩展数据元素,必需数据元素,可选数据元素。
例:
一个数据元素X,有四个元素:
A和B是必需的,C是可选的,D是条件的(如果B的值为真,则D存在)。
下面是合法和不合法的数据结构的例子:
(A=123)//不合法,缺少必需数据元素B
(A=123,B=false)//合法
(A=123,B=true)//不合法,缺少条件数据元素D
(A=123,B=true,D=17)//合法
(A=123,B=false,D=17)//合法
(A=123,B=nil,C=345)//合法
13.15 生成(数据)(generate(data))
把数据的语义用某种适合数据交换的形式加以表示。
例如:
根据某种概念模型把数据结构序列化,在此过程中不必把数据用某种具体的编码方式加以表示。
参见:
解释(数据),产生(数据)。
13.16 生存期(数据元素)(longevity(dataelement))
数据元素的一种属性,用于表示数据元素同标准的过去,现在或未来版本的关系。
参见:
强制(数据元素),过时数据元素,保留数据元素。
注:
生存期属性和强制属性无关。
例1:
一个过时数据元素也许包含在某规范的过去版本中,但不会包含在该规范的将来版本中。
例2:
一个保留数据元素可能并没有包含在某规范的过去版本中,但可能会包含在该规范的将来版本中。
13.17 实现定义的行为/值(implementation-definedbehavior/value)
未指定的行为或未指定的值,这些行为或值需要在实现时做出选择。
参见:
实现行为,未定义的行为/值,未指定的行为/值。
例如:
某种编码所允许的最大长度,用字节表示。
13.18 实现行为(implementationbehavior)
外部的观察,外观或行为。
参见:
实现定义的行为,实现值,未定义的行为,未指定的行为。
13.19 实现值(implementationvalue)
和实现相关的值。
参见:
实现行为,实现定义的行为/值,未定义的行为/值,未指定的行为/值。
13.20 数据对象(dataobject)
在数据访问的概念模型中数据处理的单元。
注1:
一个数据对象可以是一个数据元素或一个实现定义的对象。
严格一致的实现能使用和访问的数据对象只能是数据元素。
注2:
如果一个数据对象进行语义上的定义和限制,就成是一个数据结构。
一个数据结构的实例是一个数据集。
一个数据集,在某种绑定中进一步定义,限制和表示就是一个数据实例。
参见:
数据元素,数据实例,数据集,数据结构
13.21 数据集(dataset)
参见数据结构的第二条定义。
注:
数据集是独立于绑定的(和绑定无关)。
13.22 数据结构(datastructure)
(1)零个或多个数据元素集合而成的数据类型。
(2)零个或多个数据元素集合而成的实例。
6注:
在不同的情况下,一个数据结构可能是一个完整的不可分割的单元。
在这种情况下,这个数据结构可能是某个更高层数据结构的数据元素。
如:
一个记录,一个集合,一个序列,一个列表,一个数组。
13.23 数据实例(datainstance)
数据集在某种绑定中被进一步定义,限制和表示。
13.24 条件数据元素(conditionaldataelement)
在某些上下文中,如果某些条件被满足,那么在数据结构的实例中,某个元素被定义和要求。
一个数据元素的“条件”属性属于义务属性。
参见:
扩展数据元素,必需数据元素,强制(数据元素),可选数据元素。
13.25 消费(数据)(consume(data))
读取数据并进行如下处理:
找到词汇或编码的边界。
其它形式:
消费数据,数据消费者,数据消费。
参见:
解释(数据),产生(数据)。
7注:
数据在解释前被消费。
例1:
在下列字符流中:
PQR
一个数据消费者能够识别:
20· 有两个记录,都用标号“R”标识。
21· 第一个“R”记录包含三个记录,分别用标号“A”,“B”,“C”标识。
22· 第二个“R”记录包含两个记录,分别用标号“D”,“E”标识。
但是,数据消费者:
23· 不知道标号的意思:
...是什么意思?
24· 不能确定标号的合法性:
“
25· 不能确定记录内容的合法性:
在记录“A”中,“123.45”是合法值吗?
26· 可以限制消费的深度:
“R”只用往下分析一层就发现标号“D”和“E”,但对“E”的内容只是进行有限的分析(即发现对等的标号),因此标号“F”和“G”不会被发现和分析。
因此,一个数据消费者对一个信息结构可以只是进行部分的理解。
例2:
下面是一个API的例子,它表明了扩展数据在被间接使用时(这种实现仍是严格一致的),数据消费和数据解释之间的区别。
////这个例子包含两个文件:
头文件"std_data.h"和一个包含该头文件的严格一////致的应用程序
//////////////////////////////////////////////////////////////
////下面是所包含的头文件"std_data.h"
structstd_data
{
intstd_element_1;//必需元素
void*std_element_2;//可选元素
intext_element_3;//扩展元素.
};
//////////////////////////////////////////////////////////////
////严格一致的应用程序
//引用标准头文件(内容在上面列出)
#include"std_data.h"
structstd_datax;//声明x是std_data.
my_code()
{
structstd_datay,z;//声明"y"和"z".
//严格一致的代码,但是扩展元素"ext_element_3"被复制。
memcpy(&y,&x,sizeof(x));
//把字符串赋给"std_element_2".
//把长度赋给"std_element_1".
y.std_element_2="hellothere";
y.std_element_1=strlen(y.std_element_2);
//严格一致的代码,但是扩展元素"ext_element_3"被复制。
memcpy(&z,&y,sizeof(y));
}
//////////////////////////////////////////////////////////////
该例子是严格一致的,因为在实现时只解释和生成了标准集合中的元素(即std_element_1和std_element_2)。
Memcpy(在内存中复制对象)操作在这个假设的API绑定中相当于消费和产生操作。
而直接的元素访问(如y.std_element_1)在该假设的API绑定中是解释和生成操作。
13.26 信息库(repository)
数据集的集合以及对信息进行存储,索引,查找和提取的数据访问方法。
13.27 未定义的行为/值(undefinedbehavior/value)
标准中没有做任何要求的实现行为或实现值
参见:
实现行为,实现值,实现定义的行为/值,未指定的行为/值。
例1:
可能的未定义的行为包括,但不局限于:
27· 完全忽略某种情形。
28· 不可预知的结果。
例2:
可能的未定义的值包括“无穷”,“空”,“非数字”等。
13.28 未指定的行为/值(unspecifiedbehavior/value)
标准提供两个或更多的可能性,但不做进一步要求的实现行为或实现值。
参见:
实现行为,实现值,实现定义的行为/值,未定义的行为/值。
例1:
一个应用程序对算法的选择,该算法用于创建对象的标识符。
例2:
过程调用的参数入栈的次序。
13.29 缩写
29· API:
ApplicationProgrammingInterface(应用程序接口)
30· ICS:
ImplementationConformanceStatement(实现的一致性声明)
31· IETF:
InternetEngineeringTaskForce
32· LID:
LanguageIndependentDatatypes(语言无关数据类型,即ISO/IEC11404)
33· DLTSC:
DistanceLearningTechnologyStandards(远程教育技术标准委员会)
34· RFC:
RequestforComments
35· SPM:
SmallestPermittedMaximum(最低峰值)
36· W3C:
WorldWideWebConsortium(WWW论坛)
37· XML:
eXtensibleMarkupLanguage(扩展标记语言)
14 应用模型
对于本规范,“应用”被认为是以下几种:
(1)数据实例,
(2)数据阅读器,(3)数据写作器,(4)数据信息库,(5)数据应用程序。
这些应用可能使用或遵循一个或多个标准,如编码绑定,API绑定或协议绑定。
14.1 数据访问模型
在数据访问的概念模型中,应用程序可能包含如下特征:
注:
在下面,对“应该”和“可以”的陈述应该应用于相关的标准,不是本规范。
38· 数据对象模型(DataObjectModel)。
一个数据对象应该至少是一个数据元素或一个实现定义的对象。
39· 数据存储模型(DataStorageModel)。
数据(包括数据集)可以存储在某个数据对象里,通过标识符来引用。
40· 数据提取模型(DataRetrievalModel)。
数据(包括数据集)可以从数据对象里提取,通过标识符来引用。
41· 数据类型模型(DataTypingModel)。
如果数据对象是数据元素,那么它应该有数据类型。
数据类型可以用来规定值的空间(即值域),数据表示,编码,存储,设计,同其它类型的转换,方法和操作等。
XXX标准的数据元素的数据类型使用ISO/IEC11404的语义和符号。
42· 数据属性模型(DataAttributeModel)。
一个数据属性应该是一个实现定义的对象,该对象和某个数据对象相联系。
这些属性本身可以作为数据对象加以访问。
43· 数据信息库访问模型(DataRepositoryAccessModel)。
标准化的绑定定义对信息库的访问(如果有的话)。
44· 数据信息库安全模型(DataRepositorySecurityModel)。
某个标准可以定义一个安全模型。
45· 数据持续模型(DataPersistenceModel)。
数据对象的生命期应该是实现定义的。
46· 数据浏览模型(DataNavigationModel)。
对数据结构的浏览技术在绑定标准中定义。
47· 数据鉴定模型(DataIdentificationModel)。
鉴定,分类,名称空间及相关的技术应该在实现时定义。
48· 数据引用模型(DataReferencingModel)。
数据信息库可以创建对某个数据对象的引用,用于以后的调用。
命名规则,生命期和引用范围应该在实现时定义。
49· 数据调用模型(DataDereferencingModel)。
数据信息库可以通过提供一个引用来访问数据对象,即调用一个引用。
调用的方法在实现时定义。
50· 数据索引模型(DataIndexingModel)。
对数据信息库的索引方法应该在实现时定义。
注:
“索引”这个词在数据信息库系统中被使用,即数据信息库组织记录的方法。
51· 数据查找模型(DataSearchingModel)。
对数据信息库的查找方法应该在实现时定义。
14.2 通用数据操作
标准可能支持对数据集的如下数据管理操作:
52· 创建操作(CreateOperation)。
创建某个信息类型的一个新的实例,如个人信息。
53· 删除操作(DestroyOperation)。
把某个信息类型的实例从它的存储环境中删除掉。
注:
注意区分“从应用程序的内存中删除”,“从临时存储中删除”和“从数据信息库中删除”。
54· 复制操作(CopyOperation)。
创建一个具有相同内容的信息类型的新的实例。
55· 转移操作(MoveOperation)。
改变某个信息类型的实例的标签,通过改变信息的存储(隐式的标签改变)或改变标签本身(显式的标签改变)来实现。
56· 标注操作(LabelOperation)。
创建(或删除)一个名称,该名称由“调用者”指定,把该名称同一个信息实例联系起来。
57· 定位操作(NavigateOperation)。
使用一种命名方法(绝对的,相对的,完全的,渐进的)来定位某个信息类型的实例。
58· 查找操作(SearchOperation)。
找到和查找条件相匹配的信息对象的实例,并把查到的信息通过引用,标注或复制的方式返回。
59· 引用操作(ReferenceOperation)。
创建一个到信息对象实例的句柄。
注:
一个引用和一个标注的区别在于:
“调用者”为一个标注选择名称,而“被调用者”为一个引用选择名称。
60· 调用操作(DereferenceOperation)。
通过引用操作创建的句柄来访问一个信息类型的实例。
61· 聚合操作(AggregationOperation)。
把一个或多个信息类型的几个实例组合到一个容器中。
62· 分解操作(D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选篇DLTS41数据扩展技术的指导规范 ln 选篇 DLTS41 数据 扩展 技术 指导 规范
![提示](https://static.bdocx.com/images/bang_tan.gif)