Synchronous Interprocess Messaging Project for LINUX (SIMPL)


Welcome to the home of the SIMPL project.

Please feel free to visit the SIMPL project on Sourceforge.net also.
 
08May12 SIMPLv3.2.1 Released - fixes some build problems with previous release
08Apr22 SIMPLv3.2.0 Released - adds new RS232 surrogate and defaults TCP/IP surrogate to intersurrogate text headers
08Mar05 SIMPL Tcl hooks v1.3 released - minor bug fixes
07Aug08 The creators of the SIMPL toolkit are writing a book. If you want to be notified when the book gets published click here.
07July24 new version of SIMPL Tcl hooks - adds trusted network capabilities
07May15 SIMPLv3.1.2 released -  removes debug simpl_log messages
07Jan15 SIMPLv3.1.1 released -  minor bug fixes;  corrected a possible runaway condition in TCP/IP surrogate
06Aug16 the tclSurrogate protocol is finally documented.   This protocol is very useful in connecting disparate systems to SIMPL systems via a TCP/IP socket.
06Aug14 SIMPLv3.1.0 released -  added Relay() to SIMPL API and split Tcl/Tk and Python hooks from top level build and tarball
06June26 several new softwareICs released -  the new tarball contains code for a scheduler, a proxy and a statemachine ... for more info see softwareIC page
06Apr24 SIMPLv3.0.3 released -  added b_port option to surrogateTcp to allow for proxy testing
06Mar01 the SIMPL coach service articulated
06Feb07 SIMPLv3.0.2 released -  minor bug fix release which tweeks code associated with the Tcl surrogate
06Jan10 SIMPLv3.0.1 released -  minor bug fix release which corrects a couple of missing files from tarball
06Jan10 SIMPLv3.0.0 released -  v3.0 remerges the tcp_x back into the surrogate codebase and simplifies the protocol router interface
05Dec20  SIMPL example code - the fcnet network checker code added
05Dec20  SIMPLv2.5.0 released - third prerelease of v3.0 surrogate as ~/tcp_x with check for existence algorithm in surrogates
05Nov14  SIMPLv2.4.1 released - fixed so that surrogateTcp_x can coexist with surrogateTcp
05Nov14  SIMPL unit test scripts - the SIMPL unit testing infrastructure.   See ~/docs/readme.testing
05Nov12  SIMPLv2.4.0 released - first prerelease of the new v3.0 surrogate stuff as ~/tcp_x
05Oct27 SIMP3.0 roadmap
05Sept29  SIMPLv2.3.6 released - fixed the Trigger error in name_detach() logic which 2.3.5 patches introduced
05Sept26  SIMPLv2.3.5 released - fix in proxy logic for possibility that shmid=0
05Apr19  SIMPLv2.3.4 released - minor bug fix in the remote name_locate() error reporting and possible buffer overflow
05Feb9  SIMPLv2.3.3 released - minor bug fix in the Trigger() which permits proxyID of zero to be valid
04Nov19  SIMPLv2.3.2 released - minor bug fix in the Trigger() proxy  which now allows proxyID to be used
04Oct28  SIMPLv2.3.1 released - minor bug fix in the name_locate algorithm which affects SIMPL names common root portion
04Oct19 SIMPL selfhosted(live)CD ISO image available
04July20  SIMPLv2.3.0 released - significant release,  changes to sender write() detection algorithm
04July11  SIMPLv2.2.5 released - minor bug fix in theTcl/Tk shared library
04May20 SIMPL mailing list switching to Yahoo Groups because I'm tired of manually administering the 4-5 daily spam messages which can't be automatically filtered out of the Sourceforge mailing list system.    Please resubscribe yourself to the new list.
04May6  SIMPLv2.2.4 released - minor bug fixes in duplicate name detection algorithm and Python build
04Apr28 SIMPL project looking for new maintainer of surrogate subsystem code, SIMPL Python and SIMPL MAC
04Apr28  SIMPL for QNX update
03Dec8 SIMPLv2.2.3 released - minor bug fixes in child_detach()
03Nov6 multithread patch v0.2 released
continued


Our mission

Send/Receive/Reply messaging , first popularized in commericial RTOS's such as QNX, is: This project aims to bring this powerful messaging paradigm to the Open Source application developer.
 

What have we done thus far?

We have created a static library containing the following set of messaging primatives: In addition we have used these primatives to create The full source for this library and all the various examples is available for download. This source for the SIMPL library is under the LGPL licence. All the rest of the code is under a public domain licence.  You are free to use SIMPL for both personal and commercial use. With this version we are achieving a 1k message exchange times of ~250us on a P166 machine.

Other SIMPL literature

How do I get involved?

Certainly we encourage you to download the source and play with it (and you are completely free to use it in your projects and products).

Contact and use our mailing list.

NOTE:  Due to the increasing spam which must be manually administered out of the Sourceforge mailing list, the SIMPL project has switched the mailing list over to Yahoo Groups which offers much better spam protection.
 

The SIMPL mailing list archive can be found here .

As it is with any Open Source project,  the SIMPL project can only grow and prosper if the people using the code give something back in return.

If you are an experienced LINUX developer or kernel hacker we certainly could use your contributions.

Our code is written with the KISS philosphy in mind. As such even a novice C programmer could study and understand the code. So even if you are just starting out as a LINUX developer your contribution to this effort is welcome. We will make every reasonable effort to help you get going and support you along the way.

There is an online course available from iCanProgram.com which teaches the basics of  LINUX programming the SIMPL way.

Other contributions and related links

Where has the SIMPL code been used?

We welcome submissions from other participants. This list is by no means complete, but these are some of the areas where the SIMPL code has been applied:

What sort of things are being worked on (or need to be done)?

As with any Open Source project, SIMPL's success ultimately depends on the participation rate of its volunteer developers. We encourage you to get involved and help grow the code base in new and different directions. There is ample work for developers of all skill levels from new C programmers to seasoned veterans.


This project is being coordinated by FC software Inc.