37、超媒体应用建模与Klee测量问题研究

超媒体应用建模与Klee测量问题研究

超媒体建模语言(HML)

HML在超媒体应用建模方面具有重要作用,涵盖了多个关键方面。
1. 超链接建模
- 每个目标都指定了一个锚点,它是一个视图,会在超链接激活的位置包含到源视图中。多数情况下,这是目标视图所有者的另一个更简单的视图。
- HML支持内联(类似WWW)和外联(类似DHM)链接,还能对n元超链接、动态计算的超链接和链接上下文进行建模。
- 例如,从Area~bookList v - 类的实例到具有锚点Book~simpleBibItem的Book~main类型视图的一元内联超链接集合,有图形和文本两种语义等价的指定形式。
2. 导航上下文和访问结构建模
- HML可用于建模复杂的导航上下文和访问结构。以LIS应用为例,Area~bookList v - 类表示当前感兴趣区域内所有书籍的索引,其递归性通过将自身包含到自身中来实现,且由域模型中的约束保证递归终止(区域结构必须是有向无环图)。
- 相关示例如下:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(Area~bookList):::process --> B(Book~main views):::process
    A --> C(Subarea):::process
    C --> D(Book~main views):::process
  1. 操作功能
    • 导航/操作层的操作功能允许通过参与者在视图上执行的操作来更改域层。这通过附加到整个v - 类或其特定包含的操作属性来指定。
    • 预定义的操作属性如下表所示:
      | 属性 | 描述 |
      | ---- | ---- |
      | in | 包含仅为输入(允许输入一些值) |
      | out | 包含仅为输出(显示一些值);默认行为 |
      | inout | 包含既为输入又为输出 |
      | copy | 包含可以被复制 |
      | paste | 可以在包含的位置粘贴复制的视图 |
      | drag | 包含可以被拖动 |
      | drop | 可以在包含的位置放置拖动的视图 |
  2. 同步模型
    • HML提供了基于时间关系的多媒体同步模型,与CMIFed、HPAS或W3C的SMIL标准使用的同步原理类似。
    • 有三种时间关系(UML原型):SerialLink(表示有延迟的顺序时间排序)、StartSync(确定视图展示同时开始,可能有延迟)和EndSync(表示视图展示同时结束,可能有延迟)。其表示和语义如下:
graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(A):::process -->|<<SerialLink>> d| B(B):::process
    C(A):::process -->|<<StartSync>> p| D(B):::process
    E(A):::process -->|<<EndSync>> q| F(B):::process
  1. 媒体通道模型
    • 应用包含不同媒体类型的数据,每个数据都要在某个输出设备上呈现。媒体通道是用于播放事件的抽象输入/输出设备,运行时会映射到物理输入/输出设备。
    • 通道类型由定义通道属性的类建模,这些属性可被应用访问,包括表示物理设备相关属性的属性(如窗口大小和位置、音频通道的音量、质量、平衡等)和利用实例化通道功能的操作(如打开、播放、关闭、停止通道等)。
    • 例如,LIS应用的通道类型结构中,ApplicationWindow分为MenuFrame、IndexFrame和DataFrame,Workspace通道用于显示屏幕上的所有对话类型。视图到通道的静态映射通过带有“play”原型的依赖关系指定,也可通过表示属性指定。
graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(ApplicationWindow):::process --> B(MenuFrame):::process
    A --> C(IndexFrame):::process
    A --> D(DataFrame):::process
    E(Workspace):::process --> F(Dialogue):::process
    G(Reader~main):::process -->|<<play>>| D
  1. 呈现模型
    • 呈现模型定义了导航对象和通道到用户界面对象(小部件)及其属性的映射。呈现通过将由一组属性规范表示的呈现规范附加到整个视图、视图的特定包含、链接锚点和目标或通道来定义。
    • 呈现规范在很大程度上取决于目标实现环境,因此预定义的呈现属性集以及其值的语法和语义规范不在HML的范围内。
  2. HML实现
    • 由于HML是UML的变体,许多建模构造使用UML扩展机制,因此可以通过修改支持UML及其扩展机制的现有CASE工具来实现对HML建模过程的软件支持。选择了Rational Rose 98。
    • 已经实现了导航、同步和媒体通道建模的核心部分,目前正在进行模型管理功能(如浏览HML元素或查找模型不一致性)的实现以及将代码生成到支持JavaScript的HTML语言的工作。
Klee测量问题

Klee测量问题是计算d维空间中给定的n个同位轴框的并集的体积。
1. 问题背景
- 对于d维欧几里得空间的测量问题,Klee提出了该问题。当d = 1时,Klee给出了O(n log n)时间的算法,且该时间界限在代数计算树模型中是最优的;d = 2时,Bentley给出了O(n log n)时间的算法。对于d ≥ 3,最初算法时间性能为O(nd - 1 log n),后经改进为O(nd - 1),目前最快的算法是Overmars和Yap开发的O(nd/2 log n)。
- 本文提出了一种概念上更简单的方法,主要针对三维和四维情况,分别能在O(n3/2 log n)和O(n2 log n)时间内完成计算,推广到更高维度d时,算法时间复杂度为O(nd/2 log n)。
2. 平面扫描技术
- 自然的方法是使用平面扫描技术。首先选择一个坐标(如x),对所有框角的x坐标集合X进行排序,创建事件点调度。然后将算法视为移动一个垂直于x轴的(d - 1)维超平面通过X中的所有连续点,维护扫描平面状态(即框与超平面的交集Kx的测量值)。
- 每个事件x是某个框的一条边的坐标,在超平面扫描过程中,经过x时需要向Kx添加或移除一个(d - 1)维框。总时间复杂度受O(n * t)限制,其中t是更新Kx测量值所需时间的界限。这样,d维测量问题就简化为维护(d - 1)维空间中一组变化框的总测量值的问题,需要设计一个数据结构来实现插入、删除和测量操作。
3. 三维情况
- Overmars和Yap针对三维测量问题的解决方案使用了一种2 - D树来维护矩形面积,插入和删除时间为O(√n)。本文提出了一种称为网格四叉树的四叉树变体,插入和删除时间也为O(√n),且概念上更简单。
- 网格四叉树的构建 :假设有4n个平面上的点(n个输入矩形的顶点),取包含所有点的矩形,通过中位数x和y坐标绘制水平和垂直线将其划分为四个象限,对每个象限递归执行此操作,但仅考虑内部点的中位数。最终得到的空矩形分配给叶子节点。
- 节点的数据结构 :内部节点有一个计数器,存储完全覆盖分配矩形的输入矩形数量。叶子节点维护两个线段树来处理与该单元格相交的水平和垂直条带的面积。
- 定理证明 :证明了一条水平或垂直线最多与为n个矩形构建的网格四叉树的√2(1 + √2)√n个叶子节点相交。通过平面扫描算法,使用网格四叉树维护扫描平面与输入框的交集面积时,计算n个三维框的并集的测量值的时间复杂度为O(n3/2 log n)。
- 构建网格四叉树时,为每个顶点创建两个副本,分别存储在按y坐标排序的数组Ay和按z坐标排序的数组Az中,通过数组中间元素确定y和z坐标的中位数。

超媒体应用建模与Klee测量问题研究(续)

超媒体建模语言(HML)的应用优势与展望

HML在超媒体应用建模中展现出了多方面的优势,并且在未来有着广阔的应用前景。
1. 优势总结
- 全面性 :HML涵盖了超链接、导航上下文、操作、同步、媒体通道和呈现等多个关键方面的建模,为超媒体应用提供了全面的设计支持。例如,在LIS应用中,能够清晰地构建书籍索引的导航结构,以及实现多媒体元素的同步展示。
- 灵活性 :支持多种类型的超链接,包括内联和外联链接,还能处理n元超链接、动态计算的超链接和链接上下文。同时,操作属性的预定义和可扩展性,使得开发者可以根据具体需求定制应用的操作功能。
- 兼容性 :作为UML的变体,HML可以利用UML的扩展机制,通过修改现有的CASE工具(如Rational Rose 98)来实现建模过程的软件支持,降低了开发成本和学习成本。
2. 未来展望
- 模式语言的细化 :未来可以进一步细化导航和界面设计模式的定义,利用HML已经定义的一些简单访问结构的导航模式(如索引、引导游览或索引引导游览),为超媒体模式语言的发展提供更多支持。
- 跨平台应用 :随着移动设备和不同操作系统的普及,HML可以在跨平台超媒体应用开发中发挥更大的作用。通过优化呈现模型,确保在不同设备和环境下都能提供一致的用户体验。

Klee测量问题的深入分析与拓展

Klee测量问题在计算几何领域具有重要意义,本文提出的方法不仅在低维情况下具有优势,还可以拓展到更高维度。
1. 算法复杂度分析
- 对比优势 :与现有的算法相比,本文提出的方法在概念上更简单,特别是在三维和四维情况下,能够达到与Overmars和Yap算法相同的渐近性能。在三维情况下,使用网格四叉树的平面扫描算法时间复杂度为O(n3/2 log n),避免了复杂的数据结构和算法设计。
- 复杂度推导 :通过平面扫描技术,将d维测量问题转化为(d - 1)维空间中维护变化框集合的总测量值问题。每次更新扫描平面状态(即添加或移除一个(d - 1)维框)的时间复杂度为O(t),总共有2n个事件,因此总时间复杂度受O(n * t)限制。在本文的算法中,通过使用网格四叉树,将t控制在合理范围内,从而实现了高效的计算。
2. 高维拓展
- 推广思路 :虽然本文主要描述了三维和四维的情况,但可以将方法推广到更高维度d。通过递归地应用平面扫描技术和网格四叉树的变体,有望实现时间复杂度为O(nd/2 log n)的算法。
- 挑战与解决方案 :在高维情况下,数据结构的设计和维护会变得更加复杂。例如,网格四叉树在高维空间中的划分和节点管理需要更精细的算法。未来可以研究如何优化数据结构,减少空间开销和时间复杂度。

总结与结论

本文介绍了超媒体建模语言HML和Klee测量问题的相关内容。HML为超媒体应用的建模提供了全面、灵活和兼容的解决方案,通过对导航、同步、媒体通道等方面的建模,能够开发出高质量的超媒体应用。而Klee测量问题的新方法在低维情况下表现出了良好的性能,并且具有推广到高维的潜力。
1. 关键要点回顾
- HML :包括超链接、导航上下文、操作、同步、媒体通道和呈现等多个建模方面,通过修改UML支持的CASE工具实现软件支持。
- Klee测量问题 :采用平面扫描技术和网格四叉树,在三维和四维情况下达到O(n3/2 log n)和O(n2 log n)的时间复杂度,有望推广到更高维度。
2. 未来研究方向
- 继续完善HML的导航和界面设计模式,推动超媒体模式语言的发展。
- 深入研究Klee测量问题在高维空间中的算法优化,提高计算效率。

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    A(HML应用):::process --> B(超链接建模):::process
    A --> C(导航上下文建模):::process
    A --> D(操作功能建模):::process
    A --> E(同步模型建模):::process
    A --> F(媒体通道模型建模):::process
    A --> G(呈现模型建模):::process
    H(Klee测量问题):::process --> I(平面扫描技术):::process
    H --> J(网格四叉树):::process
    J --> K(三维情况):::process
    J --> L(高维拓展):::process

通过以上的研究和分析,我们可以看到超媒体应用建模和Klee测量问题在理论和实践上都具有重要价值,未来的研究将进一步推动这两个领域的发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值