archives

Programming languages for low level autonomic systems

A few quick definitions

Autonomic Systems - Systems that self-manage/repair and improve.

Agorics - A system based on the market forces generally with currency + bidding

I have been thinking about an agoric architecture for a while that can manage low-level resources, so that the system can adapt as much as possible to the problem at hand. I'm trying to emulate some of the flexibility of neural plasticity.

The sorts of things the programs within the system should be able to do

  • Given two garbage collectors in the system, they should be able to pick the one that least interferes with their important operations.
  • Similarly pick the best scheduler
  • Pick the best virtual memory manager
  • Cope with new instances of these low level systems (schedulers/GCs etc), and the removal of others it might have been relying on
  • Adjust the stack space assigned to it, if needed

This is as well as deciding which normal programs to interact with, etc.

So I need a language that allows the programmer to adjust all these strategies. Preferably a language that can also allows the programmer to ignore all these considerations and be as close to a normal language as possible (using default handlers for all these considerations).

Has there been any previous research about this sort of programming language? I had been thinking of an imperative C like language (perhaps taking a leaf from C--), with special functions a la main() that handle these sorts of things when the program is loaded into memory. I'm also interested in abstracting away as much as possible from the underlying architecture.

I have blog-in-making here for other discussions.