作为一个实例,本节讨论前文提到的著作工具Ark的设计思想。Ark的设计基于一个面向多媒体著作的超媒体信息模型EDHM(Event Driven Hypermedia Model),较好地解决了超媒体链、对象同步和用户交互等关键问题。下文分别讨论著作工具设计中的三个关键问题:体系结构、同步方法和数据管理。
  EDHM的体系结构分为三层,从下到上分别是:数据层、文档层、表现层。如图7-14所示:
   7-14 体系结构
  
  数据层
  数据层中包含了文档中要表现的数据,以文件形式存储。其特点如下:
  1) 数据类型是没有限制的,比如现在常用的文本、图形、图像、声音、视频、动画等,还可以是将来出现的各种类型的数据。每类数据可以有几种文件格式,比如图像文件格式有BMP、PCX、GIF、TGA、TIFF、JPEG等,视频文件格式有AVI、MPEG等,音频文件格式有WAV、MIDI等。
  2) 数据文件可以存储在一台计算机上,也可以存储在网络上,形成分布式演示系统。
  3) 一个数据文件可以由多个演示系统共享。
  文档层
  文档层定义了超媒体概念中的结点,在EDHM中称为"页"。链接在一起的"页"的集合构成网(Web),也就是超媒体文档。一页存成一个文件,页文件也可以象数据文件一样分布式存储。
  本层也被称为容器层,因为一页就相当于一个容器,里面包含对象链表、背景信息和超媒体链。页的内部结构如图7-15所示:
   7-15
  
  对象链表是页中最重要的数据结构,上面挂着一些数据对象和交互对象。数据对象代表要表现的数据,比如文本对象代表一段文字,图像对象代表一个位图,视频对象代表一段视频剪辑,等等。这里我们很自然地采用面向对象的思想来抽象要表达的事物,对象中定义了它们的时空关系和表现特性。交互对象用来接受用户输入,使用户交互式地观看演示。如"热区"(按钮)就是一种最常用的交互对象,用户点一下按钮就执行一个动作,这个动作可以是发出一个声音、播放一段视频或跳转到其它页等。
  页也可以看作一个对象,背景信息就是页对象的一些属性,包括背景的大小、样式、颜色、播放时间等。
  超媒体链有两种,一种称为页链,指向页文件,可顺其跳转到其他页。页链把页文件连在一起,形成完整的演示系统。另一种称为数据链,包含于数据对象中,指向实际代表的数据文件。当启动一个数据对象时,就通过数据链找到相应数据文件,打开文件,显示或播放其内容。数据链把数据对象和数据文件联系起来。这种对链的分类是依据对链的不同处理方式而划分,链的定位方法并没有什么不同。
  表现层
  表现层中包含两个工具:编辑器和浏览器。编辑器用来生成文档,好的编辑器应该有可视化界面,让用户很方便地在页中加入数据对象,修改对象属性,快速生成文档。浏览器也称播放器,没有编辑功能,不能修改文档,只能让观众来观看文档。浏览器供读取和显示页文件,解释页文件的内容,把页中对象根据事先规定的同步关系播放出来,和用户进行交互,并处理超媒体链。