For Win32 I'm thinking we can do a component-based architecture, packaged as an ActiveXExe?. This allows the tool to run stand-alone, exposing a user interface, and also serve as a dynamically linkable object model.
Is there something similar we can do in Linux? I suppose there's no reason we can't simply store the object model in a dynamic link library (see GNU Bayonne plugins for a way of doing this) and build the user interface on top of that.
As we sketch out the code-generation requirements for various languages and platforms we should be able to identify the overall structure of the plug-in interfaces. Also, we should at least understand how one integrates tools into VisualStudio? and KDevelop (if it is even possible to integrate tools into KDevelop, ...) and others.
We really need to decide on the 3rd party toolkits. I'm leaning very heavily towards WxWindows, based on its maturity, completeness, portability, licensing, and stability. But it doesn't have an XML parser, so perhaps we can use XercesXmlParser from Apache for that purpose. I've had some indirect experience with xerces, and it seems quite stable.