从过程、对象、参与者、组件、服务到智能体——编程抽象的历史与演进比较分析
软件工程
2024-01-19 v4 人工智能
编程语言
摘要
本章旨在对编程抽象的演进提出一种回顾性分析,从{\em 过程}、{\em 对象}、{\em 参与者}、{\em 组件}、{\em 服务}直至{\em 智能体},将其置于一般历史视角下进行比较。我们选取了具有三个轴/维度的共同参照:单一实体层面的{\em 动作选择}、实体间的{\em 耦合灵活性}以及{\em 抽象层级}。我们确实可以观察到对更高灵活性(通过{\em 迟绑定}或{\em 连接}的{\em 具体化}等概念)与更高{\em 抽象}层级的持续追求。组件、服务与智能体的概念具有一些共同目标(尤其是{\em 软件模块化与可重构性}),其中多智能体系统进一步提出了{\em 自治}与{\em 协调}的概念,尤其通过{\em 自组织}的概念与{\em 知识}的运用。我们希望此分析有助于凸显推动编程抽象进步的一些基本动力,从而可为未来编程抽象的反思提供若干启示。
引用
@article{arxiv.2112.12508,
title = {From Procedures, Objects, Actors, Components, Services, to Agents -- A Comparative Analysis of the History and Evolution of Programming Abstractions},
author = {Jean-Pierre Briot},
journal= {arXiv preprint arXiv:2112.12508},
year = {2024}
}
备注
This preprint has been published as a chapter of a book about the French school of programming, coordinated by Bertrand Meyer and published by Springer in 2024