PUPS P3
   HOME

TheInfoList



OR:

PUPS/P3 is an implementation of an organic computing environment for Linux which provides support for the implementation of low level persistent
software agents In computer science, a software agent or software AI is a computer program that acts for a user or other program in a relationship of agency, which derives from the Latin ''agere'' (to do): an agreement to act on one's behalf. Such "action on behal ...
.


Introduction

PUPS/P3 is a cluster computing environment derived from the MSPS operating environment implemented on the BBC Micro. The PUPS P3 environment has been used in the infrastructure of a number of scientific computing projects include the Daisy
automated species identification Automated species identification is a method of making the expertise of Taxonomy (biology), taxonomists available to ecologists, parataxonomy, parataxonomists and others via digital technology and artificial intelligence. Today, most automated ide ...
system and a number of computational neuroscience projects.


Features of the P3 process

PUPS/P3 processes are homeostatic agents. These agents are able to save their state and migrate between machines running compatible Linux kernels (via
CRIU Checkpoint/Restore In Userspace (CRIU) (pronounced ''kree-oo'', ), is a software tool for the Linux operating system. Using this tool, it is possible to freeze a running application (or part of it) and checkpoint it to persistent storage as a c ...
). The PUPS/P3 API also gives them significant access to the state of their environment: like biological organisms they are animate. That is, they are able to sense changes in their environment and respond appropriately. Fir example, a P3 process may elect to save its state or migrate if some resource, for example processor cycles become scarce. Effectively, this is the machine equivalent of an animal electing hibernate or migrate when its food resources become scarce. PUPS/P3 can also share data resources via a low level persistent object, the shared heap. The semantics of using this are similar to those used by the free()/malloc() API supplied by standard C libraries. Computations can be jointly executed by a cluster of co-operating P3 processes. This cluster is in many ways analalogous to a multicellular organism: like cells within an organism, individual P3 processes can specialise. For example, in the case of the Daisy pattern recognition system, the cluster consists of (ipm) processes which pre-process pattern-data, (floret) processes which run the PSOM neural nets used to classify those patterns, and (vhtml) processes which communicate the identity of patterns Daisy has discovered to the user. In addition, the Daisy cluster also has specialist (maggot and Kepher) processes to clear and recycle file and memory space and (lyosome) processes which destroy and replace other processes within the cluster which have become corrupted and therefore non-functional. In conjunction with
virtualisation In computing, virtualization or virtualisation (sometimes abbreviated v12n, a numeronym) is the act of creating a virtual (rather than actual) version of something at the same abstraction level, including virtual computer hardware platforms, sto ...
systems, for example the
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
VirtualBox system, it is possible to use PUPS/P3 to build homeostatic virtual ( Linux) machines which can carry computational payloads while living in a dynamic cloud environment. The latest release of PUPS/P3 also supports container based operating system level virtualization (via
Docker (software) Docker is a set of platform as a service (PaaS) products that use OS-level virtualization to deliver software in packages called ''containers''. The service has both free and premium tiers. The software that hosts the containers is called Doc ...
and check pointing and subsequent migration and/or restoration via
CRIU Checkpoint/Restore In Userspace (CRIU) (pronounced ''kree-oo'', ), is a software tool for the Linux operating system. Using this tool, it is possible to freeze a running application (or part of it) and checkpoint it to persistent storage as a c ...
.


P3 process network

The P3 system facilitates dynamic asynchronous peer to peer communication between processes and also dynamic asynchronous communication between processes and the user. In the example process network shown, several of the communications methods implemented in PUPS/P3 are illustrated. These include: User to PSRP server via PSRP client (using PSRP protocol). This communication mode establishes an asynchronous pseudotty connection between the psrp client (and hence the user) and the PSRP server process. Peer to peer (between PSRP servers) via SIC channel. A PSRP server wishing to communicate directly with another server slaves an instance of the psrp client via a Slaved Interaction Client Channel (SIC). It then instructs this slaved psrp client to open a PSRP channel to the peer it wishes to talk to. Peer to peer (between PSRP servers) via sensitive file. In this mode a PSRP server sends data to another server via file. To prevent any server reading the file it tagged with a key which has a matching lock on the recipient server. This lock and key system was inspired by enzyme-substrate and biological signaling systems. File:MSPS.png, Screenshot of MSPS (Multiple Segment
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
System) running on
BBC Model B The British Broadcasting Corporation Microcomputer System, or BBC Micro, is a series of microcomputers and associated peripherals designed and built by Acorn Computers in the 1980s for the BBC Computer Literacy Project. Designed with an emphasi ...
with 6502 second processor (circa 1986) File:psrp shell.png, psrp the P3 shell showing help page File:DaisyP3.jpg, psrp the P3 shell talking to floret, one of the components of the DAISY
automated species identification Automated species identification is a method of making the expertise of Taxonomy (biology), taxonomists available to ecologists, parataxonomy, parataxonomists and others via digital technology and artificial intelligence. Today, most automated ide ...
system File:P4 schema.png, Schematic of a PUPS/P3 process network consisting of two clusters of PSRP servers and a maggot (a PSRP server which collects and disposes of garbage)


References


External links

* https://github.com/xylophanes/PupsP3#readme PUPS/P3 description on GitHub {{DEFAULTSORT:Pups P3 Agent-based programming languages