New thinking is superb. By the time you reach a target, you see 10 new possibilities that you never saw before. This page summerizes some research areas that I work on individually. Progress is slow because I find very limited time for them.

  1. Software Meta Modeling

    Building a Software Meta Modeling tool enables one to generate the code directly from the model. This is an effort to define a complete meta modeling architecture with an implementation which will enable organizations to develop dynamic web applications very fast (at the time of requirements capturing!). Furthermore, the generated application is highly customizable (Pages, page layouts, business logic, security).

    Status: The initial meta modeling intrastructure with limited functionality was successfully implemented and a production application was built and used in Virtusa which was used to capture the training enrollments. See the screen shots. Version 2 with major enhancements has been completed. This framework will be open sourced in future (May, 2007).
     

  2. Eclipse Scientific Computing Platform

    An interesting initiative that I am working on is defining and building a highly extensible scientific computing platform based on the open source Eclipse framework.

    The present tools developed by scientists (numerical libraries, simulation tools, i/o manipulation software) do not merge well with each other due to incompatibilities in programming languages, differences in styles of programming, and the lack of architectural guidelines. Defining a unified framework will benefit the whole community.

    Leveraging the already powerful and constantly evolving Eclipse technologies is definitely a strategic choise in defining such a scientific computing platform. Eclipse already has tools and libraries for modeling, graphical editing, plugin development, automated code generation and many other functionalities. Research is about selecting the capabilities already available in Eclipse, identifying additional software (numerical libraries, etc) and joing them with Eclipse and defining the guidelines for the extravaganza.

    Such a universal scientific computing platform has many advantages. Scientists will then be able to utilize the extension points and build innovations on top of the platform with little effort. They can directly contribute to the evolving platform. Final product creation can be streamlined significantly reducing the effort in creating them from the scratch. And its universal nature will bring people from many disciplins together (Mathematics, Space, Electical, Civil, Mechanical, Nuclear, Medical, ...). The one platform openly available for all!

    Status: Initial. Looked at the process of plugin development, code generation capabilities and presently going through the Eclipse Modeling Framework and Graphical Editing Framework.
     

  3. Continuous Speech Recognition

    This is an effort to design and develop a continuous speech recognition system from the scratch and optionally looking at speech synthesis. Free thinking! I am not going to look at other implementations.

    It is interesting to understand how that comparison is going on until the correct words are identified in the correct context. Mapping sounds to characters is not sufficient. Joining such characters to form words is also not sufficient. Sometimes words are to be identified with sound patterns rather than with the collection of individual sounds. Strange feedback mechanisms! I am not going to loose!

    Status: Initial. I looked at the shape, frequency, phase and spectrogram of different voice samples. Now I am mingling with input, remembrance, context, analysis, feedback and output to identify a working model.
     

  4. Stand Alone Data Logger

    This project (as opposed to a research!) being my final year project at the engineering faculty focuses on the development of a low cost data logger. Data from it's four analog inputs is digitized and stored in a detachable memory pack. The memory pack is then connected to a PC to download the data.