首页 软考

Technologies for the Development of Agent-based Distributed Applications[3]

软考 kernel_src 浏览 1155

RobustremoteinteractionRPC-basedclient-servercomputingwasdevelopedforLAN-basedsystems,wherestrongassumptionsregardingcommunicationintegrityandserver/infrastructureavailabilitycouldbemade.TheseassumptionsarenotvalidintheirstrongformwhenmovingfromLANstructurestow

Robust remote interaction

RPC-based client-server computing was developed for LAN-based systems, where strong assumptions regarding communication integrity and server/infrastructure availability could be made. These assumptions are not valid in their strong form when moving from LAN structures to wide area networks (WAN), leading to reduced reliability of RPC-based client-server applications. Although RPC itself could be enhanced to better cope with such new environments, it would take great efforts to adopt all existing components to the improved protocol. Two properties of the mobile agent paradigm offer advantages in this field [5]:

Messaging- As opposed to RPC, messaging is dependent on reliable communications to a much lesser extent, because it does not require the receiver to answer a message before the sender continues processing.

Recovery- Mobile agents by nature have to deal with required servers or services being unavailable. Therefore, mobile agents have to carry the ability with them to deal with such situations, i.e., they have to "know" alternatives or how to find them.

While one might argue that RPC could be implemented using messaging, i.e., unreliable communication layers as well, it is clear that due to the method's synchronous nature, re-transmission delays in larger and more unreliable networks would eventually become unacceptable.

Recovery mechanisms are a more complex issue. Considering the case where a particular server is down, the simplest solution is to have a back up server that provides the same information and which is explicitly known to the agent. More sophisticated strategies for solving unavailability issues build on generalization of the information needed: the agent could "ask" other agents or hosts for alternatives. In such a scenario, the agent would not have to know what backup servers there are initially. Several techniques have been proposed to address this issue, many of them based on the Knowledge Query and Manipulation Language (KQML, see http://www.cs.umbc.edu/kqml/ [15]).

Technology of current agent systems

A number of agent construction tools have been developed recently, out of commercial and academic interest. While in the early days extensions of scripting and proprietary languages were used for the implementation of mobile agent systems, the rapid evolution of the World Wide Web and its underlying technologies has lead to a strong shift toward standards-centered approaches. Many of the younger agent systems are frameworks based on Java or extensions to that language. Examples include Aglets [9], MOLE [1], and Grasshopper [10]. To overcome one of the biggest obstacles to the widespread usage of mobile agent technology—the lack of interoperability between different (mobile) agent systems—a common standard for mobile agent system interoperability facilities has been proposed by the Object Management Group (OMG) [12].

The purpose of the following section is to identify the requirements that state-of-the-art agent environments must fulfill in order to achieve the aforementioned advantages. The ideas that have been promoted to meet these requirements will then be examined; however, the scope of this examination will be limited to such techniques that build on standards, and to standards themselves, like OMG's mobile agent system interoperability facilities specification (MAF) [12] or FIPA (Foundation for Intelligent Physical Agents) [6].

Requirements for agent systems

In this section we discuss what major issues have to be resolved in mobile agent systems, with special focus on the utility of those systems for the development of distributed systems. We concentrate on three areas: security, mobility, and communication/interoperability.

Mobility

The ability to relocate itself, i.e., initiate its own transport to another location raises the question how an agent system should deal with this situation with respect to an agent's context information. In particular, the following issues have to be addressed [3]:

serialization of the execution stack.

validity of object references.

When a mobile agent is to be transported to another place, it should in theory halt its execution at the current instruction and resume at the next one in the new environment. That is, it should preserve its execution stack as well as its heap data. This concept is known as strong mobility, whereas the less restrictive transfer of only the code without migration of the execution state is called weak mobility [16]. An interesting point to note here is the question of what happens if there is more than one thread belonging to the agent in question and strong mobility cannot be implemented. While in the case where there is only one thread it seems feasible to restore the execution state through the use of entry routines and explicit state variables, the overhead and potential sources of error of such an approach in a multi-threaded application clearly rule out this possibility [2].

The other major issue when discussing agent mobility support is tracking the validity of object references [3, 12, 13]. When an agent moves to another place, references to objects, for example, dynamically loaded classes or database handles that were used in the previous environment, become invalid. Agent systems therefore have to provide mechanisms to properly track, and re-establish on migration, object references needed by an agent.

It should be noted that code mobility is not a new concept introduced by the mobile agent paradigm. Process migration techniques had already been investigated some time before agent computing as a new area of research [16].

[1]  [2]  [3]  [4]  [5]  [6]  [7]  

责任编辑:kernel_src|希赛教研中心

希赛教研中心拥有一支规模200余人的专职教研团队,深耕项目管理、软考、通信工程师、金融财会、厂商认证、考博英语等方向,形成“讲师+助教+班主任+智能学习平台”协同联动的完整教学服务体系:讲师讲透方法、助教盯住进度和答疑、班主任守住节奏、智能平台记录每一步成长——环环相扣,让学员的备考全程有人陪、有反馈、有结果。 师资力量雄厚。主要讲师毕业于 985/211 等知名高校,并拥有海外留学归国人才;职称梯队完善,高、中级职称讲师结构合理,讲师持有软考高级资格证书、PMI系列认证、CSPM高级项目管理培训师证、PeopleCert认证、DAMA认证、英语专八(TEM-8)、PETS-5、华为HCIE、经济师、一级建造师等行业权威资质,兼具深厚理论功底与丰富实战经验。 教研成果卓越。教研团队成员深度参与多项国家标准的研制工作,是 GB/T 47282-2026《项目重大节点评审规范》、GB/T 47285-2026《项目商业分析指南》、GB/T 30339-2026《项目和项目群后评价指南》、GB/T 46210-2025《项目成本管理指南》等国家标准的主要起草人,并担任《中国项目管理知识体系指南》总体编写专家组成员。团队累计主编出版专业图书与教材一百多种,覆盖软考、通信工程师、PMP、CSPM、NPDP等多个认证方向。 教学成效显著。 依托希赛自主研发的开放式智能互动学习平台,团队累计服务学员超百万人,帮助众多学员顺利通过软考、 PMP、CSPM、NPDP、华为认证、通信工程师、管理类联考、考博英语等考试,大批学员考入 985、211 等知名高校深造,以专业与口碑赢得学员和行业的广泛认可。

📅 本文最后更新于 2026-04-03

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
题库
章节练习
章节练习
章节专项突破
模拟考场
模拟考场
海量免费试题
每日一练
每日一练
每天10题练习
习题练习
习题练习
核心知识点练习
高频错题
高频错题
错题突破集训
分享至