From Procedures, Objects, Actors, Components, Services, to Agents -- A Comparative Analysis of the History and Evolution of Programming Abstractions
Jean-Pierre Briot

TL;DR
This paper provides a retrospective analysis of the evolution of programming abstractions, highlighting the progression from procedures to agents and identifying key themes like flexibility, abstraction, modularity, autonomy, and coordination.
Contribution
It offers a comparative historical perspective on programming abstractions, emphasizing common objectives and the driving forces behind their evolution.
Findings
Programming abstractions have evolved towards higher flexibility and abstraction levels.
Concepts like components, services, and agents share goals of modularity and reconfigurability.
Multi-agent systems introduce autonomy and coordination through auto-organization and knowledge.
Abstract
The objective of this chapter is to propose some retrospective analysis of the evolution of programming abstractions, from {\em procedures}, {\em objects}, {\em actors}, {\em components}, {\em services}, up to {\em agents}, %have some compare concepts of software component and of agent (and multi-agent system), %The method chosen is to by replacing them within a general historical perspective. Some common referential with three axes/dimensions is chosen: {\em action selection} at the level of one entity, {\em coupling flexibility} between entities, and {\em abstraction level}. We indeed may observe some continuous quest for higher flexibility (through notions such as {\em late binding}, or {\em reification} of {\em connections}) and higher level of {\em abstraction}. Concepts of components, services and agents have some common objectives (notably, {\em software modularity and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Modular Robots and Swarm Intelligence · Service-Oriented Architecture and Web Services
