Indus is a software platform for Ubiquitous, Autonomic and Adaptive computing. The foundation of the Indus platform is a new object oriented programming language called INDUS that enables implementation of software agents and software components - both new abstractions in the language. New syntax and semantics have been added to represent concepts of agent coordination and composition/reuse of components by agents. The Indus platform thus enable modeling of any application as a set of concurrently executing agents that cooperatively execute tasks by coordinating with each other and composing/plugging components.
Although the language remains the same across platforms, the Indus run time and compiler vary. The standard Indus run time is a container based framework that allows management of agent/component lifecycles, run time discovery, intelligent message routing, transaction management across distributed processes (agents/components), policy management, etc.
The basic Indus compiler translates Indus to Java that makes it compatible with existing Java run time environments. The Indus compiler toolchain can further compile Java bytecode to C that can be cross compiled to a variety of target hardware. This will allow Indus artifacts (agents/components) to be deployed across 8/16/32/64 bit platforms, thus making it a truly ubiquitous computing platform.
The standard Indus run time environment has also been extended for embedded and small footprint environments with additional capabilities for process management/scheduling/synchronization, memory management/garbage collection, routing and access to Hardware Abstraction Layer(HAL)APIs.
You are welcome to participate and contribute to the growth of Indus. We are now working towards making Indus available as a combination of open source (base libraries, VMs, embedded runtimes) and professional source components (compiler toolchain, run time libraries, IDEs) where sources will be sharable across registered project members. Please write to project administrators to participate in Indus implementations.