Askemos 2000 (Archive)
home · features · download · archive
MVC · NuNu · OID · OO · SICP · STM · XML · XSLT · XSQL
AskemosHLD · AskemosServer · test

OverviewAbstract

About

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.).

Data Structure

A set of frames ist persistently stored in a software transactional memory. One slot, the body, contains an arbitrary data unit (there is no exact definition what the units are, but XML document are prefered). The system maintains meta data about the body in the other slots of the frame. We call such an object a place in Askemos.

Autonomy of Places, Presentation and Manipulation

At the places live autonomous objects or agents. One of the meta data slots of a place is a so called action, which is the code executed by the agent. (From a OO point of view, body + bodies'meta + action = object.) This action is (essentially) the only function, which can modify the slots of the place.

The read operation (MVC terminology: View) delivers the data at the place, possibly transformed by a function (side effect free!). A write operation (MVC terminology Controller) changes all data slots at the place in one transaction using the result(s) of another function.

It helps to understand that a place comparable to stream as described in SICP? (Abel, Sussmann). The head of the stream compares to the actual state of the agent (the data currently stored in the slots of the place), while a transaction - advancing the agent to it's next state - stores the result of the tail operation at the same place. Instead of the "head" and "tail" operations there are two kind of operations, a read and a write type.

Context and Topology

Each place has a set of mappings from names to OID's (strong links). That way it can keep connections and address those other places symbolically.

An operation can send out messages (partially restricted at types) to all places it can address (absolute or symbolically). Read operations can be performed as calls, that is, the sender can wait (at any time) for the operation to complete and use the result. Write operations are always send out asynchronous (read operations can be as well) at the end of a successful transaction. Besides being a technical requirement, this is an important design decision.

Rights

One dimension, or axis, of information are the rights which are accociated with a place.

The default protection system is a simple access control list. But the mechanism can easily model very complicated cases.

Distribution and Reliability

Operations of the Askemos distributed virtual machine are synchronized using byzantine agreement over the majority of a quorum. Therefore Askemos can cope with malicious components of it's own; it should be pretty hard to stop it working.

There are only a few requirements for the storage system. It's expected, that most distributed file systems and data bases can be utilized.

Sugar and Fashion

One action defines XSLT documents (implemented as server extension). Their program and data are just one style sheet (possibly distributed over multiple places). If a XSLT document wants to change state, it must recreate itself with state elements replaced.

Different data base adaptors have different strength. And distributed object data bases can not beat the performance of specialized relational data bases when searching large relational tables while they are superior at less structured data. Relational data bases are accessed by XSQL.





border
last modification: Fri, 02 Dec 2005 18:11:59 +0100
authors: jfw,
document identifier: A849640f672ed0df0958abc0712110f3c
delivered to public at Tue, 07 Feb 2012 12:18:54 +0100
short comments


rss

pdf :: context view

search



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
debug-access.scm
27 Nov 2009 subscriber
development
12 Jul 2009 test
01 Jul 2009 TrustCenter
27 Dez 2008 JKomG
26 Dez 2008 FanOut
26 Dez 2008 MIME
NetBSD
NOTE
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
BSD
07 Mar 2008 XML
06 Mar 2008 SRFI
01 Mar 2008 RFC4810
01 Mar 2008 RFC4998






Add


home · features · download · archive