This document discusses algorithmic self-governance through the use of dynamic norm-governed multi-agent systems. It provides background on the concept of "organised adaptation" where agents can intentionally arrange or change aspects that affect themselves through agreed upon rules and procedures. A key approach discussed is using dynamic norm-governed systems, where social constraints like permissions, obligations and sanctions can be adapted at runtime. The Event Calculus is presented as a logic-based language to represent norms and protocols that can enable this type of self-governance in complex socio-technical systems.
Algorithmic Self-Governance for Socio-Technical SystemsFoCAS Initiative
Jeremy Pitt proposes a case study to design a socio-technical system using principles of collective action and self-governance. The system would address a collective action problem by allowing users to self-organize and manage shared resources. The case study would examine interface design, data flows, governance protocols based on Ostrom's principles, and overall architecture. The goal is to gain experience designing new collective adaptive systems and understand social networking, self-organization, and complex systems from an interdisciplinary perspective.
Faculty members received complaints about noisy and unpleasant conditions in some shared workspaces. Rather than micromanaging, the faculty prefers people resolve small issues through reasonable discussion. The presentation proposes creating an intelligent socio-technical system to enhance the quality of experience in shared physical workspaces. It would use collective adaptive systems over time and space, with algorithmic self-governance to improve the quality of experience through configuration and reconfiguration.
The document summarizes a lecture on cooperation in multi-agent systems. It discusses different types of cooperation including emergent cooperation without explicit communication, and cooperation with explicit communication like deliberative cooperation using partial global planning and negotiation techniques like the contract net protocol. It provides examples of how distributed vehicle monitoring problems can be solved using partial global planning where agents generate and optimize partial global plans by exchanging local plans.
The document discusses norms and electronic institutions for regulating behavior in distributed systems, particularly for applications in e-contracting environments. It introduces a language for representing norms, discusses how norms can guide the behavior of normative agents, and how electronic institutions can provide safe environments for enforcing norms and coordinating agent interaction through the definition and enforcement of norms. It also discusses how contract-based approaches can provide governance in service-oriented architectures.
‘Delivering Programmes of work in a Collaborative Environment’
In December 2013 I delivered a presentation on the above subject as a guest speaker at the 3rd Advanced Project Management International Conference in Berlin.
If you have any questions please email me on: danton@danton-progm.co.uk
This presentation deals with Multi Agent Systems and their application in industry and research. The presentation has beenmade by Zahia Guessoum (www-poleia.lip6.fr/~guessoum) Maître de Conférence at the Université Pierre et Marie Curie and me.
Defining high level organizational architecturesNicolay Worren
The consultant was hired to help clarify roles and responsibilities across a large Nordic bank's organizational units. They gathered data through interviews and documentation. They mapped the bank's high-level functions to its organizational structures, noting deviations from its governance principles. They also modeled alternative structures with more independent functions to potentially improve performance by reducing coupling between roles. The analysis aimed to increase understanding of current issues and raise awareness of design options.
Algorithmic Self-Governance for Socio-Technical SystemsFoCAS Initiative
Jeremy Pitt proposes a case study to design a socio-technical system using principles of collective action and self-governance. The system would address a collective action problem by allowing users to self-organize and manage shared resources. The case study would examine interface design, data flows, governance protocols based on Ostrom's principles, and overall architecture. The goal is to gain experience designing new collective adaptive systems and understand social networking, self-organization, and complex systems from an interdisciplinary perspective.
Faculty members received complaints about noisy and unpleasant conditions in some shared workspaces. Rather than micromanaging, the faculty prefers people resolve small issues through reasonable discussion. The presentation proposes creating an intelligent socio-technical system to enhance the quality of experience in shared physical workspaces. It would use collective adaptive systems over time and space, with algorithmic self-governance to improve the quality of experience through configuration and reconfiguration.
The document summarizes a lecture on cooperation in multi-agent systems. It discusses different types of cooperation including emergent cooperation without explicit communication, and cooperation with explicit communication like deliberative cooperation using partial global planning and negotiation techniques like the contract net protocol. It provides examples of how distributed vehicle monitoring problems can be solved using partial global planning where agents generate and optimize partial global plans by exchanging local plans.
The document discusses norms and electronic institutions for regulating behavior in distributed systems, particularly for applications in e-contracting environments. It introduces a language for representing norms, discusses how norms can guide the behavior of normative agents, and how electronic institutions can provide safe environments for enforcing norms and coordinating agent interaction through the definition and enforcement of norms. It also discusses how contract-based approaches can provide governance in service-oriented architectures.
‘Delivering Programmes of work in a Collaborative Environment’
In December 2013 I delivered a presentation on the above subject as a guest speaker at the 3rd Advanced Project Management International Conference in Berlin.
If you have any questions please email me on: danton@danton-progm.co.uk
This presentation deals with Multi Agent Systems and their application in industry and research. The presentation has beenmade by Zahia Guessoum (www-poleia.lip6.fr/~guessoum) Maître de Conférence at the Université Pierre et Marie Curie and me.
Defining high level organizational architecturesNicolay Worren
The consultant was hired to help clarify roles and responsibilities across a large Nordic bank's organizational units. They gathered data through interviews and documentation. They mapped the bank's high-level functions to its organizational structures, noting deviations from its governance principles. They also modeled alternative structures with more independent functions to potentially improve performance by reducing coupling between roles. The analysis aimed to increase understanding of current issues and raise awareness of design options.
This document discusses engineering self-organizing and self-aware electronic institutions. It proposes using principles from sociological studies of common resource management to develop formal models of institutions. These models are characterized using an event calculus and implemented as an experimental testbed. Experiments show that including principles like monitoring and sanctions leads to more sustainable resource allocation. The results provide a basis for developing self-aware institutions that can measure system performance and adapt rules to optimize outcomes.
The document discusses autonomic multi-agent systems and self-awareness. It covers:
1) The objectives of understanding fundamental properties of autonomic systems and how agents can use environmental awareness for self-organization.
2) An overview of multi-agent systems, autonomic systems, and representative approaches like dynamic norm-governed systems.
3) How awareness can enable self-healing through maintaining congruence between rules and system state.
DPCL: a Language Template for Normative SpecificationsGiovanni Sileno
The document presents DPCL, a language template for specifying normative directives in a readable and programmable way. It discusses key challenges in representing normative concepts and outlines DPCL's approach, which uses a JSON-like syntax combined with concepts from fields like deontic logic and Hohfeldian relationships. DPCL models normative constructs like powers, duties and prohibitions as frames and includes conditioning rules to manage conflicts. The document provides examples of how DPCL could represent a library regulation and discusses rewriting rules to re-encode constructs. It aims to create common ground for comparing diverse approaches to computational regulation.
Systems Engineering for Sustainable Development GoalsMichael Zargham
This document discusses systems engineering for sustainable development goals using systems thinking and token engineering. It defines complex systems and cyber-physical systems. It argues that the goal of systems engineering is to build communities and technologies that enable coordination on global goals through localized behaviors. This requires understanding relationships between social, economic, technological and physical aspects rather than treating them separately. It proposes a "socio-technical value stack" approach using layers including peer-to-peer networks, trustworthy data, and interaction patterns to design these systems. Ongoing protocol governance is key to adapting these systems to changing environments and needs.
Jeremy Pitt of Imperial College London presented his research into Formal Models of Social Processes as part of the SMART Seminar Series on Friday, 28th November 2014.
Event processing systems have evolved from early reactive systems to now support predictive capabilities using techniques like machine learning. Key challenges for these systems include handling uncertain and incomplete event data, performing predictive event processing through graphical model techniques, leveraging machine learning to automate pattern discovery and modeling, and evolving from purely reactive systems to proactively take actions based on predictions. Addressing these challenges will help make event processing systems more intelligent and adaptive.
Chapter 17: Models of the system
from
Dix, Finlay, Abowd and Beale (2004).
Human-Computer Interaction, third edition.
Prentice Hall. ISBN 0-13-239864-8.
http://www.hcibook.com/e3/
Cogility provides a model-driven architecture solution called Studio that allows users to create directly executable applications by modeling events, processes, and data integration. The models can be run like a real system without additional coding. Cogility's Intel solution is built on Studio and adds complex event processing capabilities for dynamic template matching to detect adversarial activities. It allows human-in-the-loop interaction to analyze events and take appropriate actions. The system aggregates low-level event patterns detected by machines into more useful summary events to improve situational awareness and timely decision making.
Patterns of Assigning Responsibilitiesguest2a92cd9
This document discusses principles for assigning responsibilities to objects in object-oriented design. It introduces the concept of responsibility as obligations of an object's behavior, such as doing something itself or controlling other objects. It then discusses several patterns for assigning responsibilities, including assigning creation responsibilities to the creator object, information-holding responsibilities to the information expert object, and mediation responsibilities to an intermediate object to reduce coupling. The document advocates assigning behaviors polymorphically rather than through conditionals, and creating protected variations to handle instability.
Brief introduction on CEP and Terminology
o Drools Vision
o Drools Fusion: Complex Event Processing extensions
o Event Declaration and Semantics
o Event Cloud, Streams and the Session Clock
o Temporal Reasoning
o Sliding Window Support
o Streams Support
o Memory Management
Slides from my Remote Keynote for DutchChain Token Engineering workshop hosted by Ocean Protocol. Material: Complex Systems Engineering and realizing the decentralized 'Value Stack' to enable sustainable real world value flows.
OMT uses three models - the object model, dynamic model, and functional model. The dynamic model represents the temporal, behavioral, and control aspects of a system using events, states, and state transitions. It shows how objects interact over time in response to events, and is represented through state diagrams that define the different states an object can be in and the events that trigger transitions between states.
The document provides an overview of event processing, including its history, current state, and future trends. It discusses event processing concepts like events, patterns, context, and languages. It also outlines some challenges like ordering events in distributed systems and dealing with uncertainty. The future trends highlighted include expanding applications of event processing, diversifying platforms and quality of service needs, standardizing aspects of event processing, and making it more accessible to non-programmers.
Proposed Event Processing Definitions, DRAFT Work in Progress, September 20, 2006 4th Draft, Tim Bass, CISSP, Principal Global Architect, Director, TIBCO Software Inc.
The document provides an overview of C++ STL concepts including functors, algorithms, strings, streams, and design patterns. It discusses common STL components like functors, adapters, predicates, algorithms and how they are used. It also summarizes common design patterns like factory, builder, adapter, composite, proxy, and behavioral patterns like command, chain of responsibility, iterator, observer, state, and strategy.
The document provides an overview of various C++ and STL concepts including functors, algorithms, strings, streams, Boost, and design patterns. It discusses functors, adapters, predicates, common algorithms, strings, streams, and briefly introduces some design patterns including factory, builder, prototype, singleton, adapter, composite, proxy, facade, mediator, command, chain of responsibility, iterator, observer, state, and strategy.
The document discusses object-oriented analysis and design (OOAD). It states that OOAD is a process of creating abstractions to meet system requirements independently of the programming language. Objects encapsulate state and behavior and communicate via message passing. While OOAD may increase development time, it facilitates reuse, maintenance, and verification. The document also discusses OO principles, the iterative analysis-design-implementation process, object-oriented analysis to identify classes and objects, and techniques for OOAD like use cases, domain modeling, CRC cards, and UML.
Requirements analysis involves building models that depict user scenarios, system functions, and data flows. This includes identifying analysis classes, their attributes, operations, and relationships. Classes are identified by examining use cases and extracting nouns or noun phrases. Classes should retain information, have identifiable operations, and represent common entities or roles. Attributes and operations are then defined for each class. Relationships between classes like dependencies and associations are also modeled. The analysis can be organized into packages.
Fundamentals of Collective Adaptive Systems ManifestoFoCAS Initiative
This document presents a manifesto summarizing the research agenda for collective adaptive systems developed by the FoCAS coordination action project over three years. It defines collective adaptive systems as consisting of diverse, autonomous but collaborating entities that continuously adapt to changes in their environment. The manifesto is structured in four chapters that introduce collective adaptive systems, present challenges in their fundamentals, propose engineering challenges, and summarize key concepts and directions. It aims to provide guidance for future research in this field.
Final FoCAS Newsletter, Issue Eight, Winter 2016FoCAS Initiative
The document discusses the development of a new simulator software called Kilombo for swarm robotics research using Kilobot robots. Kilombo was created by the Swarm-Organ project to allow for more efficient testing and exploration of swarm robotics algorithms compared to using physical robots. It aims to be fast, accurate, and able to run the same program code as the real Kilobots in order to streamline the transition between simulation and physical experimentation. Details are provided on the Kilobot platform and limitations of existing simulators, with the goal of Kilombo being directly compatible code that can be tested on simulations and transferred to real robots.
This document discusses engineering self-organizing and self-aware electronic institutions. It proposes using principles from sociological studies of common resource management to develop formal models of institutions. These models are characterized using an event calculus and implemented as an experimental testbed. Experiments show that including principles like monitoring and sanctions leads to more sustainable resource allocation. The results provide a basis for developing self-aware institutions that can measure system performance and adapt rules to optimize outcomes.
The document discusses autonomic multi-agent systems and self-awareness. It covers:
1) The objectives of understanding fundamental properties of autonomic systems and how agents can use environmental awareness for self-organization.
2) An overview of multi-agent systems, autonomic systems, and representative approaches like dynamic norm-governed systems.
3) How awareness can enable self-healing through maintaining congruence between rules and system state.
DPCL: a Language Template for Normative SpecificationsGiovanni Sileno
The document presents DPCL, a language template for specifying normative directives in a readable and programmable way. It discusses key challenges in representing normative concepts and outlines DPCL's approach, which uses a JSON-like syntax combined with concepts from fields like deontic logic and Hohfeldian relationships. DPCL models normative constructs like powers, duties and prohibitions as frames and includes conditioning rules to manage conflicts. The document provides examples of how DPCL could represent a library regulation and discusses rewriting rules to re-encode constructs. It aims to create common ground for comparing diverse approaches to computational regulation.
Systems Engineering for Sustainable Development GoalsMichael Zargham
This document discusses systems engineering for sustainable development goals using systems thinking and token engineering. It defines complex systems and cyber-physical systems. It argues that the goal of systems engineering is to build communities and technologies that enable coordination on global goals through localized behaviors. This requires understanding relationships between social, economic, technological and physical aspects rather than treating them separately. It proposes a "socio-technical value stack" approach using layers including peer-to-peer networks, trustworthy data, and interaction patterns to design these systems. Ongoing protocol governance is key to adapting these systems to changing environments and needs.
Jeremy Pitt of Imperial College London presented his research into Formal Models of Social Processes as part of the SMART Seminar Series on Friday, 28th November 2014.
Event processing systems have evolved from early reactive systems to now support predictive capabilities using techniques like machine learning. Key challenges for these systems include handling uncertain and incomplete event data, performing predictive event processing through graphical model techniques, leveraging machine learning to automate pattern discovery and modeling, and evolving from purely reactive systems to proactively take actions based on predictions. Addressing these challenges will help make event processing systems more intelligent and adaptive.
Chapter 17: Models of the system
from
Dix, Finlay, Abowd and Beale (2004).
Human-Computer Interaction, third edition.
Prentice Hall. ISBN 0-13-239864-8.
http://www.hcibook.com/e3/
Cogility provides a model-driven architecture solution called Studio that allows users to create directly executable applications by modeling events, processes, and data integration. The models can be run like a real system without additional coding. Cogility's Intel solution is built on Studio and adds complex event processing capabilities for dynamic template matching to detect adversarial activities. It allows human-in-the-loop interaction to analyze events and take appropriate actions. The system aggregates low-level event patterns detected by machines into more useful summary events to improve situational awareness and timely decision making.
Patterns of Assigning Responsibilitiesguest2a92cd9
This document discusses principles for assigning responsibilities to objects in object-oriented design. It introduces the concept of responsibility as obligations of an object's behavior, such as doing something itself or controlling other objects. It then discusses several patterns for assigning responsibilities, including assigning creation responsibilities to the creator object, information-holding responsibilities to the information expert object, and mediation responsibilities to an intermediate object to reduce coupling. The document advocates assigning behaviors polymorphically rather than through conditionals, and creating protected variations to handle instability.
Brief introduction on CEP and Terminology
o Drools Vision
o Drools Fusion: Complex Event Processing extensions
o Event Declaration and Semantics
o Event Cloud, Streams and the Session Clock
o Temporal Reasoning
o Sliding Window Support
o Streams Support
o Memory Management
Slides from my Remote Keynote for DutchChain Token Engineering workshop hosted by Ocean Protocol. Material: Complex Systems Engineering and realizing the decentralized 'Value Stack' to enable sustainable real world value flows.
OMT uses three models - the object model, dynamic model, and functional model. The dynamic model represents the temporal, behavioral, and control aspects of a system using events, states, and state transitions. It shows how objects interact over time in response to events, and is represented through state diagrams that define the different states an object can be in and the events that trigger transitions between states.
The document provides an overview of event processing, including its history, current state, and future trends. It discusses event processing concepts like events, patterns, context, and languages. It also outlines some challenges like ordering events in distributed systems and dealing with uncertainty. The future trends highlighted include expanding applications of event processing, diversifying platforms and quality of service needs, standardizing aspects of event processing, and making it more accessible to non-programmers.
Proposed Event Processing Definitions, DRAFT Work in Progress, September 20, 2006 4th Draft, Tim Bass, CISSP, Principal Global Architect, Director, TIBCO Software Inc.
The document provides an overview of C++ STL concepts including functors, algorithms, strings, streams, and design patterns. It discusses common STL components like functors, adapters, predicates, algorithms and how they are used. It also summarizes common design patterns like factory, builder, adapter, composite, proxy, and behavioral patterns like command, chain of responsibility, iterator, observer, state, and strategy.
The document provides an overview of various C++ and STL concepts including functors, algorithms, strings, streams, Boost, and design patterns. It discusses functors, adapters, predicates, common algorithms, strings, streams, and briefly introduces some design patterns including factory, builder, prototype, singleton, adapter, composite, proxy, facade, mediator, command, chain of responsibility, iterator, observer, state, and strategy.
The document discusses object-oriented analysis and design (OOAD). It states that OOAD is a process of creating abstractions to meet system requirements independently of the programming language. Objects encapsulate state and behavior and communicate via message passing. While OOAD may increase development time, it facilitates reuse, maintenance, and verification. The document also discusses OO principles, the iterative analysis-design-implementation process, object-oriented analysis to identify classes and objects, and techniques for OOAD like use cases, domain modeling, CRC cards, and UML.
Requirements analysis involves building models that depict user scenarios, system functions, and data flows. This includes identifying analysis classes, their attributes, operations, and relationships. Classes are identified by examining use cases and extracting nouns or noun phrases. Classes should retain information, have identifiable operations, and represent common entities or roles. Attributes and operations are then defined for each class. Relationships between classes like dependencies and associations are also modeled. The analysis can be organized into packages.
Similar to Part 1: Algorithmic Self-Governance (20)
Fundamentals of Collective Adaptive Systems ManifestoFoCAS Initiative
This document presents a manifesto summarizing the research agenda for collective adaptive systems developed by the FoCAS coordination action project over three years. It defines collective adaptive systems as consisting of diverse, autonomous but collaborating entities that continuously adapt to changes in their environment. The manifesto is structured in four chapters that introduce collective adaptive systems, present challenges in their fundamentals, propose engineering challenges, and summarize key concepts and directions. It aims to provide guidance for future research in this field.
Final FoCAS Newsletter, Issue Eight, Winter 2016FoCAS Initiative
The document discusses the development of a new simulator software called Kilombo for swarm robotics research using Kilobot robots. Kilombo was created by the Swarm-Organ project to allow for more efficient testing and exploration of swarm robotics algorithms compared to using physical robots. It aims to be fast, accurate, and able to run the same program code as the real Kilobots in order to streamline the transition between simulation and physical experimentation. Details are provided on the Kilobot platform and limitations of existing simulators, with the goal of Kilombo being directly compatible code that can be tested on simulations and transferred to real robots.
Marco Muniz (CASSTING Project) talk from the FoCAS Networking Session at ICT 2015: Perspectives on Collectives-Scientific Insights on Collective Adaptive Systems.
Autumn 2015 edition of the FoCAS Newsletter.
FoCAS is a Future and Emerging Technologies Proactive Initiative funded by the European Commission under FP7
This document discusses how lifelike behaviors can emerge in complex physical systems outside of biological organisms. It provides examples from fields like thermodynamics, astrophysics, chemistry, evolution, technology, and biogeophysics that exhibit self-replication, inference, and other behaviors we typically associate with living things. The author argues that we should treat these complex systems as if they were biological and investigate the mathematical similarities between living and non-living systems more rigorously, rather than assuming the differences. While acknowledging key differences, the author suggests different explanatory stances can be taken and that concepts from biology may help understand complex systems like economies and climate that seem to have behaviors of their own.
Where Shall We Have Lunch? Problems For A Computer-aided FutureFoCAS Initiative
This document discusses problems that may arise from interconnected complex adaptive systems in smart cities. It raises questions about what could happen when different systems like smart homes, mobility networks, and the power grid interact with each other. Some specific questions asked include: how can these systems account for human irrationality; how can we trust systems that are prone to emergent behaviors; and how can we design systems to be self-explaining when failures occur due to the interaction of independent parts. The document uses a hypothetical example of a lunch plan being disrupted by public transport strikes to illustrate issues that could arise from unforeseen emergent behaviors in interconnected smart city systems.
This document discusses the complexity of the Earth system and sustainability challenges. It notes that the Earth is a complex system with living and non-living parts that interact across all scales. Models have been developed to understand and simulate this complex system, but they simplify and only capture certain components. The goals for the Earth system have also become more complex over time, ranging from harmony between humanity and nature to the current 17 UN Sustainable Development Goals. Managing this complex, evolving system presents significant challenges.
On Manipulating Attractors In Collective Behaviours Of Bio-hybrid Societies W...FoCAS Initiative
This document discusses using robots to manipulate collective animal behaviors through continuous social interaction with bio-hybrid societies. It describes how robots have been integrated into animal societies, such as cockroaches, to influence group decisions by exploiting social factors. The goal is to steer collective systems to new attractors without directly interfering with every individual. This could allow non-invasive control or monitoring of animal groups for applications like regulating pest populations or encouraging beneficial flocking behaviors. However, more work is needed to identify effective interaction points for new species without unintended consequences.
The document discusses challenges with traditional software engineering paradigms for complex adaptive systems and proposes a new "liquid computing" paradigm. Specifically: (1) Traditional approaches fail to address the increasing complexity of software and need for self-adaptation. (2) Existing paradigms lose information during deployment and development that is needed for self-adaptive systems. (3) The "liquid computing" paradigm blends development and runtime, uses autonomous learning techniques, distributes control across systems, and maintains a library of strategies.
Complexity And The Relationship Between Knowledge And ActionFoCAS Initiative
The document discusses the relationship between knowledge and action when dealing with complex systems. It argues that relying only on scientific knowledge and analysis is insufficient for managing complexity and making decisions. A "logic of care" is needed that incorporates situated knowledge, values, and continuous engagement. When outcomes are uncertain, the focus should not be only on desired outcomes but also on ensuring fair and virtuous decision-making processes that allow all stakeholders to have a voice. Complexity methods can help inform decisions, but other approaches are also needed, and any tools created must consider normative and ethical questions around whose interests and opinions are prioritized.
The newsletter provides updates on the FoCAS Coordination Action Initiative including upcoming events like a talk on collective adaptive systems and robot evolution. It also summarizes recent FoCAS events at conferences and a training app sprint. The newsletter announces that FoCAS has adopted two new projects on adaptive security/privacy and collective motion and has over 300 members.
This document discusses temporal logics for multi-agent systems. It introduces Computation Tree Logic (CTL) and Alternating-Time Temporal Logic (ATL) for expressing properties of reactive and multi-agent systems. It then presents ATL with strategy contexts (ATLsc), which extends ATL with additional strategy quantifiers to express properties involving strategies. ATLsc is shown to be strictly more expressive than ATL and as expressive as Quantified CTL. The document discusses examples of properties that can be expressed in ATLsc, such as interactions between clients and servers accessing a shared resource and existence of Nash equilibria.
This document discusses complex systems of systems (SoS) and challenges in modeling and analyzing them. It provides an overview of Kim Larsen's activities related to SoS, including research projects on safety critical systems, smart grids, intelligent buildings, and more. It also outlines key features of SoS like their distributed, collaborative, large-scale nature and challenges like adaptivity, openness, and meeting quantitative constraints. Directions for addressing issues like dynamic behavior, game theory, correctness and optimization are mentioned.
Artificial software diversity: automatic synthesis of program sosiesFoCAS Initiative
The document discusses artificial software diversity through the automatic synthesis of program variants called "sosies". A sosie is a variant of a program that conforms to the same specification but may have different code. The document explores how to automatically generate sosies through code transformations while maintaining functional equivalence. It evaluates different transformation techniques and presents preliminary results on generating sosies for test programs. Potential applications of sosies include improving software robustness, resilience, self-repair, and creating a "moving target" to increase uncertainty for attackers.
This document discusses generating diverse variants of source code programs called "sosies" through tailored source code transformations. It presents research on:
1) Automatically synthesizing sosie programs that have the same specified behavior as the original program through statement additions, deletions, and replacements.
2) Evaluating the effectiveness of different transformation strategies like random changes or variable name-based replacements.
3) Analyzing the level of computation diversity exhibited by generated sosies through differences in method calls and variable usage.
The goal is to explore software robustness through large quantities of computationally diverse program variants. Experiments showed sosies could be generated for various programs and exhibited unpredictability in execution flows.
Search Diverse Models for Proactive Software DiversificationFoCAS Initiative
This document discusses software monocultures and the risks they pose due to vulnerabilities being widely shared. It proposes that software diversification through techniques like instruction set randomization and address space layout randomization can help mitigate these risks by making attacks less effective across multiple systems. The document argues that models and search-based software engineering (SBSE) can help automatically introduce diversity into applications and system architectures in a proactive way. An example is given of how models could represent a space of possible diverse configurations for deploying a multi-tier web application across different platforms and configurations.
Nicolas Markey: LSV { ENS Cachan
(joint work with Francois Laroussinie)
Nord-Pas-de-Calais { Belgium congress of mathematics
Valenciennes, 28 October 2013
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyScyllaDB
Freshworks creates AI-boosted business software that helps employees work more efficiently and effectively. Managing data across multiple RDBMS and NoSQL databases was already a challenge at their current scale. To prepare for 10X growth, they knew it was time to rethink their database strategy. Learn how they architected a solution that would simplify scaling while keeping costs under control.
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
High performance Serverless Java on AWS- GoTo Amsterdam 2024Vadym Kazulkin
Java is for many years one of the most popular programming languages, but it used to have hard times in the Serverless community. Java is known for its high cold start times and high memory footprint, comparing to other programming languages like Node.js and Python. In this talk I'll look at the general best practices and techniques we can use to decrease memory consumption, cold start times for Java Serverless development on AWS including GraalVM (Native Image) and AWS own offering SnapStart based on Firecracker microVM snapshot and restore and CRaC (Coordinated Restore at Checkpoint) runtime hooks. I'll also provide a lot of benchmarking on Lambda functions trying out various deployment package sizes, Lambda memory settings, Java compilation options and HTTP (a)synchronous clients and measure their impact on cold and warm start times.
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...Fwdays
Direct losses from downtime in 1 minute = $5-$10 thousand dollars. Reputation is priceless.
As part of the talk, we will consider the architectural strategies necessary for the development of highly loaded fintech solutions. We will focus on using queues and streaming to efficiently work and manage large amounts of data in real-time and to minimize latency.
We will focus special attention on the architectural patterns used in the design of the fintech system, microservices and event-driven architecture, which ensure scalability, fault tolerance, and consistency of the entire system.
QA or the Highway - Component Testing: Bridging the gap between frontend appl...zjhamm304
These are the slides for the presentation, "Component Testing: Bridging the gap between frontend applications" that was presented at QA or the Highway 2024 in Columbus, OH by Zachary Hamm.
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
This talk will cover ScyllaDB Architecture from the cluster-level view and zoom in on data distribution and internal node architecture. In the process, we will learn the secret sauce used to get ScyllaDB's high availability and superior performance. We will also touch on the upcoming changes to ScyllaDB architecture, moving to strongly consistent metadata and tablets.
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
ScyllaDB is making a major architecture shift. We’re moving from vNode replication to tablets – fragments of tables that are distributed independently, enabling dynamic data distribution and extreme elasticity. In this keynote, ScyllaDB co-founder and CTO Avi Kivity explains the reason for this shift, provides a look at the implementation and roadmap, and shares how this shift benefits ScyllaDB users.
Conversational agents, or chatbots, are increasingly used to access all sorts of services using natural language. While open-domain chatbots - like ChatGPT - can converse on any topic, task-oriented chatbots - the focus of this paper - are designed for specific tasks, like booking a flight, obtaining customer support, or setting an appointment. Like any other software, task-oriented chatbots need to be properly tested, usually by defining and executing test scenarios (i.e., sequences of user-chatbot interactions). However, there is currently a lack of methods to quantify the completeness and strength of such test scenarios, which can lead to low-quality tests, and hence to buggy chatbots.
To fill this gap, we propose adapting mutation testing (MuT) for task-oriented chatbots. To this end, we introduce a set of mutation operators that emulate faults in chatbot designs, an architecture that enables MuT on chatbots built using heterogeneous technologies, and a practical realisation as an Eclipse plugin. Moreover, we evaluate the applicability, effectiveness and efficiency of our approach on open-source chatbots, with promising results.
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
Main news related to the CCS TSI 2023 (2023/1695)Jakub Marek
An English 🇬🇧 translation of a presentation to the speech I gave about the main changes brought by CCS TSI 2023 at the biggest Czech conference on Communications and signalling systems on Railways, which was held in Clarion Hotel Olomouc from 7th to 9th November 2023 (konferenceszt.cz). Attended by around 500 participants and 200 on-line followers.
The original Czech 🇨🇿 version of the presentation can be found here: https://www.slideshare.net/slideshow/hlavni-novinky-souvisejici-s-ccs-tsi-2023-2023-1695/269688092 .
The videorecording (in Czech) from the presentation is available here: https://youtu.be/WzjJWm4IyPk?si=SImb06tuXGb30BEH .
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/temporal-event-neural-networks-a-more-efficient-alternative-to-the-transformer-a-presentation-from-brainchip/
Chris Jones, Director of Product Management at BrainChip , presents the “Temporal Event Neural Networks: A More Efficient Alternative to the Transformer” tutorial at the May 2024 Embedded Vision Summit.
The expansion of AI services necessitates enhanced computational capabilities on edge devices. Temporal Event Neural Networks (TENNs), developed by BrainChip, represent a novel and highly efficient state-space network. TENNs demonstrate exceptional proficiency in handling multi-dimensional streaming data, facilitating advancements in object detection, action recognition, speech enhancement and language model/sequence generation. Through the utilization of polynomial-based continuous convolutions, TENNs streamline models, expedite training processes and significantly diminish memory requirements, achieving notable reductions of up to 50x in parameters and 5,000x in energy consumption compared to prevailing methodologies like transformers.
Integration with BrainChip’s Akida neuromorphic hardware IP further enhances TENNs’ capabilities, enabling the realization of highly capable, portable and passively cooled edge devices. This presentation delves into the technical innovations underlying TENNs, presents real-world benchmarks, and elucidates how this cutting-edge approach is positioned to revolutionize edge AI across diverse applications.
"What does it really mean for your system to be available, or how to define w...Fwdays
We will talk about system monitoring from a few different angles. We will start by covering the basics, then discuss SLOs, how to define them, and why understanding the business well is crucial for success in this exercise.
"What does it really mean for your system to be available, or how to define w...
Part 1: Algorithmic Self-Governance
1. Algorithmic Self-Governance
. . .
Jeremy Pitt
Department of Electrical and Electronic Engineering
Imperial College London
FoCAS Summer School
University of Crete, Crete, 23-27/06/2014
2. Self-Organising Multi-Agent Systems
Preliminary assumptions and definitions
Assume – ‘Multi-Agent Systems’ is a known
‘Organising’ implies intentionally arranging or changing a
target object
‘Self’ implies agents are organising something that affects
them directly without external intervention
Just to be confusing, we call this form of self-organisation
“organised adaptation” . . .
. . . and we’ve also referred to adaptive institutions
Tutorial (Lecture 1) structure
Background: Organised Adaptation
Focus: Dynamic Norm-Governed Systems
Specification Language: the Event Calculus
Example: A Voting Protocol
Summary: Organised Adaptation + Socio-Technical System =
Algorithmic Self-Governance
Jeremy Pitt Algorithmic Self-Governance . . . 2 / 42
3. Motivation
Pick a network:
individual people, forming online communities or social
networks via computer-mediated communication
computing devices, forming ad hoc networks, MANETs,
VANETs, Sensor Networks, etc.
business processes, forming virtual enterprises/organizations,
holonic manufacturing, computational economies, etc.
May be classified as open systems (in the sense of Hewitt)
autonomous components of heterogeneous provenance
can assume that components can communicate (i.e. a common
language)
can not assume a common objective or central controller
Jeremy Pitt Algorithmic Self-Governance . . . 3 / 42
4. Features
Common features of open systems:
Dynamic and ‘volatile’: the environment, network topology
and constituent nodes can vary rapidly and unpredictably
‘Evolutionary’: known nodes can come/go, but can also have
new nodes and node ‘death’
Co-dependence and internal competition: nodes need others to
satisfy their own requirements, but may also behave to
maximise individual (rather than collective) utility
Partial knowledge: no single source knowledge, union of
knowledge may be inconsistent
Sub-ideal operation: the nodes may fail to comply according to
the system specification, by accident, necessity, or design.
Actuality (what is the case) and ideality (what ought to be
the case) do not necessarily coincide
Jeremy Pitt Algorithmic Self-Governance . . . 4 / 42
5. Addressing the Features
Distributed functionality and co-dependence
requires collective and coordinated interaction
requires role-based ‘co-operative work’
‘Evolution’
requires self-assessment, and resilience to (unexpected) change
Decentralised control and partial knowledge
requires sub-group decision-making and consensus formation
Unpredictable behaviour and sub-ideal operation
requires monitoring, conflict resolution, and restoration of
compliant states
Everything requires agreed rules and well-defined procedures,
and rules and procedures for changing rules and procedures
These rules and procedures have to applied by the system
components to themselves (or ‘things’ which affect them, like
roles, structures – and the rules themselves)
This is Organised Adaptation
Jeremy Pitt Algorithmic Self-Governance . . . 5 / 42
6. Organised Adaptation vs. Emergence
Organised Adaptation differs from Emergence
Emergent Adaptation:
the non-introspective application . . .
of hard-wired local computations, . . .
with respect to physical rules and/or the environment, . . .
which achieve unintended or unknown global outcomes
. . . as opposed to . . .
Organised Adaptation:
the introspective application . . .
of soft-wired local computations, . . .
with respect to physical rules, the environment and
conventional rules, . . .
in order to achieve intended and coordinated global outcomes.
And the ‘things’ which ‘do’ Organised Adaptation are –
self-organising multi-agent systems
Jeremy Pitt Algorithmic Self-Governance . . . 6 / 42
8. Representative Approaches (Multi-Agent/Autonomic
Systems)
Max-flow Networks
Unity
OMACS (Organisational Model for Adaptive Computational
Systems)
Adaptive Decision-Making Frameworks
Dynamic Argument Systems
Organic Computing
Law-Governed Interaction
Dynamic Norm-Governed Systems
Jeremy Pitt Algorithmic Self-Governance . . . 8 / 42
9. Dynamic Norm-governed Systems
Dynamic Norm-Governed Multi-Agent Systems
Social Constraints
Physical power, institutionalised power, and permission
Obligations, and other complex normative relations
Sanctions and penalties
Roles and actions (communication language)
Communication Protocols
Protocol stack: object-/meta-/meta-meta-/etc. level protocols
Transition protocols to instigate and implement change
Specification Space
Identify changeable components of a specification
(Degrees of Freedom: DoF)
Define a ‘space’ of specification instances, and a notion of
distance
Define rules about moving between instances
Jeremy Pitt Algorithmic Self-Governance . . . 9 / 42
10. Social Constraints
Three types of ‘can’
Physical capability
Institutional power
The performance by a designated agent, occupying a specific
role, of a certain action, which has conventional significance,
in the context of an institution
A special kind of ‘certain action’ is the speech act
Permission (& obligation)
Can have (physical or institutional) power with/without
permission
Sometimes power implies permission
Sanctions and enforcement policies
Right, duty, entitlement, and other more complex relations
Social constraints can be adapted for intentional, run-time
modification of the institution
Jeremy Pitt Algorithmic Self-Governance . . . 10 / 42
11. Communication Protocols
...
object protocol
rule modificationlevel 1 protocol:
voting
level k-1 protocol:
voting
level 0 protocol:
resource-sharing
object protocol
initialisation
Any protocol for norm-governed systems can be in level 0.
Any protocol for decision-making over rule modification can
be in level n, n > 0.
Attention is also payed to the transition protocols: the
procedures with which a meta-protocol is initiated.
Jeremy Pitt Algorithmic Self-Governance . . . 11 / 42
12. Specification Space
We define the Degrees of Freedom (DoF) of a protocol.
A protocol specification with n DoF creates an n-dimensional
specification space, where each dimension corresponds to a
DoF.
A specification point represents a complete protocol
specification — a specification instance — and is denoted by
a n-tuple, where each element of the tuple expresses the value
of a DoF.
DoF1
DoF2 DoF2
DoF1
Jeremy Pitt Algorithmic Self-Governance . . . 12 / 42
13. Representing protocols in a dynamic norm-governed system
Computational Logic: A Recap
Propositional Logic
Predicate Logic
Modal and Temporal Logic
Automated Reasoning
Prolog
the Event Calculus: a language for representing and reasoning
about conventional procedures for organised adaptation
Jeremy Pitt Algorithmic Self-Governance . . . 13 / 42
14. The Event Calculus (EC)
General purpose language for representing events, and for
reasoning about effects of events.
An action language with a logical semantics. Therefore, there
are links to:
Implementation directly in Prolog.
Implementation in other programming languages.
Prolog:
specification is its own implementation;
hence executable specification.
Jeremy Pitt Algorithmic Self-Governance . . . 14 / 42
15. Fluents and Events
Focus on events rather than situations; local states rather
than global states
Fluents
A fluent is a proposition whose value changes over time
A local state is a period of time during which a fluent holds
continuously
Events
initiate and terminate . . .
. . . a period of time during which a fluent holds continuously
Example
give(X, obj, Y ) initiates has(Y , obj)
give(X, obj, Y ) terminates has(X, obj)
A sequence of such events forms a narrative
Jeremy Pitt Algorithmic Self-Governance . . . 15 / 42
16. Simplified Event Calculus
Inertial fluents hold their values continuously
Values are assigned initially (at the start),
Values are given when asserted (initiated)
Values persist until disturbed (terminated)
Otherwise we have ‘missing information’
A formula of the form
Event terminates fluent
Has persistence disturbing effect, but no assertional force
A formula of the form
Event initiates fluent
Has assertional force, but no persistence disturbing effect
Suppose
win lottery initiates rich
lose wallet terminates rich
Jeremy Pitt Algorithmic Self-Governance . . . 16 / 42
18. Events and Narratives in the Simplified EC
Events occur at specific times (when they ‘happen’)
Assume that all events are instantaneous
Aside: there is a refinement of EC for events which have
duration
Here, we will use non-negative integer time-points
Does not mean we assume that time is discrete
Does not mean that time points have to be integers
We only need a relative/partial ordering for events
For non-negative integers, < will do
Read < as ‘earlier than’ or ‘before’
A set of events, each with a given time, is called a narrative
Inference in the SEC is non-monotonic
Events in a narrative can be processed in a different order to
that in which they occurred
Jeremy Pitt Algorithmic Self-Governance . . . 18 / 42
19. General Formulation
The narrative (what happens when) is represented by:
initially F
Fluent F holds at the initial time point (usually 0)
E happensat T
Event/action of type E occurred/happened at time T
The effects of actions are represented by:
E initiates F at T
The occurrence of event of type E at time T starts a period
of time for which fluent F holds
E terminates F at T
The occurrence of event of type E at time T ends a period of
time for which fluent F holds
The general query:
F holdsat T
Fluent F holds at time T
F holdsfor P
Fluent F holds for time period P (P is of the form (T1, T2])
Jeremy Pitt Algorithmic Self-Governance . . . 19 / 42
20. Method of Computation: The EC ‘Engine’
F holdsat T ←
E happensat Te ∧
Te < T ∧
E initiates F at Te ∧
not (F brokenbetween Te and T)
F holdsat T ←
0 ≤ T ∧
initially F ∧
not (F brokenbetween 0 and T)
F brokenbetween Te and T ←
E happensat Ti ∧
Te ≤ Ti ∧
Ti < T ∧
E terminates F at Ti
Jeremy Pitt Algorithmic Self-Governance . . . 20 / 42
21. Notes
Time comparisons are strict: therefore a fluent does not hold
at the time point in which it is initiated
Negation-as-failure (not(. . .)) ensures that inferences are
non-monotonic
Action pre-conditions can be expressed as integrity constraints
Some actions can’t be performed at the same time
For example: give(X, obj, Y ) ∧ give(X, obj, Z) ∧ not(Y = Z)
Every time the narrative changes, query the integrity
constraints to check consistency
A simple extension allows many-valued (as well as boolean)
fluents
Form is F = V
For boolean valued fluents, V ∈ {true, false}
There is a difference between:
kill(X) initiates alive(X) = false at T
kill(X) terminates alive(X) = true at T
Jeremy Pitt Algorithmic Self-Governance . . . 21 / 42
22. Classic Example: the Yale Shooting Problem
Due to Steve Hanks and Drew McDermott in 1987
One actor, Fred, who turns out to be a turkey, and a gun
Two fluents
one for the state of the gun, which can either be loaded or
unloaded
one for the state of Fred, which can either be dead or alive
Two actions
load the gun, after which the gun is loaded
shoot the gun, after which Fred is dead, and the gun unloaded
A naive formulation
¬loaded(N) ∧ load(N) → loaded(N + 1)
alive(N) ∧ loaded(N) ∧ shoot(N) → dead(N + 1)
loaded(N) ∧ shoot(N) → ¬loaded(N + 1)
Jeremy Pitt Algorithmic Self-Governance . . . 22 / 42
23. Reasoning about YSP (1)
Given:
{alive(1), ¬loaded(1), load(1), shoot(2)}
We can prove
alive(2) ∧ loaded(2) ∧ dead(3) ∧ ¬loaded(3)
But we can also prove
dead(2) ∧ loaded(2) ∧ dead(3) ∧ ¬loaded(3)
Because we did not say:
alive(N) ∧ load(N) → alive(N + 1)
Jeremy Pitt Algorithmic Self-Governance . . . 23 / 42
24. Reasoning about YSP (2)
Given:
{alive(1), ¬loaded(1), load(1), shoot(2), load(3), shoot(4)}
We can prove
alive(2) ∧ dead(3) ∧ dead(4) ∧ dead(5) ∧
loaded(2) ∧ ¬loaded(3) ∧ loaded(4) ∧ ¬loaded(5)
But we can also prove
alive(2) ∧ dead(3) ∧ alive(4) ∧ dead(5) ∧
loaded(2) ∧ ¬loaded(3) ∧ loaded(4) ∧ ¬loaded(5)
Because we did not say:
dead(N) ∧ load(N) → dead(N + 1)
Do we have to do this for everything! – everything not
changed stays the same?
This is the frame problem
Jeremy Pitt Algorithmic Self-Governance . . . 24 / 42
26. Motivating Example: Collective Choice Arrangements
Voting Protocol
There is a set of agents S, a subset of whom belong to an
institution I, some of whom occupy the role of voters who are
entitled to vote, and a designated agent in I occupying the role
of chair, who declares the result of a vote. The protocol
stipulates that a specific session (action situation) is opened,
the chair calls for a ballot on a specific motion, the voters cast
their votes (express their preference), the chair counts the
votes and declares the result according to the standing
(collective choice) rules.
Jeremy Pitt Algorithmic Self-Governance . . . 26 / 42
27. Voting Protocol: Informal Description
Informal specification of a decision-making procedure
according to Robert’s Rules of Order (Newly Revised)
a committee meets and the chair opens a session
a committee member requests and is granted the floor
that member proposes a motion
another member seconds the motion
the members debate the motion
the chair calls for those in favour to cast their vote
the chair calls for those against to cast their vote
the motion is carried or not, according to the standing rules of
the committee
Jeremy Pitt Algorithmic Self-Governance . . . 27 / 42
28. Voting Protocol: Graphical Description
Various options for graphical representation
UML Sequence diagrams
State diagrams
!"#
$%&'(&)#
!*#
$+,$,-%'#
!.#
-%/,&'%'#
!0#
1,2&)#
!3#
1,4%'#
!5#
+%-,61%'#
17#1,4%#
/7#'%/68+%#/7#/6,-%9:866,4#1(7#$+,$,-%# /7#,$%&9:866,4#1;7#-%/,&'#
17#+%1,<%#
17#8:-48(&#
!"#
-(=&)>-?@"#
/7#,$%&9-%--(,&# /7#/6,-%9-%--(,&#
!*#
-(=&)>-?@"#
1,2&)#
-(=&)>-?@*#
Note certain simplifications to RONR specification
No floor request, debate or agenda
Voting, changing of votes etc., concurrently
Jeremy Pitt Algorithmic Self-Governance . . . 28 / 42
29. An Event Calculus Specification
Basic Items: Events and Fluents
Institutional Powers
Voting and Counting Votes
Permission and Obligation
Sanctions
Objection
Jeremy Pitt Algorithmic Self-Governance . . . 29 / 42
30. Actions
Action Indicating. . .
open session(Ag, S) open and close a session
close session(Ag, S)
propose(Ag, M) propose and second a motion
second(Ag, M)
open ballot(Ag, M) open and close a ballot
close ballot(Ag, M)
vote(Ag, M, aye) vote for or against a motion,
vote(Ag, M, nay) abstain or change vote
abstain(Ag, M)
revoke(Ag, M)
declare(Ag, M, carried) declare the result of a vote
declare(Ag, M, not carried)
Jeremy Pitt Algorithmic Self-Governance . . . 30 / 42
31. Fluents
Fluent Range
sitting(S) boolean
status(M) {pending, proposed, seconded
voting(T), voted, resolved }
votes(M) N × N
voted(Ag, M) {nil, aye, nay, abs}
resolutions(S) list of motions
qualifies(Ag, R) boolean
role of (Ag, R) boolean
pow(Ag, Act) boolean
per(Ag, Act) boolean
obl(Ag, Act) boolean
sanction(Ag) list of integers
Jeremy Pitt Algorithmic Self-Governance . . . 31 / 42
32. Institutional Power
Recall: an empowered agent performs a designated action in
context which creates or changes an institutional fact.
We want to express the effects of the designated protocol
(speech) actions, in particular:
vote
open session and open ballot
declare
For the specification of the effects of these actions, it is
important to distinguish between:
the act of (‘successfully’) casting a vote, and
the act by means of which the casting of the vote is signalled
(e.g. sending a message of a particular form via a TCP/IP
socket connection).
Jeremy Pitt Algorithmic Self-Governance . . . 32 / 42
33. Institutional Power
Institutional power to open the ballot on a motion:
pow(C, open ballot(C, M)) = true holdsat T ←
status(M) = seconded holdsat T ∧
role of (C, chair) = true holdsat T
Institutional power to cast a vote:
pow(V , vote(V , M, )) = true holdsat T ←
status(M) = voting( ) holdsat T ∧
role of (V , voter) = true holdsat T ∧
not role of (V , chair) = true holdsat T ∧
voted(V , M) = nil holdsat T
Jeremy Pitt Algorithmic Self-Governance . . . 33 / 42
34. Effects of Institutional Power (1)
Chair performs open ballot(C, M)
open ballot(C, M) initiates votes(M) = (0, 0) at T ←
pow(C, open ballot(C, M)) = true holdsat T
open ballot(C, M) initiates voted(V , M) = nil at T ←
pow(C, open ballot(C, M)) = true holdsat T ∧
role of (V , voter) = true holdsat T
open ballot(C, M) initiates status(M) = voting(T) at T ←
pow(C, open ballot(C, M)) = true holdsat T
Now voters have power to cast votes
Jeremy Pitt Algorithmic Self-Governance . . . 34 / 42
35. Effects of Institutional Power (2)
Casting and counting votes
vote(V , M, aye) initiates votes(M) = (F1, A) at T ←
pow(V , vote(V , M)) = true holdsat T ∧
votes(M) = (F, A) holdsat T ∧
F1 = F + 1
vote(V , M, aye) initiates voted(V , M) = aye at T ←
pow(V , vote(V , M, )) = true holdsat T
Power to revoke vote now granted (revocation without vote
was ‘meaningless’)
Power also used to advance status of motion, perform role
assignment, etc.
Jeremy Pitt Algorithmic Self-Governance . . . 35 / 42
36. Permission
‘Right’ aspect of enfranchisement
Agents have the power to vote
Agents have the permission to vote
In this case (although not always) power implies permission
Nobody should stop them from exercising their power
Therefore the chair’s power to close the ballot is not always
permitted
pow(C, close ballot(C, M)) = true holdsat T ←
status(M) = voting holdsat T ∧
role of (C, chair) = true holdsat T
per(C, close ballot(C, M)) = true holdsat T ←
role of (C, chair) = true holdsat T ∧
status(M) = voting(T ) holdsat T ∧ T > T + 10
Jeremy Pitt Algorithmic Self-Governance . . . 36 / 42
37. Obligation
‘Entitlement’ aspect of enfranchisement
‘Access’ to ‘voting machine’ is a ’physical’ issue
Correct vote count: as above
A ’fair’ outcome: obligation to declare the result correctly: e.g.
a simple majority vote
obl(C, declare(C, M, carried)) = true holdsat T ←
role of (C, chair) = true holdsat T ∧
status(M) = voted holdsat T ∧
votes(M) = (F, A) holdsat T ∧
F > A
Jeremy Pitt Algorithmic Self-Governance . . . 37 / 42
38. Sanction
The chair always has the power to close a ballot
It has permission to exercise the power only after some time
has elapsed
If it closes the ballot early, it may be sanctioned
close ballot(C, M) initiates sanction(C) = [(102, M)|S] at T ←
role of (C, chair) = true holdsat T ∧
per(C, close ballot(C, M)) = false holdsat T ∧
sanction(C) = S holdsat T
The sanction results in penalty only if someone objects
Feature of RONR: ‘anything goes unless someone objects’
Jeremy Pitt Algorithmic Self-Governance . . . 38 / 42
39. The Event Calculus: Implementation Routes
EC has been mainly used for narrative assimilation:
Given a narrative, check that it is consistent
Given a consistent narrative, check what holds when
There are many EC variants and implementations, for
different purposes or requirements
Discrete Event Calculus Reasoner, for proving properties &
planning
Cached Event Calculus, for efficient narrative assimilation
etc. . . .
We will show the use of the Simplified EC for narrative
assimilation
Pre-process directly into Prolog
Jeremy Pitt Algorithmic Self-Governance . . . 39 / 42
41. Example: The Voting Protocol
EC Specification pre-processed into Prolog program
Process narratives for consistency and ‘what holds when’
agent roles powers permissions obligations sanctions
cAgent chair voter close ballot close session close ballot
pAgent voter proposer
sAgent voter proposer vote vote
vAgent voter
happens(vote(sAgent, m1, aye))
cAgent chair voter close ballot close session close ballot close ballot
pAgent voter proposer
sAgent voter proposer
vAgent voter
happens(close ballot(cAgent, m1))
cAgent chair voter declare close session declare(carried) declare(carried)
pAgent voter proposer
sAgent voter proposer
vAgent voter
happens(declare(cAgent, m1, not carried))
cAgent chair voter close session close session 102
pAgent voter proposer propose propose
sAgent voter proposer propose propose
vAgent voter
Jeremy Pitt Algorithmic Self-Governance . . . 41 / 42
42. Summary
Introduced the concept oforganised adaptation
We have reviewed the framework of dynamic norm-governed
(multi-agent) systems
We have studied the Event Calculus as one language for
specifying the salient aspects of the framework
We have specified a voting protocol in the Event Calculus
This is the basis of engineering self-organising
(norm-governed) multi-agent systems
But what happens when we ‘inject’ these systems into
socio-technical systems?
Organised Adaptation + Socio-Technical System =
Algorithmic Self-Governance
Jeremy Pitt Algorithmic Self-Governance . . . 42 / 42