Project Details
| Readme | Download |
The ARGON project.
See http://www.argon.org.uk/ (or the "argon.org.uk" subdirectory in the tarball)
Directory layout:
argon.org.uk- public information web sitesrc- source modulessrc/HYDROGEN/portable- HYDROGEN implementation in portable Csrc/HYDROGEN/stdlib- HYDROGEN standard libraries
Development roadmap (in pseudo-OCCAM):
SEQ
Develop a minimal bootstrap HYDROGEN kernel in portable C.
PAR Extend the minimal kernel to something useful
Develop a portable implementation of the HYDROGEN standard libraries
Implement the optional console feature, in terms of stdin/stdout
Implement the optional console feature, in terms of curses
Write an optional re-implementation of the compulsory caching feature from the standard library, but using one or more child processes to contain the cached memory, accessed via shm buffers, in order to break the process address space limits.
SEQ
Implement the optional device-tree feature
PAR
Implement POSIX-specific device driver for disks (implemented as POSIX files or raw disk devices), 'probed' by reading the configuration file.
Implement POSIX-specific device driver for an IPv4 interface, 'probed' by invoking ifconfig or from hardcoded configuration file entries.
Implement POSIX-specific device driver for an IPv6 interface, 'probed' by invoking ifconfig or from hardcoded configuration file entries.
Implement POSIX-specific device driver for a posix node, with basic POSIX API access
END PAR
END SEQ
END PAR
PAR
Implement HYDROGEN native-code compilers for x86, PPC, SPARC with appropriate parts of the standard library re-implemented to use platform-specific hacks such as inline assembly.
SEQ Implement the ARGON stack
Implement IRON data structure library
Implement HELIUM resource scheduler
Implement CHROME programming language
Implement CARBON knowledge base class
Implement IRIDIUM networking stack
Implement WOLFRAM clustering toolkit
Implement TUNGSTEN distributed data storage toolkit
Implement MERCURY application transport protocol
Implement CARBON knowledge access protocol
PAR Now we have the basics, we can branch out somewhat
Implement IODINE standard interfaces
Implement FLUORINE IRON<->MIME interop library, including a special text/x-iron MIME type for text-serialised IRON, and application/x-iron for binary IRON.
Implement FLUORINE TCP/UDP incoming gateway, allowing IPv4 and IPv6 listeners to be set up
Implement FLUORINE TCP/UDP outgoing gateway, allowing outgoing connections to be made
Implement FLUORINE HTTP incoming gateway, allowing incoming HTTP requests to be handled from CARBON, with special support for XML-RPC and SOAP.
Implement FLUORINE HTTP outgoing gateway, proxying HTTP into a CARBON knowledge set, with MIME->IRON conversions, and access to XML-RPC and SOAP services.
Implement FLUORINE RMI outgoing gateway
Implement FLUORINE CORBA outgoing gateway
END PAR
PAR And some optional extras
Implement AURUM budget management
Implement NEON user interfacing
Implement a NEON client app for POSIX containing just enough infrastructure to act as a UI
Implement scientific computing extensions; an optional HYDROGEN feature for matrix operations, and WOLFRAM tools to distribute algorithms grid-style
Implement real-time HYDROGEN kernels on bare hardware for various platforms, along with appropriate optional features for native hardware access
END PAR
END SEQ
END PAR
END SEQ
