Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #27465

Re: How to specify complex code?

From Paul E Bennett <Paul_E.Bennett@topmail.co.uk>
Newsgroups comp.lang.forth
Subject Re: How to specify complex code?
Date 2013-12-26 22:34 +0000
Organization Hidecs Consultancy
Message-ID <bi3p7aF9i6uU1@mid.individual.net> (permalink)
References <7619435e-495f-458c-a1cb-d878db85dac5@googlegroups.com> <bi2dvgFmeuU1@mid.individual.net> <9da38468-4d24-40f5-b0c4-94d753d66b6f@googlegroups.com>

Show all headers | View raw


mhx@iae.nl wrote:

> On Thursday, December 26, 2013 11:16:15 AM UTC+1, Paul E Bennett wrote:
> how do forthers control compexity and make easy user interfaces?
> 
>> The complexity and user interface problems are two that really should be
>> resolved long before you start coding. I deal with Industrial Control
>> Systems and have used quite a bit of the Forth Philosophy which actually
>> seems to have come from the mathematical philosophy of George Polya (see
>> "How to Solve It" by George Polya published in 1945).
> [..]
>> When it come to the software portion I begin at the higher level (user
>> visible functions) and write the glossary commentary for the words that
>> are natural language in the problem domain, attaching those comments to
>> each of those words of the Application Specific Language. I write no code
>> at this level, just the comments for each word I decide will make sense
>> in fulfilling the functions.
> [..]
> 
> You make it all sound so easy and natural :-)

It was just a brief (glossed over) account of the general process.
 
> I guess that *after* the specification phase one may find out
> that the Forth, or the hardware it runs on, or the I/O drivers, or
> a special combination of the above, ..., cannot meet [real-time]
> specifications. How do you handle this? You may need to compute /
> simulate during decomposition which of several alternative
> (implementation) branches should be chosen?

I quite often do the software bits first, using software prototypes and just 
generally having a play with some ideas in order to resolve issues and 
improve the technical specification from which to build the system. Some 
decisions about whether a function ends up in hardware or software ar made 
quite a way into the development schedule. Having some quite fast Forth 
processors to hand is helpful in the playtime sessions and you can get to 
know how some activities will be represented at the machine level.
 
> Another problem is parallel task execution (does it fit your framework
> at all?). The given problem may become so complex that it is not
> feasible (or efficient) to think through all possible states. This
> becomes even worse if code branches into libraries that are not
> specified correctly, incompletely, not at all, or not in source?

Issues that you should be dealing with early in the design. Th idea is to 
simplify the problem space so that the implemntation can be constructed of 
simple, very understandable, elements in cooperation. You can also limit the 
effect of some states with proper partitioning and bounding of the system. 
For me, some of the simplification is using more simpler processors than one 
very complex processor.
 
> Another problem I can think of: say there is a constraint on power
> dissipation for the computing hardware, or worse, a constraint on
> battery-life for the whole (portable, medical, application)? I am
> sure you encounter such problems very frequently?

Yes. There are plenty of small low power processors, that collectively 
arranged as a system can often prove more powrful functionally than one 
mega-fast processor and use much less power overall. Again, an aspect that 
can be determined quite easily up-front in the structuring of the system.

> A nice contractual obligation I read recently: "The design should
> be proven and run reliable for 10 years (250 FIT). The hardware
> (they mean the processor -mhx) must be state-of-the-art.

That is why I always say the first Review you do is on the customer's 
requirements specification to ensure that it is:- Clear, Concise, Correct, 
Consistent, Confirmed and Testable. If it does not meet those criteria you 
need to get the ambiguities resolved before proceeding much further into the 
design.

-- 
********************************************************************
Paul E. Bennett IEng MIET.....<email://Paul_E.Bennett@topmail.co.uk>
Forth based HIDECS Consultancy.............<http://www.hidecs.co.uk>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-510979
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
********************************************************************

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

how do forthers control compexity and make easy user interfaces? the_gavino_himself <visphatesjava@gmail.com> - 2013-12-25 21:54 -0800
  Re: how do forthers control compexity and make easy user interfaces? Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2013-12-26 10:16 +0000
    How to specify complex code? mhx@iae.nl - 2013-12-26 02:52 -0800
      Re: How to specify complex code? ForthFreak <forthfreak@gmail.com> - 2013-12-26 03:45 -0800
        Re: How to specify complex code? mhx@iae.nl - 2013-12-26 05:20 -0800
      Re: How to specify complex code? Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2013-12-26 22:34 +0000
        Re: How to specify complex code? "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2013-12-27 01:07 -0500
          Re: How to specify complex code? Mark Wills <markrobertwills@yahoo.co.uk> - 2013-12-27 02:20 -0800
          Re: How to specify complex code? Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2013-12-27 12:27 +0000
    Re: how do forthers control compexity and make easy user interfaces? Richard Owlett <rowlett@pcnetinc.com> - 2013-12-26 06:54 -0600
      Re: how do forthers control compexity and make easy user interfaces? Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2013-12-26 22:37 +0000
    Re: how do forthers control compexity and make easy user interfaces? Spam@ControlQ.com - 2013-12-27 17:13 -0500
    Re: how do forthers control compexity and make easy user interfaces? the_gavino_himself <visphatesjava@gmail.com> - 2013-12-31 17:34 -0800
  Re: how do forthers control compexity and make easy user interfaces? Richard Owlett <rowlett@pcnetinc.com> - 2013-12-26 06:52 -0600
    Re: how do forthers control compexity and make easy user interfaces? the_gavino_himself <visphatesjava@gmail.com> - 2013-12-31 17:42 -0800

csiph-web