Reusable Component Architecture for Almafa On-line Compational Environment

OData support
Supervisor:
Dr. Kovácsházy Tamás
Department of Measurement and Information Systems

There are many shortcomings of computational environments used nowadays in electrical engineering and other fields of engineering in general. My work tries to address a subset of these issues and provide a more usable environment for engineering calculations.

The main disadvantages of current environments like Matlab, spreadsheets, and tools intended to solve a specific problem is the lack of easy expandability by the community (collaborativeness). This makes it very hard to reuse the many complicated design procedures linked to various integrated circuits and other common problems. Other disadvantages are the lack of support of physical quantities and the interoperability of the various systems.

The key aspect of almafa.org is collaboration. It provides an online computing environment for engineers, where they can reuse the work of others. It uses a heavily modified version of JavaScript which is easy to learn for enginners who are familiar with C-like languages. The language supports physical quantities, complex numbers, vectors, matrices and has many built-in mathematical algorithms. The users can write their libraries for any kind of design process and can share their work easily. Other users can reuse these libraries immediately, shortening the time of the design procedure. Scripts written in almafa.org can be also easily shared with anyone and can be embedded in other websites as well. All the calculations run on the user side with a help of a compiler and runtime environment, all of them running in the browser. This enables very short response times and light server load.

During my work I worked on the design and implemented the backend of the system. I worked on the user side compiler system, on the runtime environment, the quantity engine, the whole server side, script import management, documentation system and the automatic testing system. I also implemented several libraries to test the functionality of the system.

The almafa.org is now capable of running arbitrary scripts, using libraries, sharing, generating documentation, plotting functions, etc. However, there is a lot of work remaining until it will be useful for everyday use. I hope that once finished, it will make the life of many engineers much easier.

Downloads

Please sign in to download the files of this thesis.