Thread: RE: [Embedlets-developer] Re: Embedlet comments
Status: Alpha
Brought to you by:
tkosan
|
From: James C. <ca...@vi...> - 2003-01-27 01:58:24
|
>However, many components and even more funcational >embedlets (with application logic in them) will need to be built using classic >Java development techniques first. Bit of a chicken and egg scenario there. Unfortunately, the chicken and egg scenario is a SERIOUS issue for this whole project. 'Build it and I am sure they will come' But who the hell is going to build the biggest most generic resuable freely available embedded resource on the planet!! For nothing! That is the real issue here. Without weaving some commercial sense into this in some way (ie without rejecting commercial interests immediately without thought) then this challenge just keeps getting bigger. JC > -----Original Message----- > From: emb...@li... > [mailto:emb...@li...]On Behalf Of > Andrzej Jan Taramina > Sent: Monday, January 27, 2003 9:20 AM > To: emb...@li... > Subject: [Embedlets-developer] Re: Embedlet comments > > > From Ted: > > > It is my opinion that if we are able to bring a > > simple, platform-independent, snap together component > > market to the embedded space that it will be a huge > > success. > > I agree with you, but to be successful you need lots of pre-built > components > first. That requires standard interfaces/contracts and a > Container specification > (and some implementations for common platforms, PC/JStamp/uVM/etc) first. > > If you do the design of the Container and component contracts > well, with a > solid XML configuration vocabulary, then layering a sexy > graphical UI on top of > that is pretty easy. However, many components and even more funcational > embedlets (with application logic in them) will need to be built > using classic > Java development techniques first. Bit of a chicken and egg > scenario there. > > Designing a container and the contracts it needs (eg. interfaces, > lifecycles, > etc.) that will eventually support this vision is a non-trivial > task, especially since > it needs a lot of flexibility to handle the wide range of > platform capabilities and > constraints that we are targeting. > > > I do not personally have any problems with the XMLDOM route > > but my primary goal is a huge market of Embedded Components > > that can be graphically wired together by a 'Component > > Assembler' class of application developer. > > I believe that the design of the Outpost container/component > architecture will > be the critical piece of the technology puzzle here, with a > graphical UI being > some nice sex/sizzle for later. > > Many people have tried to float graphical assembly tools....but > for the most > part they have not succeeded (JavaBeans are a good example of > this). Most > real-world problems require custom logic....which is where the graphical > assemblers break down. And trying to create a graphical programming > language is probably not going to succeed in the short term. > Look at how all > the current containers work....all XML-based config files....nary > a graphical > assembly tool anywhere to be seen, though these might start to > appear as the > configs stabilize, container best practices solidify and the > configs get complex > enough to warrant such tools > > As for DOM....it won't ever fly on an embedded platform. Too much memory > overhead in instantiating the XML parse tree. On embedded > platforms, event > based (SAX) XML parsing makes much more sense. For the construction > tool, that builds the glue that binds the container/components > from the XML > config, almost any XML parser can be used, since that process > would likely be > done on a more capable box (like a PC). > > > Yes, flowchart based programming has been around for years, > > but the killer idea here is that the Embedlet standard can > > allow a *huge* market for platform-independent, reusable, > > pre-serialized embedded components to be created. The new > > XML based long term persistence format makes this feasible > > now. > > I'm not convinced that a JavaBeans approach with serialized instances is > really that valuable. It hasn't succeeded in the more classic > Java space. What > seems to have garnered favour and market share is writing code to a > container spec (eg. servlets, embedlets, EJBs) and specifying the > "instances" > that need to be created in an XML config file instead. > > The argument for a huge market for serialized components never > materialized > in the Java world....so I am quite skeptical that it will do so > (at least in the > shorter term) in the embedded world. More likely that an > Embedlet Container > approach that is reminiscent of Servlet (and other) containers would gain > traction and usage a lot faster. > > > The Component market is the 'holy grail'. The wiring tool > > is just a support technology for this market. > > That's what they said about J2EE (and EJBs), and about JavaBeans before > that...but it hasn't really materialized. How would the embedded > space be > different? > > > So, I propose VPL (Virtual Peripheral Library) as the > > official name. What does everyone think? > > For what pieces of the Outpost/Embedlet puzzle? > > I see device drivers (or virtual peripheral drivers) as just > special cases of an > "embedlet". One that may need regular polling (or a separate thread of > execution where supported), and that would primarily produce Embedlet > Events that are lower level/hardware oriented (eg. bit values, > streams, etc), > but might respond to control events as well. > > It may make sense to distinguish "embedlets" which contain > application logic, > from "device drivers" that sit next to the hardware. But there > is some overlap, > if you use the Event model to glue the two together (with the Event > Management provided by the container itself). > > Andrzej Jan Taramina > Chaeron Corporation: Enterprise System Solutions > http://www.chaeron.com > > > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! > http://www.vasoftware.com > _______________________________________________ > Embedlets-developer mailing list > Emb...@li... > https://lists.sourceforge.net/lists/listinfo/embedlets-developer > > |
|
From: Ted K. <tk...@ya...> - 2003-01-27 11:35:54
|
James, > Unfortunately, the chicken and egg scenario is a SERIOUS issue for this > whole project. > > 'Build it and I am sure they will come' > > But who the hell is going to build the biggest most generic reusable freely > available embedded resource on the planet!! For nothing! > > That is the real issue here. Without weaving some commercial sense into this > in some way (ie. without rejecting commercial interests immediately without > thought) then this challenge just keeps getting bigger. Together the JAPL specification and the Embedlets specification solve so many of the embedded space's current problems that, if they succeed at all, I think they will succeed in a very big way. Thankfully, we are mostly responsible for developing the open specifications and providing open source reference implementations for them. If these are done 'right' then the embedded space should just naturally build to these specifications just like the world built to the HTTP/HTML specifications when they were first released. HTTP/HTML solved the world's 'Tower of Babel' problem and I think that JAPL and Embedlets can do the same for the embedded space. Here is a list of problems that these two specifications solve: 1) Embedlets provide platform-independent embedded logic at the binary level and the Embedlet Container provides a virtual embedded system that will allow embedded applications to be completely shielded from the grueling platform churn and diversity that the embedded space is susceptible to. 2) They allow the PIC community, along with all other microcontroller communities, to easily bring their legacy code to the internet and make it available to back end enterprise systems. I think that this technology's ability to bring together the embedded and enterprise communities is extremely powerful. 3) They provide an excellent platform for building Greg's protocol neutralizers which are critically needed in a fragmented space that consists of literally thousands of industrial equipment protocols. 4) All the I/O chip manufactures make similar competing chips that are incompatible with each other. For example, there are dozens of UARTS on the market and they all need unique device drivers. Even embedded Java systems like the JStamp and TINI use proprietary classes for accessing things as simple as an 8 bit I/O port. JAPL solves this problem for the application developer by coming up with one generic interface for each chip/peripheral type. Now, all client code is compiled against one generic interface for each device type and then the task of developing a device driver which will allow any specific chip variant, like an 8250 UART, to realize this interface is significantly reduced. This represents the successful JDBC model brought into the embedded systems world. 5) It allows embedded systems to be graphically wired together by non-programmer IT personnel. 6) It enables the creation of a large software component market for the embedded space. 7) Perhaps the most compelling story that these specifications have to offer is that they represent what I think may be the *first* wide scope, open source community and technology to be targeted toward the embedded space. In an earlier post you were so right when you pointed out that almost all the endeavors to date in the embedded space have been extremely proprietary. I have been thinking about that and one of the reason's that I came up with for this problem is that embedded system software is so enmeshed with the platforms they run on that open source efforts in this space did not make a lot of sense. If one looks at the popular open source efforts to date they all seem to thrive in environments that have common platforms. For example, Linux provides the standard platform on top of which a huge amount of open source software is based and even Linux itself mostly sits on top of standardized 80X86 hardware. Of course, the Java platform provides the standardized base for Java's open source projects and Windows provides another standardized base for open source. So, if JAPL and the Embedlet Container specification can actually succeed in providing the first open embedded systems platform and community that the whole embedded system's space can leverage, then I think it will be extremely successful. I think we might be in the excellent position of a person who observes a wildly successful product take off in Country A and then introduces this product into Country B. Most of the tough challenges were overcome in Country A and the person simply takes all of the techniques that actually worked and uses them in Country B. I think the embedded space is ripe for the introduction of open source and I think we are in a position to significantly help with this. Ted __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |