软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
进一步认识AsmL

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

AsmL听起来相当的神奇,尤其是它所建立的模型可以作为这些模型所描述的系统的模拟程序来运行这一特性,不但能够帮助我们在着手实现之前检查我们的设计的完备性,而且还能够帮助我们在实现过程中检查设计的合理性以及实现的正确性。这不正是我们想要得吗?还等什么?立即down一份来试试吧!(注:如果您还不知道什么是AsmL,没关系,您可以参考我的另一篇文章《AsmL: 可执行的软件规格》)

 

http://research.microsoft.com/foundations/asml/ 可以得到AsmL的安装程序和一些相关的文档。AsmL目前的版本是2.5.1.8,是一个for .NET的版本,能够与Visual Studio.NET以及Word集成。下载安装相当简便,不必多说。安装完毕之后,运行Visual Studio.NET会发现,IDE中多了一个插件,如下图:

此时插件上的按钮是无效的,只有打开AsmL模型文件时才会变得有效。AsmL的模型文件的文件名后缀是.asml,模型文件内部以Xml格式组织。插件上三个按钮的作用从左到右依次是:与Word文档同步,以HTML格式显示规格,重新组织Xml格式。

 

现在我们是这用AsmL来建立一模型。

 

首先,新建一个空的C#工程,不妨取名为AsmLTest。在Solution Explorer中右击项目,用“Add->Add New Item”添加一个新Item,此时会在Add New Item对话框中找到AsmL Document,添加之。这样我们的工程中就多了一个名为Modal1.asmlItem,如下图:

 

此时插件上的按钮已经有效,点击“与Word同步”按钮可以得到同步的Word文档,如下图:

 

点击“以Html显示”按钮,可以得到规格的html格式,如下图:

 

点击“重新格式Xml”,asml文件会被重新格式,如下图:

 

现在来试一下可执行规格的最重要的特性——可执行。AsmL的编译运行方法与其他的.NET程序别无二致,直接F5就可以。运行结果如下:

 

经过上面这个小例子,你心动了吗?想想吧,在你设计建模的时候,你只需将你的模型用AsmL描述出来,你就立即得到了三个版本的设计规格:XmlWordHtml。而且这三个版本是可以同步更新的,在不必担心规格与设计同步的问题了。更神奇的是,你的设计模型是可以执行的,你可以随时知道自己的设计是否合理,实现是否正确,而不必等到写了大量的代码之后又将设计推倒重来。

 

需要说明的是,目前的AsmL是一个仍处于研究中的项目,目前的版本也存在一些问题。比如,你有可能在安装完首次编译AsmL模型时遇到“找不到入口点”的错误,此时你只要将VS.NET关闭重来一次就行了,此问题只会在首次编译AsmL时出现。同时,AsmL也还无法与其他的.NET语言如VC等很好的交互。理论上来说,AsmL应该能够与任何语言交互,只是目前版本的AsmL插件的Wizard无法识别除C# project以外的project,也许下一版本会有所改善J

 

本文旨在引介AsmL。由于作者也刚刚接触AsmL不久,文中的错误与疏漏之处在所难免。如遇不明之处,相信能够从微软研究院的相关网站上招到答案。欲对AsmL有更深入地了解,可以参考《AsmL: The Abstract State Machine Language》,这篇文章同样可以在微软研究院的网站上找到。

 




相关文章

相关软件