没有合适的资源?快使用搜索试试~ 我知道了~
KLAIM:分布式移动编程的新前沿研究
理论计算机科学电子笔记162(2006)159-162www.elsevier.com/locate/entcs从过程演算到Klaim再返回Rocco De Nicola罗科·德·尼古拉1,2Dipartimento di Sistemi e InformaticaUniversit`diFirenze意大利佛罗伦萨摘要我们简要描述的动机和背景设计的KLAIM,过程描述语言,已被证明是适合于描述广泛的分布式应用程序的代理和代码的移动性。 我们认为,KLAIM的一个缺点是,它既不是一种编程语言,也不是一个过程演算。然后,我们概述了我们最近追求的两个研究方向。 一方面,我们已经将Klaim发展为一种用于分布式移动编程的全边缘语言. 另一方面,我们将语言提炼成一些简单的演算,我们用来定义新的语义理论和等价性,并测试新运算符对网络感知编程的影响关键词:进程代数,网络感知编程,行为等价,形式规范,系统验证。介绍在过去的十年中,编程计算基础设施可在全球范围内提供统一的服务已成为计算机科学的主要问题之一。挑战来自于必须立即处理通信、合作、移动性、资源使用、安全、隐私、故障等问题,在许多不同组件的需求和保证可能非常不同的环境中。这刺激了对概念、抽象、模型和演算的研究,这些研究可以为系统的设计提供基础,即其中一个非常重要的抽象概念是移动性。这一特性大大提高了可扩展性,从而提高了网络感知编程语言的表现力最近的商业/原型编程语言的设计提供了这种编程风格成功的证据1.我要感谢Luca Aceto和Andy Gordon鼓励我写这些笔记,并感谢研讨会的所有组织者的邀请。但我需要说的是,我非常感谢所有通过他们的工作为KLAIM及其变体的发展做出贡献的2 电子邮件地址:denicola@dsi.unifi.it1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2005.12.110160河De Nicola/Electronic Notes in Theoretical Computer Science 162(2006)159使 用 原 语 来 移 动 代 码 和 进 程 , Java , T-Space , Oz , Pict , Oblique ,Odyssey。。。已经看到了几个重要的工业和学术研究机构的参与处理移动性的第一个基础演算是π演算,这是一个简单而富有表现力的演算,旨在用最少的基本构造来捕捉名称传递的本质如果从网络感知的角度考虑,可以说π演算缺少了计算发生的位置和/或域的明确概念。为了克服π演算的这种缺陷,已经开发了几种基本的形式主义,以过程演算的形式呈现或强烈地基于它们。我们要提到的是Ambient calculus、Dπ-calculus、DJoin、Nomadic Pict,这是一个面临在它们的发展过程中,一直在寻找适当的抽象,这些抽象可以被认为是表达性、优雅性和可实现性之间的可接受的折衷一个典型的例子是Ambient演算:它非常优雅和富有表现力,但合理的分布式实现仍然存在问题。一种用于Agent交互和移动的核心语言KLAIM(Kernel Language for Agents Interaction and Mobility)是一种专门设计用于描述由多个移动交互组件组成的分布式系统的形式化语言该方法的显着特点是明确地使用本地访问数据或计算资源。其原语的选择受到CCS和π-演算以及Linda的强烈影响。事实上,KLAIM源于我们对具有局部性的进程代数的工作[4]以及我们对Linda作为进程代数的语义的形式化的工作[10]。Linda是一种协调语言,它依赖于一种异步和关联的通信机制,这种机制基于一种称为元组空间(tuple space)的共享全局环境。元组是信息项的有序序列(称为字段)。可以有实际的字段(即,表达式、过程、位置、常量、标识符)和形式域(即,变量)。元组是匿名的和内容可寻址的.基本的交互机制是Linda有四个原语用于操作元组空间:两个阻塞操作用于访问和删除元组,两个非阻塞操作用于添加元组。KLAIM可以被看作是一个异步的高阶进程演算,其基本动作是原始的Linda原语,这些原语富含关于分配进程和元组的节点位置的显式信息。通信通过分布式存储库和远程操作进行。原语允许程序员将数据和进程分发到网络的不同位置(节点),并从网络的不同位置(节点)检索数据和进程。地方是一等公民,可以动态地创建和交流。元组可以包含值和代码,这些值和代码可以随后被访问和计算。分配环境,将逻辑和物理位置关联起来,用于使程序员从R. De Nicola/Electronic Notes in Theoretical Computer Science 162(2006)159-162161考虑分布式元组空间的精确物理分配。KLAIM的主要缺点是它既不是一种实际的编程语言,也不是一种进程演算。因此,最近,我们沿着两个方向工作宗教课。 一方面,我们已经进化了使用了一种非常尖锐的语言(X-K权利要求)用于分布式移动编程。另一方面,我们将语言提炼成一些更简单的演算,我们用它们来定义新的语义理论和等价物,评估基于元组的通信的表达能力基于KlaimX-KCLAIM[1]是一种实验性编程语言,专门设计用于对具有多个组件的分布式系统进行编程,这些组件通过多元组空间和移动代码(可能面向对象)。X-KCLAIM拥有在运行时系统的顶部实现,该运行时系统是为了可移植性而用Java开发的[2]。语言结构的KLAIM已被证明是适合编程广泛的分布式应用程序的代理和代码的流动性,一旦在Java中编译,可以运行在不同的平台。基于Klaim的微积分我们从KLAIM中提取出μKLAIM、CKLAIM和LCKLAIM,并研究了它们各自的编码,使之更简单[7]。μKLAIM是通过消除逻辑和物理位置之间的区别而从KLAIM获得的无分配环境)和更高阶通信的可能性(即,没有处理元组)。CKLAIM,由μKLAIM通过仅考虑一元通信,并通过删除读取动作,非破坏性基本动作的变体LCK权利要求通过除去还可以执行远程输入和输出;通信仅在本地,并且需要进程迁移来使用远程资源。这项关于核心演算的工作也刺激和简化了对KLAIM其他变体的搜索,这些变体可以更好地为网络感知编程建模更复杂的设置。在[6]和[8]中,我们考虑了拓扑-KLAIM,它是CLAIM的一个变体,允许显式地创建节点间连接并销毁它们,因此考虑了全局计算机的两个典型特征,即动态节点间连接和故障。在[9]中,我们开发了更灵活(但仍然容易实现)的模式匹配形式。对于更简单的演算,我们已经能够应用在[3]中发展的理论,并引入两个抽象语义,倒钩同余和可能测试。它们是作为操作约简和/或语言上下文下的扩展等价的闭包而获得的,所述扩展等价由可以被认为是全球计算机的基本观察而引起,所述基本观察旨在测试一个特定的站点正在运行162河De Nicola/Electronic Notes in Theoretical Computer Science 162(2006)159并且相当于测试站点是否提供任何种类的数据对于作为上下文闭包获得的两个等价性,我们还提供了替代的刻画,以更好地理解它们的区分能力,并开发了避免上下文上的泛量化的证明技术。事实上,我们已经建立了他们的对应关系,一个bisimulation为基础的和一个基于跟踪的等价标记的过渡系统用于描述的语义不同的变体KLAIM。有 关 K LAIM 和 K LAIM 项 目 的信息、软件和论文可 在 以 下 网 址 查 阅 :http://music.dsi.unifi.it/klaim.html。引用[1] L.贝蒂尼河德·尼古拉。X-K中的交互式移动代理。在SFM-05:Moby,第5届国际计算机、通信和软件系统设计正式方法学校:移动计算,LNCS第3465卷,第29-68页,Spinger,2005年[2] L.贝蒂尼河De Nicola和R.普利亚人KLAVA:一个用于分布式和移动应用程序的Java包。软件[3] Michele Boreale,Rocco De Nicola,and Rosario Pugliese.过程的基本可观测量 INF. Comput. ,149(1):77[4] 弗拉维奥·科拉迪尼和罗科·德·尼古拉。进程代数的局部语义。Acta Inf. ,34(4):291[5] R. De Nicola,G. Ferrari和R. 普利亚人KLAIM:一种Agent交互的核心语言迁移率IEEE软件工程学报,24(5):315[6] R. De Nicola,D.Gorla和R.普利亚人全球计算微积分的基本观测量在C. Palamidessi等人,编辑,Proc. ICALP 2005,LNCS的第3580卷,第1226-1238页 Springer,2005。[7] R. De Nicola,D. Gorla和R.普利亚人基于KLAIM的演算的表达能力。在TCS中出现。Proc. ofEXPRESS'04,ENTCS 128(2):117-130中的简短版本Elsevier,2004年。[8] R. De Nicola,D. Gorla和R.普利亚人 元组空间动态网络中的全局计算。在Proc. of Coordination '05,volume 3454 of LNCS,pages 157-172.施普林格,2005年。[9] R. De Nicola,D. Gorla和R.普利亚人 元组空间动态网络上的模式匹配。 在Proc. 的FMOODS '05,LNCS的第3535卷,第1-14页。斯普林格。[10] 罗科·德·尼古拉和罗萨里奥·普格利塞。基于Linda的应用和命令进程代数。Theor. Comput. Sci. ,238(1-2):389
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)