[doc]利用Modula—3的安全的编程
利用Modula—3的安全的编程
到”MMI上
进行显示.在这个过程申,数据要在多个进程间进
行传送,共享.所以,恰当地选用各进程问的通信
方法,对于该应用系统来说是至关重要的.为此,
主要做了以下几点考虑,
实时数据库是整个系统的数据资源和按心.
它数据多容量大,有多个进程要对它进行存取,且
系统要求在磁盘上要始终维护一个和内存中的内容
相一致的副本,还要把在线机上的内容不断地传送
到热备用机上去.根据这些要求和特点,用共享文
恰当不过了.
前置通信进程要接收多达64个广站的实时数
据,通信数据量大,速度要求高.所以,它和数据
处理进程乏阃通过垒局段来传送敢据.
言如Adai蠡到沮丧.他们在寻一种语言,它是正
好’的(用G0ldilocb的话来说),它应能支持长期的
可靠性及可维护性,但也有足够现代的实用特征以
便有效地处理大的同题.实际上这就是如Modula一3的语言.
Modula一3由DEC及Olivetti在1989年设
计成.目的是用于系统程序设计.(历史情况见
下文Modula一3柏历史.)设计者有几个目标:
提供构造大的系统翟序所必要的抽象;模块,
对象,线索;及类属(generics).
提供使程序安全及坚固的机构;强类型检查,
例外.孤立不安全的代码,及自动的斑科收集.
童吾亩直童车量三{乜吾ip王月圣
适灼特征,但与较老语言的兼容性则不熏鬻
在系统运行时,各个进程都定时地或随机地
把各自的运行状态和发生的各类事件报告绮主逃程,由它处理登录,有的严重事件将发出告警以告
知操作人员.这样在主进程和其它各进程之间,采
用信箱来完J曩这类通信是非常合适的.其它进程只往信箱中写,只有主进程从该信箱中读取消息,数
据的传送是单向进行的.
系统中的设备名,网络结点名,任务说明串,
文件说明串,以及其它与系统相关的参数,都被定义成逻辑名,以便于系统的修改.
各进程之间基本上是以事件标志来进行同步
的,当然.在共享存贮区中,还有各种系统自定义
的同步标志.
该应用系统开发后韵运行表明,组合选用的这
些进程通信方法是适当的,收到了预期的效果. 五,结柬语
认真地研究一个录统的进程间通信的技术,对
于开发应用系统来说,是相当重要的对Micro
VM程通信技术的分析和研究,有助于我们了
解其特点,掌握其使用方法.希望本文的介绍,能
为应用程序的开发J起到一点参考作用.(参考文献略.)
—rP1zM0,
dula一3大致与Ada及c¨在同一等级l参见表l. 但是,Modula一3简化了某些个别特征从而避免了较大的语盲的复杂性.例如,Modula一3支持面向对象程序设计但只实现了单一继幂性而非多重继
母.它支持类属,但l又比Ada及c¨的类属简单得带*的特性将在语言的新版本中提供.
多.事实上,这些简化并不影响日常的编髯.很矛
盾的是,Modula-3也是最稳定的语吉JC’,Aria
及Modvia-2都正在标准委员叁中被.增强,在很多情配下是增加已经在Moduh一3中存在的特征SRCModuta一3
模拟人生3mod怎么用在讨论语言的特点之前,我应当提~UDEC公司
免费提供的高质量Modvla-3编译程序(称为SRC Moduln一3),在Internet上它可以源形式提供(在目录/pu
b/DEC/Modula一3中的gatekeeper.dec. corn).SRCModula一3能在大多数U~XT+作站上运行,井在很多大学,公司及研究实验室中得到使用.SRCMod.1a_3也包括一十丰富的运行时间庠, 其中含~UNIX及X-Windo’*-接口.眦及一个称为Trotle的面向对象的X-Window编程系统.
语育概观
Modula一3的句法不包含什么大的令人惊异之处l它是基于Modu;ia-2的,因而也基于PaseaI
语句,表选式及说明都相似于其他Pastal家旒语言
所有的那些.但必要时ModuIa-3会偏离Mod~la一
2.倒如,算术运算符及逻辑运算符的优先我序采
用C,Ada及Fortran中的更自然的方式而不用Pa蛊_
cat及Modula一2申的I参见表2.
在大的程序中,对过程与变量的集合设置某种
结构毗限制名字的滋生是重要的.Modx~la-3程序
被作为模块及接口的集合来构造.接口规定一组公
共设施:类型.变量.常量,及过程口是在设施的
开发者及其顾客之间的契约.模块通过为接口过程
提供私有数据及的过程及变量的名字如何受接口名限定的例子.这
使得在大程序中能容易地记录名字的来源.
表2MoJula-2与Modular3间的一些区别.*=孤立不安全因素,?*;00类属.例外
Modula一3ModR]a-2
说弱名字在整个作用城可见,可对变量初始化.名掌必须在使用之前说明不能初始化变量.
类型结构的等效.名字等效.
表选式类~yy-c的优先级顺序;A.B简缔为A.B,类似于Pascal的优先级颇庠,A.B不能缔
等等.短.
语句FOR循环说明其自己的变量.FOR循环变量必须由程序员说明.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。