Promise theory

Last updated
An example Promise Theory diagram illustrating partial ordering of agents by promise. PromiseTheoryPartialOrder.png
An example Promise Theory diagram illustrating partial ordering of agents by promise.

Promise Theory is a method of analysis suitable for studying any system of interacting components. In the context of information science, Promise Theory offers a methodology for organising and understanding systems by modelling voluntary cooperation between individual actors or agents, which make public their 'intentions' to one another in the form of promises. Promise Theory is grounded in graph theory and set theory. [1]

Contents

The goal of Promise Theory is to reveal the behavior of a whole by taking the viewpoint of the parts rather than the whole. In other words, it is a bottom-up, constructionist view of the world. Promise Theory is not a technology or design methodology. It doesn't advocate any position or design principle, except as a method of analysis. [2]

Promise Theory is being used in a variety of disciplines ranging from network (SDN) [3] and computer systems management [4] to organizations [5] and finance. [6]

History

An early form of Promise Theory was proposed by physicist and computer scientist Mark Burgess in 2004, [3] initially in the context of information science, in order to solve observed problems with the use of obligation-based logics in computer management schemes, in particular for policy-based management. [7]

A collaboration between Burgess and Dutch computer scientist Jan Bergstra refined the model of a promise, which included the notion of impositions and the role of trust. The cooperation resulted in several books and many scientific papers covering a range of different applications. [1] [6] [8] [9] [10] [11] [12] [13]

In spite of wider applications of Promise Theory, it was originally proposed by Burgess as a way of modelling the computer management software CFEngine and its autonomous behaviour. CFEngine had been under development since 1993 [4] and Burgess had found that existing theories based on obligations were unsuitable as "they amounted to wishful thinking". [14] Consequently, CFEngine uses a model of autonomy - as implied by promise theory - both as a way of avoiding distributed inconsistency in policy and as a security principle against external attack. As of January 2023 more than 2700 companies are using CFEngine worldwide. [15]

Outside the configuration management and DevOps disciplines, Promise Theory had a slow start. In the essay Promise You A Rose Garden (2007) [14] Burgess used a more popular, less academic style, but it failed to widen the general visibility of the concept at the time. A few years later, in 2012, things changed when Cisco began using Promise Theory in their growing SDN initiatives, also known as 'ACI', Application Centric Infrastructure. [16] The tech media picked up the usage in 2013 [17] [3] [18] [19] which led to a number of applications of Promise Theory in new disciplines in the years following, such as biology, [20] supply chain management, [21] design, [22] business/leadership [23] [5] and systems architecture. [24] Tim O'Reilly discusses Promise Theory in his bestseller WTF: What's the Future. [25]

Key ideas

Promise Theory is described as a modeling tool or a method of analysis suitable for studying any system of interacting components. It is not a technology or design methodology and does not advocate any position or design principle, except as a method of analysis.[ citation needed ]

Agents

Agents in Promise Theory are said to be autonomous, meaning that they are causally independent of one another. This independence implies that they cannot be controlled from without, they originate their own behaviours entirely from within, yet they can rely on one another's services through the making of promises to signal cooperation. Agents are thus self-determined until such a time as they partially or completely give up their independence by promising to accept guidance from other agents.[ citation needed ]

Agents may be very simple, like a heading in a HTML document, or very complex, like a name server in a network e.g. a DNS server. Regardless of internal complexity, and agent embody mechanisms in order to keep promises. A HTML heading makes promises about its own rendering via CSS statements. [26] A DNS server promises to answer requests for addresses given a name. [14] The first extremely simple, the latter much more sophisticated. These differences in internal process complexity lead to a definition of so-called ‘semantic scaling' of agent complexity.

Intentions and outcomes

Agents in Promise Theory may have `intentions'. An intention may be realized by a behaviour or a target outcome. Intentions are thus made concrete by defining a set of acceptable outcomes associated with each intention. An outcome is most useful when it describes an invariant or mathematical fixed point in some description of states, because this can be both dynamically and semantically stable.

Each intention expresses a quantifiable outcome, which may be described as a state of an agent. Intentions are sometimes described as targets, goals, or desired states. The selection of intentions by an agent is left unexplained so as to avoid questions about free will. [1]

Agents express their intentions to one another by 'promise' or by 'imposition'. This provides a measure by which they can 'assess' whether intentions are fulfilled or not (i.e. whether promises are kept).[ citation needed ]

Promises

Promises arise when an agent shares one of its intentions with another agent voluntarily, e.g. by publishing its intent. The method of sharing is left to the modeller to explain.

For example, an object, such as a door handle, is an agent that promises to be suitable for opening a door, although it could be used for something else, e.g. for digging a hole in the ground. We cannot assume that agents will accept the promises given in the spirit in which they were intended, because every agent has its own context and capabilities. The promise of 'door handleness' could be expressed by virtue of its physical form or by having a written label attached in some language. An agent that uses this promise can assess whether the agent keeps its promise, or is 'fit for purpose'. Any agent can decide this for itself.

A promise may be used voluntarily by another agent in order to influence its usage of the other agent. Promises facilitate interaction, cooperation, and tend to maximize an intended outcome. Promises are not commands or deterministic controls.[ citation needed ]

Autonomy

Obligations, rather than promises have been the traditional way of modelling behaviour - in society, in technology and other areas. [27] While still dominant, the obligation based model has known weaknesses, in particular in areas like scalability and predictability, because of its rigidness and lack of dynamism.

Promise Theory's point of departure from obligation logics is the idea that all agents in a system should have autonomy of control—i.e. that they cannot be coerced or forced into a specific behaviour. Obligation theories in computer science often view an obligation as a deterministic command that causes its proposed outcome. In Promise Theory an agent may only make promises about its own behaviour. For autonomous agents it is meaningless to make promises about another's behaviour.

Although this assumption could be interpreted morally or ethically, in Promise Theory this is simply a pragmatic `engineering' principle, which leads to a more complete declaration of the intended roles of the actors or agents in a system: When making assumptions about others' behaviour is disallowed, one is forced to document every promise more completely in order to make predictions which in turn will reveal possible failure modes by which cooperative behaviour could fail.

Command and control systems like those that motivate obligation theories can easily be reproduced by having agents voluntarily promise to follow the instructions of another agent (this is also viewed as a more realistic model of behaviour). Since a promise can always be withdrawn, there is no contradiction between voluntary cooperation and command and control.

In Philosophy and Law a promise is often viewed as something that leads to an obligation. Promise Theory rejects that point of view. Bergstra and Burgess state that the concept of a promise is quite independent of that of obligation. [27]

Economics

Promises can be valuable to the promisee or even to the promiser. They might also lead to costs. There is thus an economic story to tell about promises. The economics of promises naturally motivate `selfish agent' behaviour and Promise Theory can be seen as a motivation for game theoretical decision making, in which multiple promises play the role of strategies in a game. [28]

Promise Theory has also been used to model and build new insights into monetary systems. [6]

Emergent behaviour

In computer science, the Promise theory describes policy governed services, in a framework of completely autonomous agents, which assist one another by voluntary cooperation alone. It is a framework for analyzing realistic models of modern networking, and as a formal model for swarm intelligence. [29]

Promise theory may be viewed as a logical and graph theoretical framework for understanding complex relationships in networks, where many constraints have to be met, which was developed at Oslo University College, by drawing on ideas from several different lines of research conducted there, including policy based management, graph theory, logic and configuration management. It uses a constructivist approach that builds conventional management structures from graphs of interacting, autonomous agents. Promises can be asserted either from an agent to itself or from one agent to another and each promise implies a constraint on the behavior of the promising agent. The atomicity of the promises makes them a tool for finding contradictions and inconsistencies.

Agency as a model of systems in space and time

The promises made by autonomous agents lead to a mutually approved graph structure, which in turn leads to spatial structures in which the agents represent point-like locations. This allows models of smart spaces, i.e. semantically labeled or even functional spaces, such as databases, knowledge maps, warehouses, hotels, etc., to be unified with other more conventional descriptions of space and time. The model of semantic spacetime uses promise theory to discuss these spacetime concepts.

Promises are more mathematically primitive than graph adjacencies, since a link requires the mutual consent of two autonomous agents, thus the concept of a connected space requires more work to build structure. This makes them mathematically interesting as a notion of space, and offers a useful way of modeling physical and virtual information systems. [30]

Promise Theory, Agile Transformation and Social Science

The Open Leadership Network and Open Space Technology organizers Daniel Mezick and Mark Sheffield invited Promise Theory originator Mark Burgess to keynote at the Open Leadership Network's Boston conference in 2019. This led to applying the formal development of Promise Theory to teach agile concepts. Burgess later extended the lecture notes into an online study course, [31] which he claims prompted an even deeper study of the concepts of social systems, including trust and authority. [32] [33]

Related Research Articles

Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.

<span class="mw-page-title-main">Configuration management</span> Process for maintaining consistency of a product attributes with its design

Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. The CM process is widely used by military engineering organizations to manage changes throughout the system lifecycle of complex systems, such as weapon systems, military vehicles, and information systems. Outside the military, the CM process is also used with IT service management as defined by ITIL, and with other domain models in the civil engineering and other industrial engineering segments such as roads, bridges, canals, dams, and buildings.

<span class="mw-page-title-main">Computer simulation</span> Process of mathematical modelling, performed on a computer

Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics, astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.

Social simulation is a research field that applies computational methods to study issues in the social sciences. The issues explored include problems in computational law, psychology, organizational behavior, sociology, political science, economics, anthropology, geography, engineering, archaeology and linguistics.

Autonomic computing (AC) is distributed computing resources with self-managing characteristics, adapting to unpredictable changes while hiding intrinsic complexity to operators and users. Initiated by IBM in 2001, this initiative ultimately aimed to develop computer systems capable of self-management, to overcome the rapidly growing complexity of computing systems management, and to reduce the barrier that complexity poses to further growth.

<span class="mw-page-title-main">Multi-agent system</span> Built of multiple interacting agents

A multi-agent system is a computerized system composed of multiple interacting intelligent agents. Multi-agent systems can solve problems that are difficult or impossible for an individual agent or a monolithic system to solve. Intelligence may include methodic, functional, procedural approaches, algorithmic search or reinforcement learning.

<span class="mw-page-title-main">Social complexity</span> Conceptual framework

In sociology, social complexity is a conceptual framework used in the analysis of society. In the sciences, contemporary definitions of complexity are found in systems theory, wherein the phenomenon being studied has many parts and many possible arrangements of the parts; simultaneously, what is complex and what is simple are relative and change in time.

<span class="mw-page-title-main">Computational sociology</span> Branch of the discipline of sociology

Computational sociology is a branch of sociology that uses computationally intensive methods to analyze and model social phenomena. Using computer simulations, artificial intelligence, complex statistical methods, and analytic approaches like social network analysis, computational sociology develops and tests theories of complex social processes through bottom-up modeling of social interactions.

An agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents in order to understand the behavior of a system and what governs its outcomes. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to understand the stochasticity of these models. Particularly within ecology, ABMs are also called individual-based models (IBMs). A review of recent literature on individual-based models, agent-based models, and multiagent systems shows that ABMs are used in many scientific domains including biology, ecology and social science. Agent-based modeling is related to, but distinct from, the concept of multi-agent systems or multi-agent simulation in that the goal of ABM is to search for explanatory insight into the collective behavior of agents obeying simple rules, typically in natural systems, rather than in designing agents or solving specific practical or engineering problems.

CFEngine is a configuration management system, written by Mark Burgess. Its primary function is to provide automated configuration and maintenance of large-scale computer systems, including the unified management of servers, desktops, consumer and industrial devices, embedded network devices, mobile smartphones, and tablet computers.

<span class="mw-page-title-main">Mark Burgess (computer scientist)</span>

Mark Burgess is an independent researcher and writer, formerly professor at Oslo University College in Norway and creator of the CFEngine software and company, who is known for work in computer science in the field of policy-based configuration management.

Johannes Aldert "Jan" Bergstra is a Dutch computer scientist. His work has focussed on logic and the theoretical foundations of software engineering, especially on formal methods for system design. He is best known as an expert on algebraic methods for the specification of data and computational processes in general.


This is a comparison of notable free and open-source configuration management software, suitable for tasks like server configuration, orchestration and infrastructure as code typically performed by a system administrator.

The unified theory of acceptance and use of technology (UTAUT) is a technology acceptance model formulated by Venkatesh and others in "User acceptance of information technology: Toward a unified view". The UTAUT aims to explain user intentions to use an information system and subsequent usage behavior. The theory holds that there are four key constructs: 1) performance expectancy, 2) effort expectancy, 3) social influence, and 4) facilitating conditions.

In information security, computational trust is the generation of trusted authorities or user trust through cryptography. In centralised systems, security is typically based on the authenticated identity of external parties. Rigid authentication mechanisms, such as public key infrastructures (PKIs) or Kerberos, have allowed this model to be extended to distributed systems within a few closely collaborating domains or within a single administrative domain. During recent years, computer science has moved from centralised systems to distributed computing. This evolution has several implications for security models, policies and mechanisms needed to protect users’ information and resources in an increasingly interconnected computing infrastructure.

Agent-based social simulation consists of social simulations that are based on agent-based modeling, and implemented using artificial agent technologies. Agent-based social simulation is a scientific discipline concerned with simulation of social phenomena, using computer-based multiagent models. In these simulations, persons or group of persons are represented by agents. MABSS is a combination of social science, multiagent simulation and computer simulation.

Forest informatics is the combined science of forestry and informatics, with a special emphasis on collection, management, and processing of data, information and knowledge, and the incorporation of informatic concepts and theories specific to enrich forest management and forest science; it has a similar relationship to library science and information science.

<span class="mw-page-title-main">Social network</span> Social structure made up of a set of social actors

A social network is a social structure made up of a set of social actors, sets of dyadic ties, and other social interactions between actors. The social network perspective provides a set of methods for analyzing the structure of whole social entities as well as a variety of theories explaining the patterns observed in these structures. The study of these structures uses social network analysis to identify local and global patterns, locate influential entities, and examine network dynamics.

This glossary of artificial intelligence is a list of definitions of terms and concepts relevant to the study of artificial intelligence, its sub-disciplines, and related fields. Related glossaries include Glossary of computer science, Glossary of robotics, and Glossary of machine vision.

Semantic spacetime is a theoretical framework for agent-based modelling of spacetime, based on Promise Theory. It is relevant both as a model of computer science and as an alternative network based formulation of physics in some areas.

References

  1. 1 2 3 Bergstra, Jan A.; Burgess, Mark (2019). Promise Theory: Principles and Applications (Second ed.). XtAxis Press.
  2. Burgess, Mark (2015). Thinking in Promises. O'Reilly.
  3. 1 2 3 "Promise Theory: Can you really trust the network to keep promises?".
  4. 1 2 Burgess, Mark (Summer 1995). "Cfengine: a site configuration engine" (PDF). USENIX Computing Systems. 8 (3). Berkeley, CA, USA: USENIX . Retrieved 2014-08-22.
  5. 1 2 Marco Marongin (9 March 2018), Promise theory: from configuration management to team leadership
  6. 1 2 3 Bergstra, Jan A.; Burgess, Mark (2019). Money, Ownership and Agency: As an Application of Promise Theory. XtAxis Press. ISBN   978-1696588379.
  7. Burgess, Mark (2005). "An Approach to Understanding Policy Based on Autonomy and Voluntary Cooperation". Ambient Networks. Lecture Notes in Computer Science. Vol. 3775. pp. 97–108. doi:10.1007/11568285_9. ISBN   978-3-540-29388-0.
  8. A Treatise on Systems (volume 1): Analytical Descriptions of Human-Information Networks. Independently published. 13 February 2020. ISBN   979-8-6032-9490-2.{{cite book}}: |website= ignored (help)
  9. Promise Theory: Case Study on the 2016 Brexit Vote. ASIN   1974545334.
  10. Promises and Threats by Asymmetric Nuclear-Weapon States. ASIN   1673128211.
  11. Bergstra, J. A.; Burgess, M. (2019). "A Promise Theoretic Account of the Boeing 737 Max MCAS Algorithm Affair". arXiv: 2001.01543 [cs.OH].
  12. Bergstra, J. A.; Burgess, M. (2020). "Candidate Software Process Flaws for the Boeing 737 Max MCAS Algorithm and Risks for a Proposed Upgrade". arXiv: 2001.05690 [cs.OH].
  13. "Promise Theory as a Tool for Informaticians, Transmathematica". Transmathematica. 19 April 2020. doi:10.36285/tm.35.
  14. 1 2 3 "Promise You A Rose Garden (An Essay About System Management)" (PDF).
  15. "Enlyft: Companies Using CFEngine".
  16. "Cisco ACI Architecture Simplified". 31 July 2014.
  17. "Why you need to know about promise theory".
  18. "OpFlex-ing Your Cisco Application Centric Infrastructure". 12 November 2014.
  19. "ACI Policy Model: Introduction to some of the fundamentals of an ACI Policy and how it's enforced".
  20. Metz, Cade. "The Quest to Make Code Work Like Biology Just Took A Big Step (Wired 2016)". Wired.
  21. "Promise Theory and the Container Supply Chain Model". 2022.
  22. "Design is a Promise". 2022.
  23. Sheffield, Mark; Mezick, Daniel (2018). Inviting Leadership. Freestanding Press. p. 82.
  24. "Understanding things as Interacting Systems". 2019.
  25. O'Reilly, Tim (2017). WTF: What's the Future". p. 118.
  26. Burgess, Mark (October 2014). "Promise theory - what is it?". Linux Journal.
  27. 1 2 A static theory of promises (Report). 2014. arXiv: 0810.3294 .
  28. "Voluntary Economic Cooperation in Policy Based Management" (PDF). Archived from the original (PDF) on 6 January 2007. Retrieved 14 January 2022.
  29. M. Burgess, S. Fagernes (2006), Promise theory - a model of autonomous objects for pervasive computing and swarms, Oslo University College, ISBN   0-7695-2622-5
  30. M. Burgess, Spacetimes with Semantics
  31. "Promise Theory And Applications". YouTube .
  32. Burgess, Mark (2022). "Notes on Trust as a Causal Basis for Social Science". doi:10.2139/ssrn.4252501. SSRN   4252501.
  33. "Authority (I): A Promise Theoretic Formalization". SSRN   3855352.