Hi, this website has been down and currently beeing populated with
materials, sorry for the current scarcity of what you can find here.
Recent research, industry and media interest prompts us to revamp and tidy this up.
Use "create and account" in the top right corner if you are interested
in new developments and software.
Page menu: key facts | functionalities |
quick start | what is sEnglish? |
Amongst other things a new Eclipse-based
sEnglish authoring and execution environment will soon be available.
Some sEnglish webpages understandable by agents
Classical Control Design for Agents
Some Basic Facts
stands for system English
and it is easy to master it within a day.
It is best used
jointly with MATLAB (its extension is in preparation to C++, Java, Visual C and Phyton) and
is based on the use of a machine ontology language (MOL) that describes conceptual structures
in a very simple format using MATLAB types (C++, Java, VC or Phyton classes).
See more info in the right hand side menu under the titles Why MOL?
and Info on sEnglish
sysbrain.org is a non-profit organisation to promote the re-use and development of sEnglish/MATLAB code for all kinds of applications.
Of particular interest is the development of routines that can be used by intelligent agents.
Hence modules for autonomous control systems for various areas of life and industry are especially
suitable for submission.
Solution ideas, complete solutions or just reusable modules for a wide range of areas from home and garden
automation, security through robot pets, warehouse robots to unmanned vehicles can be searched, uploaded and offerred to other developers
on this website.
( = Machine Ontology Language or = MATLAB Ontology Language).
to define classes and properties for concepts that can be used as perception objects and also as abstract concepts.
MOL uses very simple notations for classes (>..>), properties (@) and constraints (@@).
MOL can be used to classify procedures as well as to classify objects that are inputs/outputs of procedures.
An object of a procedure describes its input and output classes, its code and its calling conventions.
sysbrain.org is a forum of developers who use the MOL-based system to archive
routines to facilitate tremendous code compatibility. For perception processes,
data fusion algorithms, inference algorithms, adaptive and learning control algoorithms
using model based, fuzzy and artifical neural network type solutions among others.
On the right hand column you find links to further explanations on MATLAB, autonomous cognitive systems,
MOL and sEnglish which allows natrual language handling of routine calls. Alternatively the articles section contains more
in depth accounts and explanations.
One of our most urgent tasks is to develop MOL ontologies for perception and cognition, so that they provide formats both
for objects as well as for sensory and inference procedures. We do not prescibe any single way forward and have created this website as a
platform for MATLAB MOL and sEnglish language users to shape the development of advanced systems and their many parts.
Submit your own developments and encourage others to use them. You can offer it for free or if you think it is
really powerful you can ask a for a royalty free fee via PayPal.
Functionalities of this website
The aims of this site are fulfilled by a set of functionalities that are easy to use and can be summarised by the following
Quick Start Guide
- To submit ACTbx code components use New.
- To submit articles use New .
- To start a new Discussion thread use New.
- Latest lists all latest submitted articles, codes and comments in threads.
- Questions of general interest can be raised independently from any threads, files or discussions.
- Resources can be submitted through either of articles, discussions or code exchange or directly posting it to the webmaster of sysbrain.org.
- Comments can be made in relation to any article, code or added to a discussion thread.
- Authors list includes all authors of articles, files or code – not “discussions authors” .
- Articles mean magazine style articles with illustrations, images and diagrams for anyone to read.
Most articles are about innovative solutions describing some hardware and code used.
But this is also a great way to translate and communicate deep scientific result to a wide audience.
Scientific papers in specialist journals and books (on robotics and automatic control) can and should be
referred to in these articles.
- Code means MATLAB source code or .p (pseudo) code or DLLs of routines
with descriptions of their use and their inputs/outputs strictly from the MOL ontology.
Use of MOL for the inputs/outputs of routines is important for wide compatibility of routines submitted
If some authors wish to charge some fee for their routines than they need to open a PayPal account.
Sysbrain.org provides an automated payment service (after official launch of this website).
- Discussions is a standard discussion forum organised around threads. Only topics within
the scope of autonomous control systems are to be discussed here. Cross referencing to articles and code is possible.
Haven't heard about natural language programming?
Look at this simple sentence:
Transform polyhedral object O1 into polyhedral object O2 by matrix M.
it can be expanded in meaning to the following description:
Get property 'facets' of O1 as F1. Transform set of faces F1 into set of faces F2 by matrix M. Get property 'vertices' of O1 as V1. Transform set of points V1 into set of points V2 by matrix M. Combine set of points V2 and set of faces F2 into polyhedral object O2.
with sEnglish this description safely compiles into MATLAB code:
function 02 = transform_polyhedron_by_matrix(O1,M);
Empirical and theoretical statements can also be formulated in English.
The following theorem is actually an sEnglish code that simply compiles
into MATLAB code that can be evaluated:
F1 = get_property_value('facets',O1);
F2 = transform_set_of_faces(F1,M);
V1 = get_property_value('vertices',O1);
V2 = transform_set_of_points(V1,M);
F2 = combinge_faces_and_points(V2,O2);
This presentation of 'meaning' is very useful in intelligent agent programming. This representation of
Pythagoras Theorem also
illustrates that the English based coding system advocated here
(called sEnglish) is suitable for writing up scientific results in English.
Using sEnglish will enable you to share code with other members,
the MOL/sEnglish Toolbox itself is provided free of charge for academic and personal use.
Let T be a 'triangle'. Let T have 'side lengths' denoted by a,b,c.
Let T have 'angles' denoted by
α , β , γ . If γ of T is equal to ~90° , then c²
= a² + b² within measurement tolerances.
As a subset of natural English, sEnglish is suitable to record algorithmic knowledge so that
it can be easily shared by researchers and even the public.
There are many manucaturers, hobbyists, academics and engineers developing useful and interesting
automation solutions throughout the world. The hardware platforms and software systems
used by them, and also the underlying principles of operations, can however be widely different. A lot of effort
is replicated and wasted and progress is slow: a lot of work is being done "in parallel", instead
of building on each other's results: developers build up their specialist hardware and software. This website serves
developers by allowing them to share their results and to help them to become more successful with their
own development work for employers or for customers.
sEnglish can be used as an "upgraded" of MATLAB, i.e. in many applications areas, but it is particularly important
to use it by engineers developing autonomous control systems such as robots and autonomous vehicles under water, on water,
in the air, in space, on the ground or on the road.
Building "intelligent" systems is now appearing to be a greater challenge to many researchers
and engineers than it was anticipated in the 1960s when the use of computers started to spread and
expectations were high. Sharing of intelligent systems methodologies and computer code is therefore
the only way to speed up development in this important area for our technological future.
The difficulty of developing intelligent machines should not be underestimated. Joint effort of developers is needed. The variety
of autonomous digital machines can be far greater than the biological variety of mammals. This makes our job even more labour intensive,
hence code sharing is of vital importance.
Architectures are widely different and this website is promoting the use of a common
platform based on:
- Use of compatible high level code in MATLAB or OCTAVE (abbreviated as M/O) to minimize reliance of low level
codes such as C,C++,C# or Java. Use of low level code slows down development because of the tedious nature of programming.
Some individual routines, that can be called from M/O, should still be developed in C,C++, C# and Java
but compatibility with M/O must be complete. Code exchange on this site is aimed at above the M/O level.
Use of a higher-than-M/O computer language is encouraged too. To ensure compatibility of M/O routines a shared ontology
is proposed in MOL (= MATLAB Ontology Language) that builds on basic MATLAB types as its lowest level classes.
MOL ensures use of classes and properties that can be directly used in M/O programming.
- There are now ISO standards for autonomous system architectures. This site aims to provide a forum to fill in
these standards with reusable code modules that work with various combinations of hardware (processors,
sensors and actuators, etc.)
Details of the standard architectures are to be made more precise and realised with implementation code.
- This site is also a forum for cooperation and can make realisation of new ideas for new areas of applications fast.
Digital computers have the strength of predictable behaviour compared to higly autonomous animals. Digital computers offer
much broader opportunities for new types of applications than what is suggested by nature. We often borrow ideas from nature
but we have to recognise that digital computers are fundamentally different and in many respect can offer much more than
what biological systems are capable of.
- The defence and aviation industries are relatively well developed in autonomous systems,
this site is aiming to promote civilian applications in everyday life, engineering and science.
Keywords: autonomous, control, toolbox, system, MATLAB, routines, m-files, sEnglish, MOL, agent, multiagent, cognitive, computer, developers, realtime, sensor, actuator, robot, AUV, UAV, AGV