Software Secret Weapons™

Software Products With Introspective Plugins
by Pavel Simakov on 2006-04-04 23:52:34 under Meta-Modeling, view comments
Bookmark and Share
There are many software products that support development of plug-ins by third parties. Plug-ins extend and customize application behavior as needed to the specific customer. In the business of manufacturing the Integrated Development Environments (IDE’s) the customer is a software engineer. IDE’s are available for quite some time now, but until recently they failed to provide plug-in development capabilities for this customer.

The software engineers need different kind of plug-ins than the users of Microsoft Office. They need Introspective Plug-ins, not the automation tools. Introspective Plug-ins allow the software engineer to perform an analysis of the internal representation of the information that is managed by IDE. The Introspective Plug-ins should give the software engineers the access and the ability to operate on the Abstract Syntax Tree (AST) of the source code. The Pascal, C++, C#, Java, Lisp, Prolog, PHP, SQL, HTML, CSS, JavaScript - they all have AST.

In the cases when IDE plays a role of the visual designer for forms or reports, the plug-in should allow the access to and the manipulation of the visual objects via the implied AST. Any visual designer implementation has an implied AST that it uses internally. All IDE's that allow one to create "forms" qualify.

Several IDE’s have Introspective Plug-ins already:

Eclipse Platform
It is amazing what can be done with Java code in Eclipse!

Mozilla FireFox
Why is FireFox in here? It is not an IDE? Yes, it is... FireFox introspection capabilities make is a perfect tools for the web designers!

Internet Explorer
Finally we have a developer plug-in for Internet Explorer; it lacks ability to view, debug JavaScript or even see JavaScript errors

If you build a framework or a integrated development environment, please, plan for the introspective plug-ins and the access to internal metadata.

No comments yet

Leave a comment

  Copyright © 2004-2015 by Pavel Simakov
any conclusions, recommendations, ideas, thoughts or the source code presented on this site are my own and do not reflect a official opinion of my current or past employers, partners or clients