木偶 肯特标志

occam-pi:混合CSP和pi-calculus的最佳成分

[新闻|occam-pi型|下载|文档|漏洞|即将到来的太阳|出版物|链接]

Occam-pi和KRoC是正在进行的扩展(CSP)理念的研究的结果通过明智地包含pi-calculus的移动性特征来实现occam。出于可证明性的利益,我们一直在谨慎地保持区别在原始的简单静态点到点同步通信之间occam和pi-calculus的动态异步多路通信;在这方面,我们准备牺牲pi-calculus优雅的稀疏性。我们推测,引入的额外复杂性(和纪律)将使更容易证明并发和分布式程序的任务。

Kent可重定向occam编译器(KRoC)是一个occam/occam-pi语言平台,由occam编译器、本机代码转换器和支持运行时系统组成。

本页记录了开源(GNU(全球导航单元) 通用公共许可证(GPL)图书馆通用公共许可证(LGPL))KRoC版本,当前支持运行Linux或FreeBSD的基于Intel/i386的计算机。二进制版本KRoC版本(即不要支持occam-pi扩展)可用于Solaris/SPARC、OSF/Alpha和Parsytec/PowerPC,从WoTUG站点.

CSP具有复合语义和指称语义,这意味着它允许模块化和增量开发(细化)即使是并发组件。反过来,这意味着我们得到当我们并行运行进程时,这并不奇怪(因为它们的点所有各方都必须明确处理交互的这些交互)。这根本不是标准情况线程和锁并发,没有正式的指称语义和我们一直感到惊讶。

然而,我们需要一些扩展来描述某些新的动态-这就是我们讨论pi-calculus的地方。明确地,我们希望允许过程网络发展,改变其拓扑,在不丢失语义的情况下应对增长和衰退或结构完整性。我们希望解决流程的移动性问题,渠道和数据,并了解这些想法之间的关系。我们希望保留对此类系统进行推理的能力,保留精化的概念。

occam-pi语言

此版本的occam编译器支持新的occam-pi型语言的版本。新功能包括:

更多信息与occam-pi的新语言扩展有关。KRoC的其他信息,包括参考手册(目前大多是偶然发生的,不是occam-pi),新occamdoc工具的标准、开发说明和其他编程语言和系统组Wiki.

新闻

下载和安装KRoC

KRoC的开源版本可用作tarball:

注:这个版本现在很旧了。如果您打算使用较新的语言的特点,我们建议您遵循此处的说明,安装更新版本的KRoC。

下载后,解压缩tarball,将其更改为`克洛克-版本'目录并运行`建造'用于编译和安装KRoC的脚本:


    猛击$焦油-xvzf kroc-1.4.0.tar.gz
    克罗克-1.4.0/
    kroc-1.4.0/建筑
    ...
    猛击$cd克朗-1.40
    猛击$./内部版本
    
    KRoC安装配置
    
    …配置选项。。。
    
    1-7用于更改路径,A-E用于切换/设置功能,Ctrl-C用于中止,
    返回以确认并安装:
    …生成的输出。。。
		

默认情况下,KRoC将自己安装在源树中。要选择其他安装目录,请输入1在提示符下,再次出现提示时,键入所需的目录。配置的其他部分可以用类似的方式设置。要使用默认设置进行安装,只需按return。可以通过按Ctrl-C随时中止生成过程--当`建造“是重新运行的,它不会重新构建已经编译好的东西。有关建筑KRoC的详细信息:


    猛击$./build--帮助
    …生成用法和选项。。。
		

注释:如果安装成功完成`建造'脚本将显示消息--请仔细阅读因为它包含与包裹相关的重要信息。你还应该阅读顶层`自述文件'文件。

各种示例程序可以用以下方法构建:


    猛击$./内部版本示例
    …生成的输出。。。
		

示例程序现在安装在“kroc特定文件”目录下(如配置中所示)。目前有:

号码簿描述
示例/课程/课程库示例程序、演示和occam练习的一些模型答案
示例/同步/同步原语示例
示例/udc/用户定义频道示例程序
示例/cif/C接口示例程序
示例/演示/“better-bar”示威者
示例/bsc/文件/套接字/进程示例(用于阻塞系统调用)
示例/dynproc/动态可加载流程示例
示例/sdlraster/SDLRaster示例程序

源树可以通过运行`./build清除'.这不会删除任何已安装的内容,但会删除任何示例程序和生成的cgtest(已生成使用`./内部版本示例'和`./构建cgtests')。

文档

大部分KRoC文档都是以文本/HTML文件和UNIX手册页的形式提供的。在KRoC 1.3.3及以上版本中,标准“课程”除了Inmos库的最小手册页(仅详细说明PROC/FUNCTION接口并给出图书馆的简要描述)。与KRoC相关的文件安装在指定的“KRoC特定文件”目录下文件/.

如果你是KRoC的新手,你应该阅读KRoC入门页面(发行版中包含文本版本作为基本上-kroc.txt). 本文介绍了occam-pi程序的基本知识以及如何用KRoC编译。

以下文档是在线的(也包括在分发中):

报告Bug

如果您在Linux系统上编译或安装KRoC时遇到问题,我们可能会提供帮助。当`建造'脚本运行后离开在名为`打字稿'(位于分发的顶级目录中)。如果编译失败,此文件将具有错误消息的副本。将此文件作为附件通过电子邮件发送到ofa-bugs@kent.ac.uk。也请在电子邮件中包含任何相关信息,例如:硬件/处理器(`cat/proc/cpuinfo'); Linux内核版本(`cat/proc/版本',或`找到对应内核版本); 以及您正在使用的发行版的名称和版本(例如“Debian stable”)。

拥有完整的打字文件通常很有帮助。要获得此信息,请执行“distclean”,然后重新构建分发版:


    猛击$./build分布式清理
    …生成的输出。。。
    猛击$./构建
    
    KRoC安装配置
    
    …配置选项。。。
    
    1-7用于更改路径,A-E用于切换/设置功能,Ctrl-C用于中止,
    返回以确认并安装:
    …生成的输出。。。
		

有一个讨论occam/KRoC相关问题的邮件列表,occam-com@kent.ac.uk。这是一个封闭列表,请订阅邮件皮特·韦尔奇.

马上就来

KRoC开源版本正在不断开发中。计划在未来版本中添加/扩展以下内容,并且可能已经在中得到部分支持开发版本:

相关出版物

与KRoC项目相关的所有出版物都可以在本页上找到:http://www.cs.kent.ac.uk/research/groups/sys/kroc.html.

相关链接

occam-pi型

有效的CSS!

有效的XHTML 1.1!

上次修改日期:2013年3月3日
本文件由弗雷德·巴恩斯皮特·韦尔奇