Dear reader, I'll write up the background step by step. Please ask, if
you feel some need. I feel that this part is very importand as such, but at
lower priority in time.
Those who ignore history are doomed to repeat it.
Those who study history are doomed to know it's repeating.
The questions we shall (superficial) address here concern
Philosophy.
Communication.
Understanding natural languages
[german].
Structuralism.
Safety, security, trust, law, state and forms of governments.
(Example:
Why are computer systems still hierarchical, while the real world
goes democracy?)
The most important design goal for the Askemos system
is the ability to express basic legal concepts clearly
and make them accessiable to methods of linguistic and logical
analysis and reasoning,
which have been developed in the advance of computer science.
Whatever is justified on that ground will be included.
However care has to be taken to include just enough
and nothing else to make it powerful enough and keep it flexible
at the same time.
Driven by the aim,
imperative of basic design decisions by
legal and philosophical considerations
and comprehensibility to persons literate at these fields
is highly important,
much more than technical considerations
which have the potential to blur the point.
Readers may always skip technical sections
until they actually want to become Askemos programmers.
The Starting Point
Legal systems are self consistent
logical systems expressed in some language.
To model them throughout and in all possible variations
it's important to isolate the smallest
amount of axioms and rules, from which the rest can be build.
This selection is not arbitrary
(as one might often get the impression when reading
computer science literature).
Many philosophers and jurists have paved the way
and is our duty to follow consistently.
To begin with, we felt that the philosophy of enlightenment,
which is also the foundation of the political systems
of the occident and the modern states of the western hemisphere,
would be the best theory to start with.
That decision was not inescapable but rather arbitrary
and it's not done in the intention to exclude other philosophies
or legal systems as long as there is mutual
respect for our culture too.
But after all, the founders of the project where german
- one specialised in enlightenment philosophy one in computer sience
- and we where self-critical enough not to aim at the infeasable.
If it would turn out
that it's impossible to destil a globally applicable
"kernel" of legal theory,
there's still the need to have a marketable product.
(Remember that Askemos was started as a private project
with the intent to produce an operating system superior to
the "state of the art".)
Fortunately, to the best of my current knowledge,
that legal theory is not in conflict with any philosophy
I studied so far.
The over all structure of our system(TODO find better pointer or replace)
is the same
as for the semantic web: a gaph (network) of frames
(Minsky, '75).
Relations between the frames
allude to natural language
and there's a clear distintion between denotational level,
meta level and context.
TODO since context and meta level are often confused
(I've read the best distinction in the french structuralism):
bring some poiter here.
The lower level of the Askemos system,
the part implemented by the
Askemos virtual machine,
models the laws of nature
(in tems of an RDF model),
on top of which we (can) have free, autonomous, self-determined
agents (subjects)
and basic means to ensure certainty of sequences of events.
On the basis of that virtual machine,
which executes "legal" code,
those agents can engage in trade, treaties and contracts.
That's the subject matter of the Askemos application layer.
Details are beyond the scope of this work.
on laws of nature and natural law
It would be outright stupid to restrict laws of nature by human will.
That's the basic idea behind
the legal theory of natural or superpositive law.
However it's questionable how far these superpositive law shall go.
Many philosophers and legal theories include for intance human rights
among superpositive law
and we personally share that view, but it's not nessesary so.
Hence, since it must be possible to express the opposite view,
only those elements may be included in the base system
which are nessesary, universal and reasonable.
That's the reason why the model calculated by the virtual machine
may not provide more than
autonomy and self-determinism for subjects
and certainty on reports of past events.
Everything else, including human rights,
must be left to the application level.
Fortunately certainty about past object creation
allows ethernal manifestation of those rights within
realms of application.
There's also an important practical reason behind
this tight restriction: feasability, see above.
Safety and Security
The object and rights management
(role based provisioning)
model of Askemos is higly similar
to the object-capability model as
Miller and Shapiro describe in Abstraction Mechanisms for Access Control (2003,
reposted here [original] with kind permissions of the authors).
Threats and requirements,
CommonCriteria (here?)
legal requirements
Within the civil society the principle of legal certainty
has central importance, which must be enforced.
This is the role of the Askemos infra structure
within systems of AskemosScope.
Hence the enforced rules have to match the legal requirements.
Here we'll compare with J.J. Rousseau
social contract,
John Locke
(two treaties of government)
Immanuel Kant and other enlightment philosophers,
the chinese philosophy and others.
Benjamin Soskis
Man and the Machines:
It's time to start thinking about how we might grant legal rights to computers.
(Frankly: in the beginning of the HistoryOfAskemos
Askemos was just an attempt to formalize
the common patterns found in a few of those philosophies.
See also DasBewusstsein)
Programming Theory
The target domain emphasises
high standards on correctness and verification.
Many popular programming environments fail to meet this criterion.
(Including popular things like C, C++, Java and C#.)
Since they are defined somewhat informal and true result verification
is replaced by to observation of behavior of a technical apparatus.
That's too weak a definition of correctness,
such applications should not incure legaly binding consequences.
Recent german case law already appreciates that fact
that an apparatus might fail and hence reject legal consequences
based on such observation,
see [Az.: 31 C 79/05-83] @heise.de.)
Askemos applications must be based solely on abstract calculi
without reference to any technical apparatus.
The following calculi influenced the Askemos design and can be used
to model applications.
- Calculi & Functional Programming
-
Some easy reading on lambda calculus for the perl programmer
http://perl.plover.com/yak/lambda/ - should be moved elsewhere.
See also Pointers in the
Scheme page(which should be split
in theory and applied programming).
-
A Concurrent Calculus with Atomic Transactions
- Today this seems the best match.
- Jumbo Lambda
- TODO: read
it.
-
Process Algebra
-
The pi calculus
(an extension of the lambda caculus)
(the pi-calculus in direct style)
is also related to dynamic binding:
-
lambda(fut)
- Maybe
lambda(fut)
is a better match then pi-calculus?
I just came across it and did not have the time to read past page 3, but up to there it's operations match the Askemos implementation.
- Petri Nets & Functional Nets
-
The same combination of functional programming
and petri nets
as in Askemos have been used as the theoretical spine of
http://lampwww.epfl.ch/fn/
- "reactive" processes
- Came across Actors mid 2005. Looks simillar too.
- Io - simillarities
- NOTE?: This remark SHOULD be moved to some "comparision" page.
The
Io language
has quite a simillar structure to Askemos
whereby readers ougth to identify Askemos places and Io objects.
However places are sort of more heavy weight
and Io objects appear not to have access control and permission
handling (by default).
However I really like it from the 1st reading.
Maybe it would be great to port Askemos over.
- Dynamic Binding
- A fundamental concept in natural and artificial languages
is the dynamic binding
of names to objects (or object identifiers).
(see also)
more to process algebra http://lambda-the-ultimate.org/node/view/482 ,
http://lambda-the-ultimate.org/node/view/535 TODO: mustread,
http://lambda-the-ultimate.org/node/view/568
"Continuations":
Oleg Kiselyov
How to remove a dynamic prompt.
more
http://lambda-the-ultimate.org/node/view/1197
The POPLmark Challenge:
eventually Askemos should have means to solve the challenge.
(This is a requirement in a way,
neither a goal in itself nor is any promise implied that it will
or that I, the author of that "requirement",
will try to meet the challenge.)
Topology and Messaging
Conclusion: Evolutinary successful mechanism utilize network topologies of
"equal" objects. They communicate with unidirectional, unreliable signals and
deploy redundancy to account for the uncertainty.
Examples: the brain, ant hills,
systolic algorithm
C. A. R. Hoare Communicating Sequential Processes
- interesting read.
More from http://www.afm.sbu.ac.uk/csp/ .
TODO look into http://www.iam.unibe.ch/~scg/Research/Piccola/
for structur description.
I should have found http://www.acims.arizona.edu/EDUCATION/education_frame.html
before (5th Sep 2001), sound theory background which describes modells in
discrete events. Hence it should fit...
TODO
A good question an a few pointers
http://www.ucalgary.ca/~rzach/logblog/2005/04/motivating-intro-logic-for-philosophy.html .
These projects seem worth looking closer than I came around to.
The TUNES project has interesting, highly relevant reads,
which should be integrated here in one form or another.
John Mc Charty (1998)
A Programming Language Based on Speech Acts,
(it's a pity that I only found it in 2002)
contains a lot of philosophical background knowledge.
As such it's terribly related to the Askemos.
TODO: evaluate, read, comment on.