发表于:2004-12-16 10:49:00
楼主
S A M M I 应用开发工具包
用于开发和部署分布式结构下可图形化显示及控制应用程序的高性能图形框架体系
一、技术挑战
当今,众多高科技公司都面临着一项永无休止的挑战性任务,需要集成、更新改造一大类复杂的软件系统,以便适应软件操作上不断变化的需求和技术挑战。然而,与大多数高端应用系统一样,修改某个用户的图形用户界面(GUI)应用程序其代价过高,因为这需要花费宝贵的开发时间和部署时间,并需付出长期维护成本。
二、Sammi的解决方案
Sammi应用软件开发工具包(ADK)所提供的高级商用软件产品完全适合于软件集成商迎接上述技术挑战。它为商业应用领域关键的实时系统所用的图形应用软件提供了一种简单而高效的开发、测试和维护工具。
Sammi作为一种基于客户机/服务器和万维网(web)环境的应用软件快速开发工具,它可缩短软件的开发总时间。传统的做法是,将用户接口程序嵌入应用程序之中,以避免软件开发者在不重新编译应用程序的条件下改变图形显示。Sammi巧妙地把用户接口和应用程序分开,这样就可并行开发这两部分内容,从而加速开发进度。
Sammi真正具有跨平台的移植能力,使用户能将分散在多种混合操作系统网络中的各种应用程序(例如DEC,Microsoft,Sun,Sgi,Hp和Linux操作系统的应用程序)集成在一起。甚至数据也能以图形格式显示在Java支持的万维网络浏览器上。
自1990年以来,Sammi已被许多全球领先的技术公司现场证明,这一技术可广泛用于要求实现多重数据源的图形和管理的关键应用领域。迄今Kinesix公司已在全球25个国家范围内发放了17000多个Sammi销售许可证,目前,这一技术已广泛用于一系列关键性任务应用系统。包括航空航天和防御,卫星和宇宙飞船的指令及控制,过程控制,工厂自动化,SCADA(监控和数据采集)和分布式控制,工具,空中交通控制,智能交通,远程通信,网络监视系统,生物技术,彷真和训练等。
三、Sammi产品的组成单元
格式编辑器(FE) - Sammi的格式编辑器能使用户绕过最耗时间且代价高昂的应用程序开发阶段,即涉及和建立用户界面的阶段。Sammi的FE兼有人们熟悉的向量制图程序的外观以及计算机辅助设计(CAD)产品的全部特色功能。用户可以在选项板上任意选择40余种内置的动态显示对象(DDO),例如动态趋势、计量仪表、菜单、按钮,同时还可绘制复杂的图纸,并能生成模拟动态行为的静态对象动画。因此用户无需编制图形码,只需要指定到需要的图形对象,并为该对象指定数据源。
Sammi的FE能够导入DXF (数据交换文件)文件,例如可导入AutoCAD绘制的图形文件和其他制图程序输出的文件。这样就可利用现有的图纸,从而省去重新制图所需的时间和精力。静态对象一旦被输入,便可迅速将其转换成动态显示对象,以显示数据更新后的实况,同时可以利用Sammi的绘图工具进一步修改静态对象。譬如,可以根据正在输入的数据类型将一张平面图或一张地图作为矢量绘图的输入,然后制成模拟真实场景。
运行时环境(RTE) -程序运行过程中,Sammi管理各分散用户之间以及图形用户接口(GUI)与peer-to-peer或client/web应用程序之间的所有命令、事件和数据。其结果是一幅实时更新的活灵活现的图形显示。
这种运行时环境(RTE)基于多进程体系结构,每一个进程仅与一项独立任务有关。由于系统不必等待其他进程处理完毕,从而可缩短系统对终端用户的响应时间。譬如,某个用户可以在其他进程正在处理屏幕更新和网络通信的同时,继续输入其数据。此外,这种结构体系设计使系统具有故障切换能力,如果某个服务器出现故障,系统将自动切换,与预先设置好的备份服务器连接,大大提高了系统的可靠性。
应用程序编程接口(API) -用标准的图形用户接口(GUI)开发分布式应用程序通常是一个难题。数据能用图形显示之前,必须先驻留在图形工作站。通常,用户必须通过网络来管理这些数据的获取和分发,因此必须有网络通信协议。Sammi通过应用程序编程接口程序提供内部预置的联网能力解决了这个难题。
API程序可管理一个分布式应用程序与一个图形用户接口程序(GUI)之间的所有网络连接与通信功能。Sammi的API利用传输层控制协议和网间协议(TCP/IP)以及远程进程调用程序(RPC)来处理数据的传输与转换,从而无需编写网络接口程序,就可执行同级协议或服务器协议,管理地址的名空间,或处理与其相关的数据类型问题。
四、Sammi产品的定制
尽管Sammi为用户提供了一系列范围广泛的内置可选项以及一组丰富多彩的动态显示对象集合,但有些应用领域所要求的功能或显示对象在sammi所提供的ADK中仍无法觅得。然而,sammi开发商所提供的这个软件包(SDK)是一种可任选的工具包,它允许编程人员扩充、增强和修改Sammi及其格式编辑器,以满足用户系统的要求。
SDK这种面向对象的体系结构为广大用户提供了一种灵活的框架结构,允许各类用户根据自己的需要建立新的对象类型,修改现有的对象或集成第三方采用的可视编程环境的小产品。SDK使SAMMI浓缩成一个真正的开放式系统。赋予广大软件开发人员最大的灵活性,使他们既能满足目前的需要,又能适应即将问世的标准和未来的技术挑战。