×

simpA:一种基于Java的面向代理的并发应用程序编程方法。 (英语) Zbl 1211.68055号

摘要:由于多核/并行体系结构和基于Internet的系统的广泛可用性等因素,并发和并发编程的越来越多方面正在成为主流编程和软件工程的一部分。这导致了主流面向对象编程语言和平台的扩展(Java是一个主要示例),库提供了细粒度的机制和习惯用法来支持并发编程,特别是用于构建高效程序。除了这种细粒度支持之外,本文的主要研究目标是设计更高级别的粗粒度抽象,这将有助于构建并发程序,因为纯面向对象的抽象有助于建立大型基于组件的程序。为此,在本文中,我们提出了simpA,这是一个基于Java的框架,它在基本OO层之上为程序员提供了面向代理的抽象,作为组织和构造并发应用程序的手段。我们首先描述了为Java程序员提供的用于构建simpA应用程序的应用程序编程接口和注释框架,然后通过一些编程示例从软件工程的角度讨论了该方法的主要特征。最后,我们定义了一个操作语义,将该编程模型的主要方面形式化。

MSC公司:

68甲15 编程语言理论
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
第68季度55 计算理论中的语义学
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Agha,G.:参与者:分布式系统中的并发计算模型,(1986)
[2] Agha,G。;Callsen,C.J.:Actorspace:一个开放的分布式编程范式,SIGPLAN不是。28,第7期,23-32(1993)
[3] ,并发面向对象编程的研究方向(1993)
[4] Arbab,F.:并行活动协调的IWIM模型,34-56(1996)
[5] Armstrong,J.:《编程Erlang:并发世界的软件》(2007)
[6] Baeten,J.C.M。;Bergstra,J.A。;Klop,J.W.:生成上下文无关语言的过程的互模拟等价的可判定性,计算机科学讲义259,94-111(1987)·Zbl 0635.68014号
[7] Bellifemine,F.L。;Caire,G。;Greenwood,D.:用JADE开发多智能体系统(2007)
[8] 北卡罗来纳州本顿。;Cardelli,L。;Fournet,C.:C的现代并发抽象ACM变速器。程序。语言系统。26,第5号,769-804(2004年)·兹比尔1049.68754
[9] ,Multi-agent编程语言、平台和应用程序15(2005)·Zbl 1101.68456号
[10] 布里奥特,J.-P。;Guerraoui,R。;Lohr,K.-P.:面向对象编程中的并发和分布,ACM计算。Surv公司。30,第3期,291-329(1998)
[11] Caire,G。;Gotta,D。;Banzi,M.:WADE:利用代理和工作流开发关键任务应用程序的软件平台,29-36(2008)
[12] 达米亚尼,F。;贾奇诺,E。;詹尼尼,P。;Drossopoulou,S.:类Java语言中用于协调的类型安全状态抽象,Acta inf.45,No.7-8,479-536(2008)·Zbl 1180.68098号 ·doi:10.1007/s00236-008-0079-y
[13] 达米亚尼,F。;詹尼尼,P。;里奇,A。;Viroli,M.:Featherweight代理语言–代理和工件的核心演算,ICSOFT 2009–第四届软件和数据技术国际会议论文集,第1卷,218-225(2009)
[14] Denti,E。;纳塔利,A。;Omicini,A.:可编程协调介质,Lncs 1282,274-288(1997)
[15] Dufourd,C。;芬克尔,A。;Schnoebelen,P.:在可判定性和不可判定性之间重置网络,计算机科学课堂讲稿1443,103-115(1998)·Zbl 0909.68124号
[16] Fournet,C。;Gonthier,G.:自反化学抽象机和连接演算,372-385(1996)
[17] 弗罗伦德,S。;Agha,G.:基于消息集的抽象交互,107-124(1995)
[18] Gelernter,D.:《琳达的生殖传播》,ACM trans。程序。语言系统。7,第1号,80-112(1985)·Zbl 0559.68030号 ·数字对象标识代码:10.1145/2363.2433
[19] Goetz,B.:Java并发在实践中,(2006)
[20] Haller,P。;Odersky,M.:Scala actors:统一基于线程和基于事件的编程,Theoret。计算。科学。(2008) ·兹比尔1162.68396
[21] Haustein,M。;Loehr,K.-P.:JAC:声明性Java并发:研究文章,Concurr。计算:实践。专家。18,第5号,519-546(2006)
[22] Igarashi,A。;皮尔斯,公元前。;Wadler,P.:Featherweight Java:Java和GJ的最小核心演算,ACM trans。程序。语言系统。23, 396-450 (2001)
[23] Igarashi,A。;Viroli,M.:变量参数类型:泛型的灵活子类型方案,ACM trans。程序。语言系统。28,第5期,795-847(2006)
[24] 伊格莱西亚斯,C。;Garrijo,M。;Gonzalez,J.:面向代理的方法学调查,第五届智能代理国际研讨会论文集V:代理理论、体系结构和语言,ATAL-98 1555、317-330(1999)
[25] G.S.Itzstein,D.Kearney,《Join Java:Java的替代并发语义》,技术报告ACRC-01-001,南澳大利亚大学,2001年。
[26] Jennings,N.R.:构建复杂软件系统的基于代理的方法,Commun。ACM 44,第4期,35-41(2001)
[27] Keen,A.W。;Ge,T。;Maris,J.T。;Olsson,R.A.:JR:扩展Java中的灵活分布式编程,Toplas 26,No.3,578-608(2004)
[28] Larson,J.:并发编程的Erlang,Commun。ACM 52,第3期,48-56(2009)
[29] 薰衣草,R.G。;Schmidt,D.C.:活动对象:并发编程的对象行为模式,483-499(1996)
[30] Lea,D.:Java并发编程:设计原则和模式(1999)·Zbl 0888.68024号
[31] Lea,D.:Java fork/join框架,36-43(2000)
[32] Lea,D.:java.util.courrent同步器框架,Sci。计算。编程58,第3期,293-309(2005)
[33] 松冈,S。;Yonezawa,A.:面向对象并发编程语言中继承异常的分析,并发面向对象编程的研究方向(1993)
[34] Meyer,B.:系统并发面向对象编程,Commun。ACM 36,第9号,56-80(1993)
[35] Milcia,G。;Sassone,V.:Jeeg:并发对象同步的时间约束,Concurr。计算:实践。专家。17,第5-6号,539-572(2005)
[36] Milner,R.:通信和移动系统:({\pi})演算,(1999)·Zbl 0942.68002号
[37] Mosses,P.D.:模块化结构操作语义,J.log。阿尔盖布。程序。195-228年6月60日至61日(2004年)·Zbl 1072.68061号 ·doi:10.1016/j.jlap.2004.03.008
[38] Omicini,A。;Denti,E.:从元组空间到元组中心,科学。计算。编程41,第3期,277-294(2001)·Zbl 0989.68120号 ·doi:10.1016/S0167-6423(01)00011-9
[39] Omicini,A。;里奇,A。;Viroli,M.:多代理系统A&A元模型中的工件,Auton。agent和多agent系统。19 (2009)
[40] Omicini,A。;里奇,A。;维罗利,M。;卡斯特尔弗兰奇,C。;Tummolini,L.:协调工件:智能代理的基于环境的协调,286-293(2004)
[41] Pokahr,A。;布劳巴赫,L。;Lamersdorf,W.:Jadex:BDI推理引擎,多代理编程(2005)
[42] Resnick,M.:海龟、白蚁和交通堵塞。大规模平行微世界探索(1994)
[43] 里奇,A。;Piunti,M。;维罗利,M。;Omicini,A.:cartago环境编程,多代理编程:语言、平台和应用程序2,259-288(2009)·Zbl 1189.68150号
[44] A.Ricci,M.Viroli,simpA:一种面向代理的方法,用于在Java之上原型化并发应用程序,收录于:V.Amaral,L.Veiga,L.Marcelino,H.C.Cunningham(编辑),第五届Java编程原则与实践国际会议,PPPJ 2007,葡萄牙里斯本,2007年9月5-7日,第185-194页·Zbl 1211.68055号
[45] 里奇,A。;维罗利,M。;Cimadamore,M.:使用代理和工件创建并发系统原型:框架和核心演算,Electron。注释理论。计算。科学。194,第4期,111-132(2008)·Zbl 1277.68203号
[46] 里奇,A。;维罗利,M。;Omicini,A.:《赋予代理他们的工件:马斯工程工作环境的A&A方法》,第六届国际联合会议自治代理多代理系统,AAMAS 2007,601-603(2007)
[47] 里奇,A。;维罗利,M。;Piancastelli,G.:Simpa:开发并发应用程序的简单面向代理的Java扩展,Lncs 5118/2008261-278(2008年7月)
[48] Sangiorgi,D。;Walker,D.:《关于微积分中的倒刺等价物》,计算机科学讲义2154,292-304(2001)·Zbl 1006.68090号
[49] Sewell,P.:关于并发编程语言的实现和语义,计算机科学讲义1243,391-405(1997)
[50] 萨特,H。;Larus,J.:软件与并发革命,ACM队列:明天的计算。《今日》第3期第7期第54-62页(2005年)
[51] Velroyen,H。;Rümmer,P.:命令式程序的非终止检查,计算机科学讲义4966/2008154-170(2008)·Zbl 1138.68460号 ·doi:10.1007/978-3-540-79124-9_11
[52] Viroli,M.:编配语言中相关性的核心演算,J.log。阿尔盖布。程序。70,第1号,74-95(2007)·Zbl 1178.68051号 ·doi:10.1016/j.jlap.2006.05.006
[53] 维罗利,M。;Denti,E。;Ricci,A.:将BPEL编配引擎设计为多代理系统,科学。计算。编程66,第3期,226-245(2007)·Zbl 1121.68084号 ·doi:10.1016/j.scico.2007.01.008
[54] ,J.auton。代理多智能体系统。14,第1号(2007)
[55] Wright,A.K。;Felleisen,M.:一种类型稳健性的句法方法,Inform。计算。115,第1期,38-94(1994)·Zbl 0938.68559号 ·doi:10.1006/inco.1994.1093
[56] ,面向对象并发编程(1986)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。