From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_20,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,f4dd476206d8344a X-Google-Attributes: gid103376,public From: mfb@mbunix.mitre.org (Michael F Brenner) Subject: Re: Challenge / Help Date: 1997/05/08 Message-ID: <5ksg8r$ani@top.mitre.org>#1/1 X-Deja-AN: 240196105 References: <01bc5a5d$079820c0$190000c2@Stephen.ers.ie> Organization: The MITRE Corporation, Bedford Mass. Newsgroups: comp.lang.ada Date: 1997-05-08T00:00:00+00:00 List-Id: In a message marked from Arnold Peterson 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.