EMU-Code: Effective Mark-Up of Source Code

Overview

Emu

Software is just information, but a complex one. Software pieces are complex data structures, mostly hierarchical, but also heavily cross-referenced. The CASE technology helps in managing the software under development by providing a wide range of tools that can be used to store, transform, display, analyze, etc, software elements.

Unlike other computer applications that handle complex data structures by storing them in a well organized database, most CASE tools are based on a linear textual representation of the software in some formal language. This implies that most CASE tools have to parse this representation before doing the intended work, like compiling, syntax coloring in editors, metrics computation, building code outlines in code wizzards, declaration/definition/usage navigation in code browsing, etc. The main exceptions are diagramming tools, that store the diagrams in some internal binary form. But this make difficult to interoperate with other tools that use textual representations.

El proyecto EMU-Code estudia las posibilidades de usar marcado XML para representar código fuente y otros elementos software, y trabajar directamente sobre dicha representación en lugar de hacerlo con la representación del código como puro texto. Se trata de evaluar la efectividad del uso de tecnologías y herramientas XML de uso general, evitando en lo posible desarrollar herramientas ad-hoc, sino simplemente personalizando herramientas ya existentes.

El uso de XML como notación para representar código fuente es una idea realmente sencilla, pero no ha sido todavía aplicada extensamente. De hecho, aunque a primera vista pueda resultar una idea trivial, su aplicación práctica presenta problemas importantes que hay que caracterizar y resolver. Existen diversos proyectos basados en esta representación, o que la usan con fines colaterales. EMU-Code pretende evaluar la efectividad de este enfoque, comparándolo con las herramientas de desarrollo convencionales, basadas en la representación del código como texto.

Para ello se pretende construir un prototipo de entorno de programación combinando herramientas XML de uso general, y comprobar su capacidad para manipular aplicaciones de tamaño medio.

La representación directa de la estructura del código mediante marcado XML debería resultar ventajosa para muchas de las funciones y características de un entorno de programación moderno, en sentido amplio. Se estudia la efectividad del marcado en cuestiones tales como:

Cada uno de estos aspectos se estudia por separado y se desarrollan elementos de soporte integrables en un entorno único, global.


Copyright © 2004, 2006-2007 Manuel Collado: http://lml.ls.fi.upm.es/~mcollado