<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>
<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>We have added
support for event-based addons to the newly announced Python GME (PyGME)
component generator. We felt this was important because addons present
additional issues for dispatch-based components, due to the need to implement a
COM interface (IMgaEventSink), and potential users would benefit from our
solution to these issues.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>We have
also relocated the component registration services from the XML-based
component specification to the generator, and we have improved the PyGME web
page.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>For GME users who
have never contemplated using a dynamic language for components, particularly in
RAD contexts, I can tell you (as one who has developed GME components in several
languages) that nothing compares to the speed with which components can be
developed and extended in Python. Due to the nature of dynamic
languages, we have even developed a capability to create lightweight components
that reside within the modeling language itself, which we call
"wizards". These lightweight components address situations where tools
that support the modeling task are not paradigm-scoped, but project-scoped or
even model-scoped. Using Python, we have also developed a web
services-based model repository (using Zope's object-oriented database
ZODB) that supports model persistence and model sharing for our
users.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>Python-based
components are likely more relevant to building interactive tools than to
computationally-intensive outbound transformations of models: the classical use
case for model interpreters. But aside from a small class of
interpreters where transformation performance is the preeminent
concern (due to the size of models and/or the nature of the transformation),
Python is an excellent alternative for component
construction.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>The revisions are
available at <A
href="http://cape.vanth.org/Development/PyGME">http://cape.vanth.org/Development/PyGME</A>.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>Learn more about the
open source Python dynamic programming language at <A
href="http://www.python.org">http://www.python.org</A>.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>
<DIV><FONT face=Arial size=2><SPAN class=056220614-26012006>Adaptive Learning
Technologies Project (<A
href="http://cape.vanth.org/">http://cape.vanth.org</A>)</SPAN></FONT></DIV></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=056220614-26012006></SPAN></FONT> </DIV></BODY></HTML>