Askemos 2000 (Archive)
home · features · download · archive


Purpose Operating System
Manufacture softeyes
Platform POSIX / BSD
License GPL
Market distributed systems


The software "askemos" is an incorruptible and intrusion resistant agent oriented operating system. It forms the basic infrastructure (TCB) required for the project Askemos. The AskemosDesign defines an autonomous, virtual machine on document level, which works synchronous among distributed, independant components (companies, departments etc.).

Big picture

Usually it's not easy to grasp what Askemos is, since it has a few facets. It's importance lies in the combination and seamless integration of a certain set of features found elsewhere too. Nowadays a comparison with couchdb might be helpful.

system overview

This white paper used to be the best one about the design. While it's ageing, it's still a recommented read.

Askemos is expected to be implemented on top of various base systems. (As it's best deployed with one instance at the local host, the next logical step would be to integrate it into the browser. But we are not yet there.) This document describes implementation and administration of the Askemos system available today.


The current implementation is a two layer operating system built on the foundation of a Unix compatible base system, which does the I/O. The AskemosServer compares to the "exec server" of micro kernel systems.

There are plenty of approaches already, but none was found, which could satisfy the AskemosDesign requirements. Askemos can fulfill those because it overcomes by design a lot of accidental hardness as inherent in legacy systems. Todays operating systems provide abstractions for individual computers, network connections files etc. these have no importance for the developer or user in the Askemos.

Askemos is an environment where simple, collaborating agents may form an intelligent systems. My personal dream of the latter is sort of a public library which can't "burn".

  1. quick overview
  2. a more general description
  3. Askemos Einführung? (german, different content)
  4. frequently asked questions

Development at top of Askemos

There are roughly two ways of dynamically generating programm output like websites. One way is the "PHP way" (or Perl, Ruby, pick one). This means you write some HTML code and mix the output from running another program in between. Beeing often used, there are several disadvantages though. For example, operation on fragments of code must all be done on the string-level. Superflous, distracting and potentially buggy code is introduced in your application to parse input and generate output. At worst, your output is simply invalid. Another disadvantage is that malicious or obnoxious HTML and scripts can be inserted relatively easy in the output by any potential attackers of your site, unless you take great care to escape HTML characters - which again clutters you application code.

The other way is to use XML: You use languages like XSL, which includes XSLT and XPath or XQuery?. The BALL kernel blends the latter approach with MIME converters to use simple input syntax like SXML, Wiki or OOo, since reference XML is needlessly verbose and thus hard to write, Scheme and SQL into a system of communicating sequential processes to express your business logic.

BALL internals

Most references to background information are in source code comments, where used.

  • How to write new virtual machines. (Example: policy/nu.scm
  • source repository ModuleStructure05

Installation and Administration

last modification: Wed, 16 Jun 2010 16:44:57 +0200
authors: jfw,
document identifier: A849640f672ed0df0958abc0712110f3c
delivered to public at Thu, 24 May 2018 18:16:21 +0100
short comments


pdf :: context view

24 Apr 2004 DefineInsecureMode
12 Dez 2010 FreeBSD
07 Dez 2010 BALLFeatures
05 Dez 2010 ByzantineAgreement
04 Dez 2010 SQLITE
03 Dez 2010 SRS
12 Okt 2010 WebDAV
12 Sep 2010 SQL
16 Jun 2010 BALL
16 Jun 2010 CouchDB
16 Jun 2010 AskemosServer
07 Mai 2010 SystemRequirements
30 Mar 2010 ProjectsOnThePlate
30 Mar 2010 AskemosResources
30 Mar 2010 RSchemeInstall
30 Mar 2010 INSTALL
30 Mar 2010 ChickenScheme
27 Nov 2009 subscriber
12 Jul 2009 test
01 Jul 2009 TrustCenter
27 Dez 2008 JKomG
26 Dez 2008 FanOut
26 Dez 2008 MIME
02 Mai 2006 AskemosTopMenu
18 Nov 2008 StorageAdaptor
18 Nov 2008 PStoreStorageAdapt
18 Nov 2008 OperationTips
15 Nov 2008 PCRE
04 Nov 2008 ProgrammingLanguag
09 Sep 2008 RelatedProjects
23 Jul 2008 ModuleStructure05
17 Jun 2008 NEWS
17 Jun 2008 HTML
17 Jun 2008 ACM
22 Mai 2008 HTTP
22 Mai 2008 BOSH
10 Mai 2008 AskemosBibliograph
10 Mai 2008 JerrysDreamAbstrac
20 Apr 2008 XSLT
11 Mar 2008 CodingStyle
10 Mar 2008
09 Mar 2008 MIMEConverter
07 Mar 2008 XML
06 Mar 2008 SRFI
01 Mar 2008 RFC4810


home · features · download · archive