[Embedlets-developer] Elevator Challenge update
Status: Alpha
Brought to you by:
tkosan
|
From: Ted K. <tk...@ya...> - 2003-01-10 11:13:13
|
The Elevator Challenge has turned out to be an excellent application for discovering how Embedlets might work in practice. Also, solving this challenge using a visual mockup of what the Graphical Wiring Tool might look like was definitely a good strategy. So far the 6 interfaces I started with have been reduced to the following 2: SignalSender and SignalReceiver and all signal customization is handled through subclasses of a main SignalEvent class. The solution has also become distributed across a main controller Embedlet Container (located in a machine room), an Embedlet Container on each floor and an Embedlet Container in each elevator (I actually expanded the scope of the challenge to accommodate multiple elevator shafts). So far the main keys that have enabled a solution to move forward are the following: 1) Limit all inter Embedlet/Peripheral/Proxy communications to using the SignalSender and SignalReceiver interfaces. 2) Encapsulating all elevator logic in one Elevator Logic Embedlet that can be visually configured for the number of floors and the number of shafts it must accommodate. After one makes the assumption that a single Embedlet contains all the logic needed to accommodate up to an 100 floor building with up to 10 elevator shafts then how this logic is implemented is no longer a concern (although there is a good chance that it is internally implemented in Java). As soon as the system's main logic was encapsulated inside of one Component then the primary work involved with creating a solution shifted to graphically wiring all of the system's I/O signals into the Elevator Logic Embedlet. 3) Enabling communications between remote Embedlet containers. This had the effect of taking the fairly nasty problem of figuring out how to route the signals from 10 floors and 2 elevators into the main controller. Building remote Embedlet Container communications into the mockup allowed the solution for 1 floor's communications to be enumerated across the other 9 floors almost effortlessly. Finally, these are my impressions so far of graphically wiring together an embedded system using Embedlets: 1) It looks like it is going to work. We should be able to judge this better a few days from now, though, so lets not get our hopes up. 2) It 'feels' like it might be an order of magnitude more productive (no kidding) than current embedded technologies. I think that this means that embedded solutions could be developed in an order of magnitude less time or that an order of magnitude larger system could be developed in the same time. If the following were true: a) prebuilt software components were available that encapsulated the 'heavy lifting' logic parts of the application, like the Elevator Logic Embedlet (which is one of the primary reasons for software Components in the first place). b) 100% plug-and-play sensor and actuator modules were available to handle all of the system's I/O needs. These modules would need to automatically appear in the graphic wiring tool as soon as they were snapped into the system. c) we were using Embedlet Container 1.0 level software which already had all of the needed interfaces worked out in a satisfactory way. then it appears that this application could be completely bench assembled and tested (including both software and hardware) within 3 to 8 hours. 3) A non programmer who understood electronic interfaces and the Elevator problem domain should be able to wire a solution to this problem together. Ted __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |