2008 September 8, Monday


Semantic Oriented Programing

The larger the variety of actions available to a control
system, the larger the variety of perturbations it is able to
compensate.


In order to adequately compensate perturbations, a
control system must “know” which action to select from
the variety of available actions.

Applying to software, these cybernetic principles mean:
a) the more complex is runtime platform – the wider area of its usage and the more safe it is.
b) the more complex is development system – the more efficient is resulted software.
c) the more complex is development system – the more professional must be developers (programmers and architects) to use the development system efficiently.

This leads to tradeoffs between efficiency and manageability. The choice in these tradeoffs leads two opposite organization of development:


Of cause, in the picture we see extreme cases, while in reality the choice in this tradeoffs is somewhere between these extreme points.

We can take a Java platform as example, to see its string and week points. Basically, Java’s tradeoffs are closer to the left extreme point – simplification of the language over runtime, and simplification of runtime (JVM) over underlying HW. It leads to easily managed software, simpler development tools, and smaller required professional level of programmers. From the other side, it allows to produce only less efficient software. On the server side the inefficient usage of HW is not critical, and more important is how fast and cheap the development. On incapable devices (like phones) it allows to create portable (i.e. – easy to manage) applications, by the price of their efficiency (i.e. they are very simple and slow).

The proposed project is closer to alternative (right on the picture above) approach. As result, it can potentially yield most efficient software for given HW. The main idea is that complexity is moved away from small devices to host/server side, so that portability and safeness are provided by more complex development environment, rather then by simplicity of VM/runtime. A second idea behind the proposed project is configurability of the described tradeoffs. This will be achieved by extensibility of the programming language and extensibility of the runtime/VM platform. It will also allow to evolve incrementally and smoothly from simple software to more complex, more safe, more efficient software.

Open symade.org

date: 2007.03.19

We've opened a new site - http://www.symade.org/, which is used for developmet, contains source code, and discussion forum of SymADE. [...]

Category: Generalcategory: General

Started description of Semantic Tree nodes

date: 2007.01.10

We started description of the Semantic Tree design. [...]

Category: Generalcategory: General

SOP site started

date: 2006.11.09

SOP site has started [...]

Category: Generalcategory: General