comp.lang.ada
 help / color / mirror / Atom feed
From: mfb@mbunix.mitre.org (Michael F Brenner)
Subject: Re: Challenge / Help
Date: 1997/05/08
Date: 1997-05-08T00:00:00+00:00	[thread overview]
Message-ID: <5ksg8r$ani@top.mitre.org> (raw)
In-Reply-To: 01bc5a5d$079820c0$190000c2@Stephen.ers.ie


In a message marked from Arnold Peterson <stephen@ers.ie> 
                         Organization: ERS Computer Solutions Ltd.
    > I can't do this!!! Can any of you guys???
    > I'd really appreciate it if somebody could code this for me!
    > The designers of a large house are proposing to build an intelligent
    > environment controlled by a central computer system. It is 
    > envisaged that the final system will incorporate heating and 
    > fire detection.
    >    ... snip ...
    > I have to -
    >           Build the kernel
    >           Build a simulator to test it
    > I can't do this!!!
    > Thanks in advance.

No. And I do not recommend that you do it either. Large houses are not
environmentally gentle, intelligent environments fail, and central
computer systems should be replaced by autonomous networks of PCs
doing cohesive tasks in a modular manner with minimal coupling.
The autonomous networks eliminate the need for prioritization among
tasks, in particular, there is no need for a kernel (other than the
remote-procedure-call controller which is provided), and there is no
need for fire detection to have priority over heating. In addition,
it is not reasonable for a central computer to control heating. This
should be done by individual room thermostats. However, there are
analogous problems in nature in which two processes occur in a pattern
of repetitions, where one process takes priority over others, and
a simulator for these processes would be an interesting project. If
the tasks are almost all scheduled at regular intervals and take a
deterministic amount of time, then there are computer scheduling
algorithms (like RMS) which can help build such a simulator. However,
if the tasks are almost all interrupt driven, then a different 
architecture might be better. Representing the tasks as words in a group,
which will be semi-commutative, that is, elements in the same conjugacy
class commute. In your case, there would be two classes: heating tasks,
and fire detection classes. This could be presented as a knot (or braid)
group of two strands. Using this presentation, any braid group animation
program would serve as the kernel. To test it, I recommend the knot
group counterexamples in the software on the Magnus Archive containing
hundreds of group-theoretic software programs at the web site for City
University of New York. Actually, the Magnus Archive contains such a 
braid group animator and simulator, along with a random identity braid
generator and a random braid generator, which could carry out this
simulation with no modifications at all. Just download them and compile
them with gcc (after downloading the gnat directories for gcc, such as
EZ2LOAD). They currently have been tested on Sparks and PCs. 




      parent reply	other threads:[~1997-05-08  0:00 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-05-06  0:00 Challenge / Help Arnold Peterson
1997-05-06  0:00 ` Tom Moran
1997-05-07  0:00   ` Robert Dewar
1997-05-07  0:00     ` Tom Moran
1997-05-07  0:00 ` Robert Dewar
1997-05-07  0:00 ` The Lone Ranger
1997-05-08  0:00 ` Michael F Brenner [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox