On Tue, Aug 28, 2012, at 01:50 AM, EBo wrote:
> Well, I am a strong proponent of eXtreme Programming (XP) and similar 
> Test Driven Development (TDD) methodologies.  They can be overdone 
> though...
> 
> The nice thing about these discussions is that we could use them to 
> start to develop an automated test suite and work away on various parts 
> until the tests succeed (the XP approach).  Even if you tare the code 
> base down and start over again the test suite provides its own resource. 
> In addition, when you move from one platform to another you can use 
> this as a base level test to verify that it is working as expected.
> 
> So I would agree lets blue sky this puppy, but lets start small...

I want to raise a red flag about XP and other test driven development
methods.  They work fine for deterministic situations, but you can't
use testing to prove the absence of race conditions and other rare
bugs that can occur when doing realtime programming.  It is very 
easy to write code that will work fine until one instance of the
program happens to interrupt another during that single line of code
that isn't properly re-entrant.  Said interrupt may happen once a
year, or less, and testing will never find it.

Realtime stuff needs to be designed like hardware, not software.
Hardware engineers have long and expensive prototyping cycles, so
they do their absolute best to get it right and know it is right.

I've been following this thread with some interest.  RTAPI was
designed with the goal of making it relatively simple to add
new RTOS's as they became available, and I would hope that is
still true.  In theory, no code other than rtapi itself should
need to be changed.  However, the build system is another thing
all together, and I'm sure adding the option to build for RT-PREEMPT
instead of RTAI or user-space sim mode will be a major task.

If any significant work is going to be done in RTAPI, the first
step should be to read rtapi.h, then go grepping through the 
codebase and see what subset of rtapi.h is actually used.  I'm
99.94% sure that LCNC does not use RTAPI FIFOs, so they should
be dropped.  (When I defined RTAPI, I was young and foolish and
didn't know about http://c2.com/cgi/wiki?YouArentGonnaNeedIt).  

-- 
  John Kasunich
  [email protected]


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to