The research is concerned with component-oriented software architecture aimed at supporting the design and implementation of dynamic event-driven calculating models. A new component model for user-defined component types is proposed that enables the definition and usage of dynamically composed components.
Goal of the Research
The goal of the research is to define a new component-based architecture with its implementation principles and to create a software environment that allows the definitition and creation of new component types dynamically, at runtime, without the target platform code generation. This environment provides new abilities for component-based meta-programming enabling new component dynamic definition by means of predefined basic meta-components.
Empirical Base of Research
The empirical base of the research has been provided by the experience gained when developing component-based software environment for 3D modeling and visualization by means of standard component model JavaBeans. During the research some drawbacks of the JavaBeans component model, which prevented user-defined composed types definition without compiling or code generating, were investigated.
Results of Research
As a results of the research, new software architecture and new component model have been developed. The architecture is based on introducing a superstructure on top of the Java virtual machine that extends the software component notion, while the component model extends the abilities of the standard component model for JavaBeans. New mechanisms and their implementation principles to dynamically transform composed prototypes into composed types have been designed and developed. The approach to the corresponding tool design and development is outlined.
Level of implementation, recommendations for implementation or outcomes of the implementation of Results
The practical results of the research consist of software libraries that implement the proposed component-based meta-programming environment and corresponding basic component and meta-component sets. These libraries may be used as the basis for an instrumental toolset chain that supports the proposed component-based architecture with graphical user interfaces and may have potential for commercialization.
Field of application
The research results are immediately applicable in a field of software engineering known as component-based software engineering (CBSE). The software architecture proposed can be used when solving tasks involving intensive dynamics and event-driven calculations. In particular, the architecture proposed can be used for virtual reality modeling, for modeling and developing software for wireless sensor networks, and for implementing the corresponding software development instruments.