基于组织的面向Agent程序设计理论及语言
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
当前以互联网为运行环境的软件系统呈现出环境开放化、软件实体自主化、交互不确定化和系统社会化等方面的复杂性特点,对软件的动态性、灵活性和社会性提出了更高的要求。如何提供高层的抽象、有效的机制以及具有较强表达能力的程序设计语言来支持此类软件系统的构造和实现,是目前软件工程关注的一个重要研究课题。
     面向Agent程序设计(Agent-Oriented Programming,AOP)将自主Agent作为基本的软件单元,Agent之间通过高层的交互相互作用,代表了一种新颖的软件抽象和软件系统构造方法,被视为解决上述问题的有效手段。然而现有AOP的研究,一方面缺乏有效的程序设计机制支持软件的动态性和灵活性;另一方面缺乏与现有软件工程成功理论和实践的充分集成,影响了程序设计的质量和效率。近年来,随着社会组织思想在面向Agent分析和设计中的广泛应用,借助社会组织的思想和机制认识互联网环境下软件系统的社会化特征,进而支持此类系统的构造和实现已成为AOP研究的一个重要趋势。
     本文以互联网环境下软件系统的构造和实现为具体应用背景,从软件工程的角度,研究如何将AOP与社会组织学的思想和方法以及软件工程的技术和原则相结合,从程序设计模型和机制、语言的语法和语义、类型系统和理论、程序设计和运行支撑环境四个方面,开展基于组织的面向Agent程序设计研究。论文取得的研究成果和主要创新点描述如下。
     1.基于组织的面向Agent程序设计模型和机制
     针对现有AOP模型缺乏支持软件系统动态性和灵活性的有效抽象和机制这一问题,论文将Agent、角色和组织作为一阶的程序设计抽象,引入一系列的社会组织机制作为程序设计机制,提出了基于组织的面向Agent程序设计模型——Oragent,从而在程序设计层为互联网环境下软件系统的动态性、灵活性等提供显式支持,具体包括:角色扮演机制实现了Agent与其结构和行为的动态绑定;角色组合机制实现了Agent的自适应行为;角色晋升机制实现了Agent的自演化行为;基于角色的交互使得Agent可以动态地获取交互对象;基于组织的自管理机制实现了组织结构的动态调整(即实现了组织的自适应性)。此外,Oragent模型还借鉴和引入了OOP中的继承机制,分别在组织和角色不同层次上给出了其新的解释和内涵,从而增强了Oragent程序的结构性和可重用性。
     2.基于组织的面向Agent程序设计语言OragentL
     论文基于Oragent程序设计模型设计了OragentL语言,其特色在于为组织的概念和机制提供了显式的语言设施,使得Oragent模型支持动态性的核心程序设计机制在语言层得以体现,为不同抽象层次的软件实体(高层的组织概念和个体Agent)提供了统一的语法和语义。论文还基于抽象状态机和迁移系统从语句、Agent、组织等不同层次上定义了OragentL语言的形式化操作语义,从而为OragentL语言运行时环境的设计与实现提供了理论参考,也为OragentL性质的验证奠定了基础。
     3.基于组织的面向Agent程序设计语言的类型系统和理论
     为了解决在基于组织的面向Agent程序设计中,Agent之间交互的合法性以及来自不同角色的行为的一致性问题,论文定义了OragentL语言的类型系统,建立了相应的理论,主要工作包括:基于动作序列(行为)建立了Agent和角色的类型理论;给出了角色程序和Agent格局的良类型规则;基于保持定理和进展定理,证明了轻量级OragentL语言(只支持角色扮演和基于角色交互机制)的安全性等。OragentL语言类型系统的研究,提高了基于组织的面向Agent程序设计程序的质量,从而使得基于OragentL开发大规模软件系统更加安全和实用。
     4.基于组织的面向Agent程序设计和运行的支撑环境
     论文设计与实现了支持OragentL程序设计与运行的支撑环境,以支持OragentL程序的编译和运行。该环境主要包括两个部分:OragentL程序运行时环境Oragentburg和OragentL编译器。Oragentburg在平台层实现了Oragent模型的核心程序设计机制,同时为Oragent程序的运行提供了诸如实体管理、标识符管理、通信等基础设施和服务。OragentL编译器实现了OragentL程序到Oragentburg上可运行的Java代码的转换。
     论文以互联网环境下的在线商场为案例,基于上述理论和语言对其进行构造和实现。该工作一方面展示了如何基于OragentL语言提供的语言设施和机制来构造和实现互联网环境下的软件系统;另一方面验证了OragentL编译器与Oragentburg运行时环境的有效性。
Current software systems situated on the Internet are characterized by theopenness of environment, autonomy of software entities, uncertainty of interactions, andsocialization of themselves. These characteristics pose higher requirements on thedynamisms and flexibilities of software. One main trend of software engineering is howto provide high-level abstraction, effective mechanisms and expressive programminglanguages for the constructions of such software systems.
     Agent-oriented programming (AOP) takes the autonomous agents as basicsoftware units, which can engage in high-level interactions. AOP is considered as arepresentative novel software paradigm for abstraction and construction of softwaresystems, which effectively addresses the above issues. However, current AOP researchstill lacks effective programming mechanism for software dynamisms and flexibilities.Moreover, AOP also fails to integrate successful principles and practices of softwareengineering, which affects the quality and efficiency of programming. Recently, withthe wide application of organization metaphor in agent-oriented analysis and design, anew trend in AOP field is to recognize and realize the socialized characteristics ofInternet-based software systems with organizational concepts and mechanisms.
     This dissertation, from a software engineering perspective, addresses the problemsof how to construct Internet-based complex software systems by integratingorganizational abstraction and AOP with software engineering principles andtechnologies. Our research on organization-based agent-oriented programming focusesthe following aspects: programming model and mechanism, language, type system andrelated theory, and programming and runtime environment. The main contributions ofthis dissertation are described as follows.
     1. Models and mechanisms of organization-based agent-oriented programming
     With regards to the problems that current AOP models lack effective abstractionsand mechanisms to support dynamism, we propose an organization-basedagent-oriented programming model, namely Oragent, which takes organizationalconcepts, such as agent, role, and organization, as first-class abstractions, and introducesa set of organizational mechanisms, so as to explicitly support such dynamism at theprogramming level. Specifically, in this model, we provide a role-enactment mechanismfor the dynamic binding between agents and roles, a role-composition mechanism forthe self-adaptive behavior of agents, a role-promotion mechanism for the self-evolutionof agents, a role-based interaction mechanism for an agent to dynamically obtain itscommunication partners, and an organization-based self-management mechanism forthe dynamic and adaptive adjustment of organizational structures. We also introduceinheritance, which has been proven availably in OOP, for both organizations and roles,
     thereby reinforcing the modularity and extensibility of Oragent programs.
     2. An organization-based agent-oriented programming language—OragentL
     OragentL is designed based on the Oragent model. Its distinguishing characteristicis that providing explicit language facilities for the core concepts and programmingmechanisms of Oragent model, so that the high-level organization abstractions can beexplicitly specified in the low-level codes. In this way, OragentL provides the uniformsyntax and semantics for organizational concepts and agents. Moreover, we havedefined the operational semantics of OragentL at levels of statements, agents, andorganizations with abstract state machine and transition system, so as to provide atheoretical basis for the development of a runtime environment, and the verification ofproperties of the language.
     3. Type system and related theory of organization-based agent-orientedprogramming language
     In order to address the problems related to the legitimate interactions among agentsand to the consistency of behavior from different roles, a type system and related theoryis defined for OragentL. The major works include: typing agents and roles with actionsequence (i.e., behavior), defining the well-typed rules for role programs and agentconfigurations, proving the safety of a featherweight OragentL (which supports onlyrole enactment and role-based interaction) with preservation theorem and progresstheorem. The study on this aspect ensures the quality of organization-basedagent-oriented programs, so as to make the language more practically useful indeveloping large-scale software systems.
     4. A programming and runtime environment for organization-based agent-orientedprogramming
     We design and implement a programming environment for the compilation andexecution of OragentL programs. The environment consists of Oragentburg—aruntime environment, and an OragentL complier. Oragentburg realizes the coreprogramming mechanisms of OragentL and provides infrastructure for the entitiesmanagement and communication. The OragentL complier is responsible for translatingOragentL programs into corresponding Java classes that can execute on Oragentburg.
     Throughout the paper, a case of online mall is studied to demonstrate how toconstruct and implement Internet-based software systems with OragentL, anddemonstrate the effectiveness of the runtime environment Oragentburg.
引文
[1]梅宏,刘譞哲.互联网时代的软件技术:现状与趋势[J].中国科学:科学通报,2010,55(13):1214-1220.
    [2] Barry Boehm. A View of20th and21st Century Software Engineering [C]. LeonJ. Osterweil, H. Dieter Rombach, Mary Lou Soffa(eds.). InternationalConference on Software Engineering (ICSE). New York: ACM Press,2006:12-29.
    [3] Pontus Johnson, Mathias Ekstedt, Ivar Jacobson. Where’s the Theory forSoftware Engineering [J]. IEEE Software,2012,29(5):93-95.
    [4] F. Berman, G. Fox, T. Hey. Grid Computing: Making the Global Infrastructure aReality [M]. Chichester: John Wiley&Sons,2003.
    [5] Gerard Briscoe, Alexandros Marinos. Digital Ecosystems in the Clouds:Towards Community Cloud Computing [C]. Digital Ecosystems andTechnologies Conference. Washington: IEEE Press,2009:103-108.
    [6] Saha D, Mukherjee A. Pervasive Computing: A Paradigm for the21st Century[J]. IEEE Computer,2003,36(3):25-31.
    [7] Lee E A, Austin T X. Cyber-Physical Systems-Are Computing FoundationsAdequate [C]. NSF Workshop on Cyber-Physical Systems: Research Motivation,Techniques and Roadmap.2006:1-9.
    [8] Feiyue Wang, Daniel Zeng, Kathleen M. Carley, Wenji Mao. Social Computing:From Social Inforamtics to Social Intelligence [J]. Intelligent Systems,2007,22(2):79-83.
    [9] Thaddeus O. Eze, Richard J. Anthony, Chris Walshaw, Alan Soper. AutonomicComputing in the First Decade: Trends and Direction [C]. MichaelBauer, Michael Grottke(eds.). International Conference on Autonomic andAutonomous Systems (ICAS2012). New York: Curran Associates, Inc.,2012:80-85.
    [10] Linda Northrop. Ultra-Large-Scale Systems, The Software Challenge of theFuture [R]. Pittsburgh, Pennsylvania: Software Engineering Institute, CarnegieMellon University,2006.
    [11]接钧靖,史庭训,焦文品,孟繁晶.自主构件自适应策略的在线定制及动态评估[J].软件学报,2012,23(4):802-815.
    [12] Mei H, Liu XZ. Internetware: An Emerging Software Paradigm for InternetComputing [J]. Journal of Computer Science and Technology,2011,26(4):588-599.
    [13] Jiao W P, Sun Y C, Mei H. Automated Assembly of Internet-Scale SoftwareSystems Involving Autonomous Agents [J]. The Journal of Systems andSoftware,2010,83:1838-1850.
    [14] Hillard, R. IEEE-Std-1471-2000, Recommended Practice for ArchitecturalDescription of Software-Intensive Systems[S]. IEEE,2000.http://standards.ieee.org/.
    [15] Matthias Wester-Ebbinghaus, Daniel Moldt, Michael K hler-Bu meier. FromMulti-Agent to Multi-Organization Systems: Utilizing Middleware Approaches[C]. J.G. Carbonell, J. Siekmann (eds.). Engineering Societies in the AgentsWorld IX (ESAW). Berlin Heidelberg: Springer-Verlag,2008:46-65.
    [16]杨芙清.软件工程技术发展思索[J].软件学报,2005,16(1):1-7.
    [17] A. W. Brown, K. C. Wallnau. Component-Based Software Engineering [M].Washington: IEEE Computer Society Press,1996.
    [18] Thomas Erl. Service-Oriented Architecture: Concepts, Technology, and Design[M]. Upper Saddle River, NJ, USA: Prentice Hall PTR,2005.
    [19] Jennings, N.R. On Agent-Based Software Engineering [J]. Artificial Intelligence,2000,117(2):277-296.
    [20] Franco Zambonelli, H Van Dyke Parunak. Towards a Paradigm Change inComputer Science and Software Engineering: a Synthesis [J]. The KnowledgeEngineering Review,2003,18(4):329-342.
    [21] Graversen, K. B. and Beyer, J. Chameleon: Development&Reflections onRole-Oriented Programming [D]. Copenhagen, Denmark: IT-University ofCopenhagen,2002.
    [22] Pascal Zumkehr. Changeboxes-Modeling Change as a First-Class Entity [D].Bern: University of Bern,2007.
    [23] Mike P. Papazoglou, Paolo Traverso, Schahram Dustdar, Frank Leymann.Service-Oriented Computing: a Research Roadmap [J]. International JournalCooperative Information System,2008,17(2):223-255.
    [24] A. Ricci, E. Denti. simpA-WS: A Simple Agent-Oriented Programming Model&Technology for Developing SOA&Web Services [C]. M. Baldoni, A.Boccalatte, F. D. Paoli, M. Martelli, V. Matteo Baldoni, Antonio Boccalatte,Flavio De Paoli, Maurizio Martelli, Viviana Mascardi(eds.). AI*IA/TABOOJoint Workshop from Objects to Agents (WOA2007).2007:140-156.
    [25]毛新军.面向Agent软件开发[M].北京:清华大学出版社,2005.
    [26] N.R. Jennings. An Agent-Based Approach for Building Complex SoftwareSystems [J]. Communication of ACM,2001,44(4):35-41.
    [27] M. Luck, P. McBurney, O. Shehory, S. Willmoff. Agent Technology Roadmap:A Roadmap for Agent Based Computing [R]. Southampton: University ofSouthampton,2005.
    [28] X. Luo, C. Miao, N. R. Jennings, M. He, Z. Shen, M. Zhang. Kemnad: aKnowledge Engineering Methodology for Negotiating Agent Development [J].Computational Intelligence,2012,28(1):51-105.
    [29] E. Garcia, G. Tyson, S. Miles, M. Luck, A. Taweel, Tjeerd Van Staa, BrendanDelaney. An Analysis of Agent-Oriented Engineering of E-Health Systems [C].International Workshop on Agent-Oriented Software Engineering, BerlinHeidelberg: Springer-Verlag,2012:117-128.
    [30]毛新军.面向Agent软件工程:现状、挑战和展望[J].计算机科学,2011,38(1):1-7.
    [31] Rafael H. Bordini, Mehdi Dastani, Michael Winikoff. Current Issues inMulti-Agent Systems Development [C]. J. G. Carbonell, J. Siekmann(eds.).International Wrokshop on Engineering Societies in the Agents’ World (ESAW).Berlin Heidelberg: Springer-Verlag,2007:38-61.
    [32] M. Winikoff. Future Directions for Agent-Based Software Engineering [J].International Journal of Agent-Oriented Software Engineering,2009,3(4):402-410.
    [33] Zohreh Akbari. A Survey of Agent-Oriented Software Engineering Paradigm:Towards its Industrial Acceptance [J]. Journal of Computer EngineeringResearch,2010,1(2):14-28.
    [34] Yoav Shoham. Agent-Oriented Programming [J]. Artificial Intelligence,1993,60(1):51-92.
    [35] M. Fisher. A Survey of Concurrent METATEM-The Language and itsApplications [C]. G. Goos, J. Hartmanis (eds.). International Workshop onTemporal Logic. Berlin Heidelberg: Springer-Verlag,1994:480-505.
    [36] S.R. Thomas. The PLACA Agent Programming Language [C]. Agent Theories,Architectures, and Languages on Intelligent Agents. Berlin Heidelberg:Springer-Verlag,1995:355-370.
    [37] Lei Guo, Yeting Ge, Shifu Chen, Dongmo Zhang. An Agent-OrientedProgramming Language with Intention Driver [J]. Journal of Software,2003,14(3):383-391.
    [38] A. S. Rao. AgentSpeak (L): BDI Agents Speak out in a Logical ComputableLanguage [C]. Van de Velde, J. W. Perram(eds.). European Workshop onModelling Autonomous Agents in a Multi-Agent World. Berlin Heidelberg:Springer-Verlag,1996:42-55.
    [39] K. V. Hindriks, F. S. De Boer, W. Van Der Hoek, J.-J. Ch. Meyer. AgentProgramming in3APL [J]. Autonomous Agents and Multi-Agent Systems,1999,2:357-401.
    [40] G. D.Giacomo, Y.Lespérance, H. J. Levesque. ConGolog: a ConcurrentProgramming Language Based on The Situation Calculus [J]. ArtificialIntelligence,2000,121(1-2):109-169.
    [41] J. Wang, R. Shen, H. Zhu. Agent Oriented Programming Based on SLABS [C].Fei Xie, Jeff Lei (eds.). International Computer Software and ApplicationsConference (COMPSAC). Washington: IEEE Computer Society,2005:127-132.
    [42] M. Wester-Ebbinghaus, D. Moldt, C. Reese, K. Markwardt. TowardsOrganization Oriented Software Engineering [C]. S. B ttinger, L. Theuvsen, S.Rank, M. Morgenstern (eds.). International Conference on Software Engineering.Washington: IEEE Press,2007:205-216.
    [43] O. Boissier, J. Hübner, J.S. Sichman. Organization-Oriented Programming: FromClosed to Open Systems [C]. G. O’ Har (eds.). International Wrokshop onEngineering Societies in the Agents’ World (ESAW). Berlin Heidelberg:Springer-Verlag,2007:86-105.
    [44] M. Dastani.2APL: a Practical Agent Programming Language [J]. AutonomousAgent and Multi-Agent System,2008,16:214-248.
    [45] J. F. Hübner, O. Boissier, R. H. Bordini. A Normative OrganisationProgramming Language for Organisation Management Infrastructures [C]. J.Padget (eds.). Coordination, Organization, Institutions and Norms in AgentSystems (COIN). Berlin Heidelberg: Springer-Verlag,2010:114-129.
    [46] N. Tinnemeier, M. Dastani, J.-J. Meyer. Roles and Norms for ProgrammingAgent Organizations [C]. Decker, Sichman, Sierra and Castelfranchi (eds.).International Conference on Autonomous Agents and Multiagent Systems(AAMAS). New York: ACM Press,2009:121-128.
    [47] Virginia Dignum, Huib Aldewereld, Frank Dignum. On the Engineering ofMulti-Agent Organizations [C]. Danny Weyns, DistriNet Labs (eds.).International Workshop on Agent-Oriented Software Engineering (AOSE2011).Berlin Heidelberg: Springer-Verlag,2012:53-66.
    [48] J. Ferber, O. Gutknecht, F. Michel. From Agents to Organizations: anOrganizational View of Multi-Agent Systems [C]. P. Giorgini, J. Muller, and J.Odell (eds.). International Workshop on Agent-Oriented Software Engineering.Berlin Heidelberg: Springer-Verlag,2004:214-230.
    [49] D. Weyns, A. Helleboogh, T. Holvoet. How to Get Multi-Agent SystemsAccepted in Industry [J]. International Journal of Agent-Oriented SoftwareEngineering,2009,3(4):383-390.
    [50] S. J. Juneidi. Toward Programming Paradigms for Agent Oriented SoftwareEngineering [C]. M. H. Hamza (eds.). IASTED Conference on SoftwareEngineering. Anaheim: IASTED/ACTA Press,2004:428-432.
    [51] A. Ricci, A. Santi. Agent-Oriented Computing: Agents as a Paradigm forComputer Programming and Software Development [C]. Kendall E. Nygard,Pascal Lorenz (eds.). International Conference on Future ComputationalTechnologies and Applications. Wilmington: Xpert Publishing Services,2011:42-51.
    [52] S. A. DeLoach. Moving Multi-agent Systems From Research to Practice [J].International Journal of Agent-Oriented Software Engineering,2009,3(4):378-382.
    [53] B. H. C. Cheng, R. de Lemos, H. Giese, P. Inverardi. Software Engineering forSelf-Adaptive Systems: a Research Roadmap [C]. B. H. C. Cheng, R. de Lemos,H. Giese (eds.). Software Engineering for Adaptive Systems. Berlin Heidelberg:Springer-Verlag,2009:1-26.
    [54] R. Nagpal, C. Yu, D. Yamins. Engineering Self-Organizing Multi-AgentSystems [C]. L. Padgham, D. Parkes, J. Muller and S. Parsons (eds.).International Conference on Autonomous Agents and Multi agent Systems. NewYork: ACM Press,2008:1717-1718.
    [55]毛新军,王怀民,齐治昌,王戟,陈振邦.面向超大规模系统的软件工程:挑战与展望[J].计算机学会通讯会刊,2010,6(7):62-69.
    [56] Marco Autili, Paola Inverardi, Patrizio Pelliccione, Massimo Tivoli. DevelopingHighly Complex Distributed Systems: A Software Engineering Perspective [J].Journal of Internet Service Application,2012,3:15-22.
    [57]吕建,马晓星,陶先平,徐锋,胡昊.网构软件的研究与进展[J].中国科学E辑信息科学,2006,36(10):1037-1080.
    [58] R. Hirschfeld, P. Costanza, O. Nierstrasz. Context-Oriented Programming [J].Journal of Object Technology,2008,7(3):125-151.
    [59] M. Appeltauer, R. Hirschfeld, M. Haupt, J. Lincke, and M. Perscheid. AComparison of Context-Oriented Programming Languages [C]. Pascal Costanza,Belgium Richard P. Gabriel, Robert Hirschfeld, Jorge Vallejos(eds.).International Workshop on Context-Oriented Programming. New York: ACMPress,2009:1-6.
    [60] Jessie Dedecker, Tom Van Cutsem, Stijn Mostinckx, TheoD’Hondt, WolfgangDe Meuter. Ambient-Oriented Programming [C]. Ralph E. Johnson, Richard P.Gabriel(eds.). ACM SIGPLAN Conference on Object-Oriented Programming,Systems, Languages and Applications (OOPSLA’05). New York: ACM Press,2005:31-40.
    [61] Juan Carlos Cruz. A Group Based Approach for Coordinating Active Objects [D].Bern: der Universit t Bern,2006.
    [62] Bachman, C. W. and Daya, M. The Role Concept in Data Models [C]. Barron C,Alan G (eds.). International Conference on VERY LARGE DATA BASES(VLDB'1977). Washington: IEEE Computer Society,1997:464-476.
    [63] R. Sandhu, E. Coyne, H. Feinstein, C. Youman. Role-Based Access ControlModels [J]. IEEE Computer,1996,29(2):38-47.
    [64] Wirfs-Brock R, McKean A. Object Design: Roles, Responsibilities, andCollaborations [M]. Addison-Wesley Professional,2003.
    [65] Gerti Kappel, Werner Retschitzegger, Wieland Schwinger. A Comparison ofRole Mechanisms in Object-Oriented Modeling [C]. K. Pohl, A.Scharr, G.Vossen (eds.). Modellierung’98Bericht Nr.6/98-I, Angewandte Mathematikund Informatik, Universitat Munster,1998:105-109.
    [66] Yunus Emre Sel uk and Nadia Erdo an. Role Models--Implementation-BasedApproaches to Using Roles [J]. Software–Practice and Experience,2011,41:1-22.
    [67] Haibin Zhu, Rob Alkins. Towards Role-Based Programming [C]. Pamela J.Hinds, David Martin (eds.). ACM Conference on Computer SupportedCooperative Work (CSCW '06), New York: ACM Press,2006:4-8.
    [68] Tinnemeier, N.A.M. Organizing Agent Organizations: Syntax and OperationalSemantics of an Organization-Oriented Programming Language [D]. Utrecht:Utrecht University,2011.
    [69] Tetsuo Tamai, Naoyasu Ubayashi, Ryoichi Ichiyama. An Adaptive Object Modelwith Dynamic Role Binding [C]. Gruia-Catalin Roman, William Griswold,Bashar Nuseibeh (eds.). Interaction Conference on Software Engineering. NewYork: ACM Press,2005:166-175.
    [70] Baldoni, M., Boella, G., and van der Torre, L. Interaction Between Objects inpowerjava [J]. Journal of Object Technology,2007,6(2):1-26.
    [71] Stephan Hermann. A Precise Model for Contextual Roles: The ProgrammingLanguage ObjectTeams/Java [J]. Applied Ontology,2007,2(2):181-207.
    [72] Stephan Herrmann, Christine Hundt, Marco Mosconi. OT/J Language Definitionversion1.3[R]. Berlin: Teehnisehe Universitat Berlin,2011.
    [73] Kristensen, B. Object-Oriented Modeling With Roles [C]. DilipkumarPatel, Yuan Sun, Shushmaben Patel (eds.). International Conference onObject-Oriented Information Systems. Berlin Heidelberg: Springer-Verlag,1995:57-71.
    [74] G. Gottlob, M. Schrefl, B. R ck. Extending Object-Oriented Systems with Roles[J]. ACM Transaction on Information Systems,1996,14(3):268-296.
    [75] Colman, J. Han. Roles, players and adaptable organizations [J]. AppliedOntology,2007,2(2):105-126.
    [76] Rafael H. Bordini. Agent and Multi-Agent Software Engineering: Modeling,Programming, and Verification [C]. C. Sakama et al.(eds.). Declarative AgentLanguages and Technologies (DALT2011), Berlin Heidelberg: Springer-Verlag,2012:149-151.
    [77] Carlos Lucena, Ingrid Nunes. Contributions to the Emergence and Consolidationof Agent-Oriented Software Engineering [J]. The Journal of Systems&Software,85(12),2012:1-44.
    [78] Alain-Jér me Fougères. Modelling and Simulation of Complex Systems: AnApproach Based on Multi-Level Agents [J]. International Journal of ComputerScience,2011,8(6):8-17.
    [79] Michael Georgeff. The Gap Between Software Engineering and Multi-AgentSystems: Bridging the Divide [J]. International Journal of Agent-OrientedSoftware Engineering,2009,3(4):391-396.
    [80] Xinjun Mao, Eric Yu. Organizational and Social Concepts in Agent OrientedSoftware Engineering [C]. James Odell, Paolo Giorgini (eds.). Agent OrientedSoftware Engineering, Berlin Heidelberg: Springer Verlag,2004:1-15.
    [81] David Isern, David Sánchez, Antonio Moreno. Organizational StructuresSupported by Agent-Oriented Methodologies [J]. The Journal of Systems andSoftware,2011,84:169-184.
    [82] B Bauer, J Muller, J Odell. Agent UML: A Formalism for SpecifyingMulti-Agent Software Systems [J]. International Journal of SoftwareEngineering and Kownledge Engineering,2001,11(3):207-230.
    [83] S. A. DeLoach, M. F. Wood, C. H. Sparkman. Multiagent Systems Engineering[J]. The International Journal of Software Engineering and KnowledgeEngineering,2001,11(3):231-258.
    [84] Gervais MP. ODAC: An Agent-Oriented Methodology Based on ODP [J].Journal of Autonous Agents Multi-Agent Systems,2002,7:199-228.
    [85] Lind J. MASSIVE: Software Engineering for Multiagent Systems [D].Saarbrucken: University of Saarland,1999.
    [86] Padgham L, Winikoff M. Prometheus: A Methodology for DevelopingIntelligent Agents [C]. Fausto Giunchiglia, James Odell, Gerhard Wei (eds.).International Workshop on Agent-Oriented Software Engineering, BerlinHeidelberg: Springer Verlag,2002:174-185.
    [87] Bresciani P, Perini A, Giorgini P, Giunchiglia F, Mylopoulos J. A KnowledgeLevel Software Engineering Methodology for Agent-Oriented Programming [C].Elisabeth André, Sandip Sen, Claude Frasson, J rg P. Müller Seimens (eds.).International Conference on Autonomous Agents. New York: ACM Press,2001:648-655.
    [88] Brazier FMT, Dunin-Keplicz BM, Jennings NR, Treur J. DESIRE: ModellingMulti-Agent Systems in a Compositional Formal Framework [J]. InternationalJournal Cooperative Information Systems,1997,6(1):67-94.
    [89] Iglesias CA, Garijo M, Gonzalez JC, Velasco JR. Analysis and Design ofMultiagent Systems Using MAS-CommonKADS [C]. Munindar P. Singh,Anand Rao, Michael J. Wooldridge (eds.). Intelligent Agents IV. BerlinHeidelberg: Springer-Verlag,1998:313-326.
    [90] Bush G, Cranefield S, Purvis M. The Styx Agent Methodology [Z]. TheInformation Science Discussion Paper Series, Number (2001/02). ISSN1172-6024, Department of Information Science, Dunedin, New Zealand:University of Otago,2001.
    [91] Kinny D, Georgeff M, Rao A. A Methodology and Modelling Technique forSystems of BDI Agents [C]. W. Van de Velde, J. Perram (eds.). EuropeanWorkshop on Modelling Autonomous Agents in a Multi-Agent World(MAAMAW-96), Berlin Heidelberg: Springer-Verlag,1996:56-71.
    [92] Esteva, M., de la Cruz, D., and Sierra, C. Islander: an Electronic InstitutionsEditor [C]. Maria Gini, Cristiano Castelfranchi, W. Lewis Johnson (eds.).International Conference on Autonomous Agents and Multiagent Systems(AAMAS'02), New York: ACM Press,2002:1045-1052.
    [93] Jomi Fred Hübner, Jaime Sim o Sichman, Olivier Boissier. MOISE+: Towards aStructural, Functional, and Deontic Model for MAS Organization [C]. CristianoCastelfranchi, W. Lewis Johnson (eds.). International Joint Conference onAutonomous Agents and Multi-Agent Systems (AAMAS'2002). New York:ACM Press,2002:501-502.
    [94] V. Dignum. A Model for Organisational Interaction: Based on Agents, Foundedin Logic [D]. Utrecht: Utrecht University,2004.
    [95] Ingrid Nunes, Donald Cowan, Elder Cirilo, Carlos J.P. de Lucena. A Case forNew Directions in Agent-Oriented Software Engineering [C]. D. Weyns, M.-P.Gleizes,(eds.). International Workshop on Agent-Oriented Software Engineering(AOSE2010). Berlin Heidelberg: Springer-Verlag,2011:37-61.
    [96] Ghassan Beydoun, Graham Low, Brian Henderson-Sellers, HaralambosMouratidis, Jorge J. Gomez-Sanz, Juan Pavón, Cesar Gonzalez-Perez. FAML: AGeneric Metamodel for MAS Development [J]. IEEE Transactions on SoftwareEngineering,2009,35(6):841-863.
    [97] Argente, E., Garcia, M.E., Giret, A., Esparcia, S., Criado, N., Julian, V., Botti, V.Vom: a Service-Oriented Open MAS Meta-Model [EB/OL].2009. http://www.agreement-technologies. eu/wp-content/uploads/2009/12/cost-wg3-argente1.pdf
    [98] J. Pavon, J. Gomez-Sanz, R. Fuentes. The INGENIAS Methodology and Tools[M]. Brian. Henderson-Sellers, Paolo Giorgini (eds.). Agent-OrientedMethodologies. Hershey: Idea Group Publishing,2005:236-276.
    [99] S. DeLoach. Engineering Organization-Based Multiagent Systems [C].Alessandro Garcia, Ricardo Choren (eds.). Software Engineering for Large-ScaleMulti-Agent Systems (SELMAS). Berlin Heidelberg: Springer Verlag,2005:109-125.
    [100] Massimo Cossentino1, Nicolas Gaud, Vincent Hilaire, Stéphane Galland1,Abderrafaa Koukam. ASPECS: an Agent-oriented Software Process forEngineering Complex Systems [J]. Autonomous Agent Multi-Agent Systems,2010,20(2):260-304.
    [101] V.T. Da Silva, R. Choren, C.J.P. de Lucena. MAS-ML: A Multi-Agent SystemModelling Language [J]. International Journal of Agent-Oriented SoftwareEngineering,2008,2(4):382–421.
    [102] R. Cervenka, I. Trencansky, M. Calisti, D. Greenwood. AML: Agent ModelingLanguage toward Industry-Grade Agent-Based Modeling [C]. J rg P. Müller,Franco Zambonelli (eds.). International Workshop on Agent-Oriented SoftwareEngineering. Berlin Heidelberg: Springer-Verlag,2005:31-46.
    [103] F. Zambonelli, N. R. Jennings, M. Wooldridge. Developing Multiagent Systems:The Gaia Methodology [J]. ACM Transaction Software EngineeringMethodology,2003,12(3):317-370.
    [104] E. Argente, V. Botti, and V. Julian. GORMAS: An Organizational-OrientedMethodological Guideline for Open MAS [C]. Jorge J. Gomez-Sanz,Marie-Pierre Gleizes (eds.). International Workshop on Agent-Oriented SoftwareEngineering (AOSE’09). Berlin Heidelberg: Springer Verlag,2009:85-96.
    [105] Bryan Horling and Victor Lesser. A Survey of Multi-Agent OrganizationalParadigms [J]. Knowledge Engineering,2004,19(4):281-316.
    [106] Kolp, M., Castro, J., Mylopoulos, J. A Social Organization Perspective onSoftware Architectures [C]. Jaelson Castro, Jeff KramerFrom (eds.). SoftwareRequirements to Architectures (STRAW’01), New York: ACM Press,2001:5-15.
    [107] Alberto Finziand Thomas Lukasiewicz. Adaptive Multi-Agent Programming inGTGolog [C]. Christian Freksa, Michael Kohlhase, Kerstin Schill (eds.). KI2006: Advances in Artificial Intelligence. Berlin Heidelberg: Springer-Verlag,2007:389-403.
    [108] R. Bordini, L. Braubach, M. Dastani, A. El Fallah Seghrouchni, J. Gomez-Sanz,J. Leite, G. Ot’Hare, A. Pokahr, A. Ricci. A Survey of Programming Languagesand Platforms for Multi-Agent Systems [J]. Informatica,2006,30:33-44.
    [109] Mehdi Dastani. Programming Multi-Agent Systems [C]. Danny Weyns, J rg P.Müller (eds.). International Workshop on Agent-Oriented Software Engineering.Berlin Heidelberg: Springer-Verlag,2011:23-52.
    [110] N. Gaud, S. Galland, V. Hilaire, A. Koukam. An Organisational Platform forHolonic and Multiagent Systems [C]. E. Hindriks, A. Pokahr, S. Sardina (eds.).Workshop on Programming Multi-Agent Systems (ProMAS). Berlin Heidelberg:Springer-Verlag,2009:104-119.
    [111] Matteo Baldoni, Guido Boella, Valerio Genovese, Roberto Grenna, Leendert vander Torre. How to Program Organizations and Roles in the JADE Framework[C]. R. Goebel et al.(eds.). German Conference on Multi-Agent systemTechnologies (MATES). Berlin Heidelberg: Springer-Verlag,2008:25-36.
    [112] F. Bellifemine, G. Caire, D. Greenwood. Developing Multi-Agent Systems withJADE [M]. New York: John Wiley&Sons,2007.
    [113] M. Birna van Riemsdijk, Koen Hindriks, Catholijn Jonker. ProgrammingOrganization-Aware Agents [C]. H. Aldewereld, V. Dignum, and G. Picard(eds.).Engineering Societies in the Agents World (ESAW2009). Berlin Heidelberg:Springer-Verlag,2009:98-112.
    [114] M. Esteva, J.A. Rodriguez-Aguilar, B. Rosel, L. Joseph. AMELI: AnAgent-Based Middleware for Electronic Institutions [C]. International JointConference on Autonomous Agents and Multiagent Systems (AAMAS '04).Washington: IEEE Computer Society,2004:236-243.
    [115] Jomi Fred Hübner, Jaime Sim o Sichman, Olivier Boissier. DevelopingOrganised Multi-Agent Systems Using the MOISE+Model: Programming Issuesat the System and Agent Levels [J]. International Journal of Agent-OrientedSoftware Engineering,2007,1(3/4):370-395.
    [116] O. Boissier, R. H. Bordini, J. F. Hübner, A. Ricci, and A. Santi. Multi-agentOriented Programming with JaCaMo [J]. Science of Computer Programming,2013,78(6):747–761.
    [117] D. Weyns, R. Heasevoets, A. Helleboogh, T. Holvoet, W. Joosen. MACODO:Middleware Architecture for Context-Driven Dynamic Agent Organizations [J].ACM Transactions on Autonomous and Adaptive Systems,2009,1:1-25.
    [118] R. Bordini, M. Wooldridge, J. Hübner. Programming Multi-Agent Systems inAgentSpeak Using Jason (Wiley Series in Agent Technology)[M]. New York:John Wiley&Sons,2007.
    [119] A. Ricci, M. Piunti, M. Viroli, A. Omicini. Environment Programming inCArtAgO [C]. R. H. Bordini, M. Dastani, J. Dix, A. E. Fallah-Seghrouchni(eds.).Multi-Agent Programming: Languages, Tools and Applications Vol.II. BerlinHeidelberg: Springer-Verlag,2009:259-288.
    [120] C. Ghidini, B. Hirsh, M. Fisher. Programming Group Computations [C]. YvesDemazeau, Jean-Pierre Müller(eds.). European Workshop on Multi-AgentSystem. EUMAS '03. Cambridge, England: North-Holland,2003:1-14.
    [121] Adal, A. An Interpreter for Organization Oriented Programming Language(2OPL)[D]. Utrecht, Netherlands: Utrecht University,2010.
    [122] A. Ricci, A. Santi. Designing a General-Purpose Programming Language basedon Agent-Oriented Abstractions: The simpAL Project [C]. Crista Videira Lopes(eds.). International Workshop on Programming based on Actors, Agents andDecentralized Control (SPLASH’11). New York: ACM Press,2011:159-170.
    [123] A. Ricci, M. Viroli, G. Piancastelli. simpA: An Agent-Oriented Approach forProgramming Concurrent Applications on Top of Java [J]. Science of ComputerProgramming,2011,76:37-62.
    [124] M. Winikoff. JACKTMIntelligent Agents: An Industrial Strength Platform [C]. R.Bordini, M. Dastani, J. Dix, El Fallah Seghrouchni (eds.). Multi-agentProgramming: Languages, Platforms and Applications. Berlin Heidelberg:Springer-Verlag,2005:1-29.
    [125] Yves Lespérance, Hector J. Levesque, Fangzhen Lin. Foundations of a LogicalApproach to Agent Programming [C]. Michael Wooldridge, Milind Tambe (eds.).International Workshop on Agent Theories, Architectures, a nd Languages.Berlin Heidelberg: Springer-Verlag,1996:331-346.
    [126] A. El Fallah Seghrouchni, A. Suna. CLAIM: A Computational Language forAutonomous, Intelligent and Mobile Agents [C]. M. Dastani, J. Dix, A. ElFallah-Seghrouchni (eds.). International Workshop Programming Multi-AgentSystems. Berlin Heidelberg: Springer-Verlag,2004:90-110.
    [127] Rober W. Secesta. Concepts of Programming Languages (9thedition)[M].Boston, MA, USA: Addison-Wesley Longman Publishing Co.,2010.
    [128] Alessandro Ricci, Michele Piunti, Mirko Viroli. Externalisation andInternalization: A New Perspective on Agent Modularisation in Multi-AgentSystem Programming [C]. M. Dastani, Amal El Fallah-Seghrouchni, Jo o Leite,Paolo Torroni (eds.). Languages, Methodologies and Development Tools forMulti-Agent Systems (LADS2009). Berlin Heidelberg: Springer-Verlag,2010:35-54.
    [129] P. Haller, M. Odersky. Actors That Unify Threads and Events [C]. Amy L.Murphy, Jan Vitek (eds.). International Conference on Coordination Models AndLanguages. Berlin Heidelberg: Springer-Verlag,2007:171-190.
    [130] Alessandro Ricci, Andrea Santi. Programming Abstractions for IntegratingAutonomous and Reactive Behaviors: An Agent-Oriented Approach [C]. RafaelH. Bordini, Assaf Marron(eds.). Internation Workshop on Programming Basedon Actors, Agents, and Decentralized Control Abstractions. New York: ACMPress,2012:83-94.
    [131] Haibin Zhu. Fundamental Issues in the Design of a Role Engine [J]. InternationalSymposium on Collaborative Technologies and Systems (CTS2008).Washington: IEEE Press,2008:399-407.
    [132] M.M. Dastani, M.B. van Riemsdijk, J. Hulstijn, F.P.M. Dignum, J.-J.C. Meyer.Enacting and Deacting Roles in Agent Programming [C]. J.J. Odell, P. Giorgini,J.P. Müller (eds.). International Workshop on Agent-Oriented SoftwareEngineering. Berlin Heidelberg: Springer-Verlag,2005:189-204.
    [133] Rumbaugh J, Jacobson I, Booc h G. The Unified Modeling Language ReferenceManual [M]. Boston, MA: Addison Wesley,2004.
    [134] L. Crnogorac, A. S. Rao, K. Ramamaohanarao. Analysis of InheritanceMechanisms in Agent-oriented programming [C]. Martha E. Pollack (eds.).International Joint Conference on Artificial Intelligence (IJCAI-97). SanFrancisco, Californis, USA: Morgan Kaufmann Publishers,1997:647-654.
    [135] H.R. Jordan, S.E. Russell, G.M.P. O’Hare, R.W. Collier. Reuse by Inheritance inAgent Programming Languages [C]. John Jules Meyer, Amal El FallahSeghrouchni, Adina Magda Florea (eds.). International Workshop onMulti-Agent Systems Technology and Semantics (MASTS'11). BerlinHeidelberg: Springer-Verlag,2011:279-289.
    [136] R. Collier, R. Ross, G.M.P. O’Hare. A Role-based Approach to Reuse inAgent-Oriented Programming [C]. Guido Boella, James Odell (eds.). AAAI FallSymposium: Roles, an Interdisciplinary Perspective. California: The AAAI Press,2005:47-54.
    [137] L. Braubach, A. Pokahr, W. Lamersdorf. Extending the Capability Concept forFlexible BDI Agent Modularization [C]. Rafael H. Bordini, Mehdi Dastani,Jürgen Dix, Amal El Fallah-Seghrouchni (eds.). International Workshop onProgramming Multi-Agent Systems (ProMAS'05). Berlin Heidelberg:Springer-Verlag,2005:139–155.
    [138] N. Madden, B. Logan. Modularity and Compositionality in Jason [C]. LarsBraubach, Jean-Pierre Briot, John Thangarajah (eds.). International Workshop onProgramming Multi-Agent Systems (ProMAS'09). Berlin Heidelberg:Springer-Verlag,2009:237–253.
    [139] K. Hindriks. Modules as Policy-Based Intentions: Modular Agent Programmingin GOAL [C]. Mehdi Dastani, Michael Winikoff (eds.). International Workshopon Programming Multi-Agent Systems (ProMAS'07). Berlin Heidelberg:Springer-Verlag,2008:156-171.
    [140] M. Dastani, B. R. Steunebrink. Operational Semantics for BDI Modules inMulti-Agent Programming [C]. Michael Fisher, Peter Novák (eds.). InternationalConference on Computational Logic In Multi-Agent Systems (CLIMA'09).Berlin Heidelberg: Springer-Verlag,2010:83-101.
    [141] M. B. van Riemsdijk, M. Dastani, J.-J. Ch. Meyer, F. S. de Boer. Goal-OrientedModularity in Agent Programming [C]. Hideyuki Nakashima, Michael Wellman,Peter Stone(eds.). International Conference on Autonomous Agents andMultiagent Systems (AAMAS'06). New York: ACM Press,2006:1271-1278.
    [142] P. Busetta, N. Howden, R. Ronnquist, A. Hodgson. Structuring BDI Agents inFunctional Clusters [C]. N. Jennings and Y. Lesperance (eds.). Intelligent AgentsVI: Theories, Architectures and Languages. Berlin Heidelberg: Springer-Verlag,2000:277-289.
    [143] Martin Odersky, Kex Spoon, Bill Venners. Programming in Scala [M].California: Artima Press,2007.
    [144] G. Agha. Actors—A Model of Concurrent Computation for Distributed Systems[M]. Cambridge, MA, USA: MIT Press,1986.
    [145] Joe Armstrong. Making Reliable Distributed Systems In The Presence OfSoftware Errors [D]. Stockholm: The Royal Institue of Technology,2003.
    [146] Glynn Winskel. The Formal Semantics of Programming Language: AnIntroduction [M]. Cambridge: Massachusetts Institute of Technology,1993.
    [147] Plotkin G. A Structural Approach to Operational Semantics [R]. Aarhus:University of Aarhus (DAIMI FN-19),1981.
    [148] Robert St rk, Joachim Schmid, Egon B rger. Java and the Java Virtual Machine:Definition, Verification, Validation [M]. Berlin Heidelberg: Springer-Verlag,2001.
    [149] B. C. Pierce. Types and Programming Languages [M]. Cambridge, MA, USA:MIT Press,2002.
    [150] Alonzo Church. A Formulation of the Simple Theory of Types [J]. Journal ofSymbolic Logic,1940,5:56-68.
    [151] Igarashi Atsushi, Benjamin Pierce, Philip Wadler. Featherweight Java: Aminimal core calculus for Java and GJ [J]. ACM Transaction ProgrammingLanguage System,2001,23:396-450.
    [152] Davide Sangiorgi, David Walker. The π-calculus: a Theory of Mobile Processes[M]. Cambridge: Cambridge University Press,2001.
    [153] J. Colaco, M. Pantel, F. Dagnat, P. Sallé. Static Safety Analysis forNon-Uniform Service Availability in Actors [C]. Paolo Ciancarini, AlessandroFantechi, Roberto Gorrieri (eds.). Formal Methods for Open Object-BasedDistributed Systems (FMOODS). Berlin Heidelberg: Springer-Verlag,1999:371-386.
    [154] D. Mostrous, V.T. Vasconcelos. Session Typing for a Featherweight Erlang [C].W. De Meuter, G.-C. Roman (eds.). International Conference on CoordinationModels and Languages (COORDINATION). Heidelberg Berlin: Springer-Verlag,2011:95-109.
    [155] Silvia Crafa. Behavioural Types for Actor Systems [cs.PL]. CoRRabs/1206.1687,2012.
    [156] N. Kobayashi, B. Pierce, D. Turner. Linearity and the π-calculus [J]. ACMTransation Programming Language System,1999,21:914-947.
    [157] G. Agha, P. Thati. An Algebraic Theory of Actors and its Application to aSimple Object-Based Language [C]. O. Owe et al.(eds.). From OO to FM (DahlFestschrift).2004:26-57.
    [158] Ferruccio Damiani, Paola Giannini, Alessandro Ricci, Mirko Viroli.Featherweight Agent Language-A Core Calculus for Agents and Artifacts [C].Boris Shishkov, José Cordeiro, Alpesh Ranchordas (eds.). InternationalConference on Software and Data Technologies (ICSOFT). Setubal Portugal:INSTICC Press,2009:218-225.
    [159] A. Ricci, A. Santi. Typing Multi-Agent Programs in simpAL [C]. Louise Dennis,Olivier Boissier, Rafael H. Bordini (eds.). International Workshop onProgramming Multi-Agent Systems. Heidelberg Berlin: Springer-Verlag,2012:132-147.
    [160] JavaCC Home [EB/OL]. http://javacc.java.net.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700