Project plan - SchemeStation

Project plan - SchemeStation
SchemeStation documentation

1 Introduction

1.1 General description

The SCHEMESTATION project involves designing and implementing a prototype of a new distributed agent-oriented operating system carrying the name of the project.

The main use of the finished prototype is to be scientific research. The prominent objective of creating the prototype is to provide an environment for experimenting with distributed agent-based operating systems.

1.2 The Aim of The Project

The objective of this project is to produce a SCHEMESTATION simulator, main purpose of which is scientific research.

The SCHEMESTATION operating system is a proposed agent/actor-based distributed operating system with the following features:

1.2.1 A Brief Description of the SCHEMESTATION System

The system includes a compiler that produces assembly language code. The assembler module producer bytecode that can be executed in the virtual machine. The instruction set is especially designed to suit this system. Every actor has a heap that includes the executable code and data - the actor sees no other addresses but those in its own heap. There are garbage collector and linealizer -modules to deal with the heap. Linearizing means a bytestring equivalent of the heap. More precice information can be found in Terminology specifications and in Project requirements specification.

Every actor has an unique name inside a domain (a domain consists normally of one virtual machine). The actors can transparently migrate from domain to domain (the actor has no way of finding out in what domain it currently resides). This is done through the networking module that implements a packet oriented communication protocol.

The security system along the domains is trust based.

1.2.2 The SCHEMESTATION Implementation In This Project

In this project, a prototype of this operating system is built on the top of a UNIX environment. More specifically, a simulator is designed that runs as a set of UNIX user-level processes. The UNIX system to be used for development is Linux (with Debian distribution). However, the system should be easily portable to most major UNIX systems in order to make the system useful for research in heterogenous environments. Networking will be implemented on top of TCP/IP (socket API).

1.3 The Members of the Project

1.3.1 The Client

1.3.2 Project supervisor


1.3.3 The group

1.3.4 Project manager

Antti Huima
Email: antti@schemestation.cs.hut.fi
Tel. +358-9-468 3157
WWW: http://www.niksula.cs.hut.fi/~ahuima/

1.3.5 Process manager

Petteri Holländer
Email: pete@schemestation.cs.hut.fi
Tel. +358-50-529 4570
WWW: http://www.iki.fi/pete/

1.3.6 Testing manager

Jari Kirma
Email: jkirma@schemestation.cs.hut.fi
Tel. +358-9-468 2524
WWW: http://vulcan.tky.hut.fi/kirma/

1.3.7 Documentation manager

Ville Herva
Email: vherva@schemestation.cs.hut.fi
Tel. +358-50-51 64 500
WWW: http://www.iki.fi/v/

1.4 The Rights to the Result of This Project

In this paragraph the word "product" refers to the implementation and documentation of the system resulting from the project plus the intellectual property linked with it, including the abstract design of the system. Full rights to the product are owned equally by all the individual project members, and the Laboratory of Information Processing Science in Helsinki University of Technology with the following clarifications:

  1. These rights do not include any commercial usage of the project; commercial rights will be discussed later elsewhere.
  2. The same terms about rights apply to all direct derivatives of the product. These rights are not exclusive. Full rights to a derivative can be owned by someone else ALSO. Note, that the commercial usage of any derivative is not discussed here.
  3. Concerning the original product or any direct derivatives of it, an announcement of these rights and terms must be present in
    1. source code,
    2. documentation and
    3. applications.
  4. A direct derivative of the product is a computer application or any amount of computer code that shares code with the product, except for source code that was incorporated into the product from outside the project and is available outside the product.
  5. Any party mentioned here is allowed to surrender his or her rights to the product or any of its direct derivatives if he or she wishes so.
  6. Any party mentioning here owning full rights to the product or a direct derivate of it is allowed to transfer these full rights to a third party. Note, however, that commercial usage is not discussed here.
  7. The full rights to the product include but are not limited to the following rights:
    1. right to use the product for any non-commercial usage
    2. right to create direct or other derivatives of the product
    3. right to distribute it freely and grant full rights to it to third parties
  8. Concerning any scientific publications that might concern the product or the project, the following applies:
    1. If a publication is about the product itself and its main topic is describing the design of the product or any other aspect of it, then the publication may be published, submitted to a conference etc. only if the original project members agree.
    2. Publishing other kinds of publications linked to the product is not restricted.

2 Project phases

2.1 Project design (16.9. - 13.10.)

This phase involves planning the resource allocation.

2.1.1 Tasks

2.1.2 Documentation

2.2 Specification (14.10. - 3.11.)

2.2.1 Tasks

2.2.2 Documents

2.3 Implementation design (4.11. - 8.12.)

2.3.1 Tasks