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.
 
2008Dec01 SIMPLv3.2.2 Released - reworks several Makefiles to better conform with Debian standards
2008Nov17 SIMPL Tcl hooks v1.4 released - help trap the dependency on Tcl/Tk sources in buildsimpl.tcl script.
2008Nov17 SIMPL Python hooks v1.2 released - help trap the dependency on Python sources in buildsimpl.python script.
2008Oct07 Programming the SIMPL Way - book has been published
2008May12 SIMPLv3.2.1 Released - fixes some build problems with previous release
2008Apr22 SIMPLv3.2.0 Released - adds new RS232 surrogate and defaults TCP/IP surrogate to intersurrogate text headers
2008Mar05 SIMPL Tcl hooks v1.3 released - minor bug fixes
2007Aug08 The creators of the SIMPL toolkit are writing a book. If you want to be notified when the book gets published click here.
2007July24 new version of SIMPL Tcl hooks - adds trusted network capabilities
2007May15 SIMPLv3.1.2 released -  removes debug simpl_log messages
2007Jan15 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.
2006Aug14 SIMPLv3.1.0 released -  added Relay() to SIMPL API and split Tcl/Tk and Python hooks from top level build and tarball
2006June26 several new softwareICs released -  the new tarball contains code for a scheduler, a proxy and a statemachine ... for more info see softwareIC page
2006Apr24 SIMPLv3.0.3 released -  added b_port option to surrogateTcp to allow for proxy testing
2006Mar01 the SIMPL coach service articulated
2006Feb07 SIMPLv3.0.2 released -  minor bug fix release which tweeks code associated with the Tcl surrogate
2006Jan10 SIMPLv3.0.1 released -  minor bug fix release which corrects a couple of missing files from tarball
2006Jan10 SIMPLv3.0.0 released -  v3.0 remerges the tcp_x back into the surrogate codebase and simplifies the protocol router interface
2005Dec20  SIMPL example code - the fcnet network checker code added
2005Dec20  SIMPLv2.5.0 released - third prerelease of v3.0 surrogate as ~/tcp_x with check for existence algorithm in surrogates
2005Nov14  SIMPLv2.4.1 released - fixed so that surrogateTcp_x can coexist with surrogateTcp
2005Nov14  SIMPL unit test scripts - the SIMPL unit testing infrastructure.   See ~/docs/readme.testing
2005Nov12  SIMPLv2.4.0 released - first prerelease of the new v3.0 surrogate stuff as ~/tcp_x
2005Oct27 SIMP3.0 roadmap
2005Sept29  SIMPLv2.3.6 released - fixed the Trigger error in name_detach() logic which 2.3.5 patches introduced
2005Sept26  SIMPLv2.3.5 released - fix in proxy logic for possibility that shmid=0
2005Apr19  SIMPLv2.3.4 released - minor bug fix in the remote name_locate() error reporting and possible buffer overflow
2005Feb9  SIMPLv2.3.3 released - minor bug fix in the Trigger() which permits proxyID of zero to be valid
2004Nov19  SIMPLv2.3.2 released - minor bug fix in the Trigger() proxy  which now allows proxyID to be used
2004Oct28  SIMPLv2.3.1 released - minor bug fix in the name_locate algorithm which affects SIMPL names common root portion
2004Oct19 SIMPL selfhosted(live)CD ISO image available
2004July20  SIMPLv2.3.0 released - significant release,  changes to sender write() detection algorithm
2004July11  SIMPLv2.2.5 released - minor bug fix in theTcl/Tk shared library
2004May20 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.
2004May6  SIMPLv2.2.4 released - minor bug fixes in duplicate name detection algorithm and Python build
2004Apr28 SIMPL project looking for new maintainer of surrogate subsystem code, SIMPL Python and SIMPL MAC
2004Apr28  SIMPL for QNX update
2003Dec8 SIMPLv2.2.3 released - minor bug fixes in child_detach()
2003Nov6 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 creators of the SIMPL toolkit have written a book. Google Books has a preview here.


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.

Note:

The SIMPL project uses the International date stamp standard which is:

year/month/day/hour/min/sec

Until 2013 our occasional shorthand use of a 2 digit year code can be ambiguous. We apologize for any confusion.


This project is being coordinated by FC software Inc.