I. Increasing productivity of web software development, focused on Java, based on a domain driven design, MDA techniques and a metaframework
The proliferation of frameworks and tools, has both increased the required skills of web engineers (for choosing, mastering, integrating and maintaining), and has affected considerably their productivity. A key objective of the project is the usage of domain driven design based on a metaframework that abstracts from the frameworks, together with an MDA approach which generates the application from the metaframework onto the de-facto standard and popular frameworks. The main indicators for this objective are: This objective will research on how web application development can be speeded up thanks to the reuse of existing services and components, as well as the defined methodologies. This objective is spread during the whole project duration. III. Enhancing the quality of SW development by involving soft goals such as reliability, traceability, security and performance, as well as other quality attributes from the conception of the software In the software development, soft goals such as security or scalability are not usually taken into account from the very beginning in the development process. Soft goals are usually related to quality (non-functional) requirements and do not have a clear-cut criterion for their satisfaction, nor can be allocated to a small subset of elements in the architecture. Romulus will research on security, traceability, reliability and performance soft goals, and their integration in the development process, based on the identification of soft goals-aspects and the usage of annotations against these aspects in the metaframework. In addition, independently developed projects which are however functionally dependant (e.g. required libraries) does not have any form of traceability at development level (i.e. no propagation of issues across the projects). ROMULUS will research on the semantic annotation of external libraries and their integration in the bug tracking and control version system, with so-called semantic powered integration development environment. Current trends in web application development are changing the balance between client and server technology. A key research objective of this project is to research on the symbiotic combination of client and server technologies and how this can enable more usable application and faster integration or creation of pure client side technologies.
II. Increasing software productivity by using mashup oriented development
The project will research on several types of mashups:
Soft-goals annotations based on aspects, used both in the modelling and the implementation phases contribute to automatic code and tests generation.
Verifiable indicators for this objective are:
The introduction of security concerns into the standard development life cycle is still a pendingcoursework in current practice. The application of Domain Driven Design Frameworks can facilitate the semantic annotation of security concerns related with the domain semantic. This approach, together with automatic generation of code respecting security concerns and automatic generation of hacking tests, can drastically reduce the risk of introducing security holes by developers who need easiness and rapidity of development.
IV. Balance between client technologies, server technologies and scripting languages
Traditionally all interaction and state storage was managed by the server. The browser's function was to act as a very thin client. While this is desired for certain types of applications, it makes development much harder for complex applications with high interactivity and larger needs for application state. With the appearance and generalization of richer client side technologies it is now possible to use the browser as a smarter client, potentially reducing development time while improving the desired characteristics of the developed application.
In this new scenario it is of key importance to be able to determine what should be developed in the client side and what should be developed in the server side. Also, the existing server side technologies usually require slower development cycles than the client side which is why the importance of server side scripting technologies to reduce the length of those cycles is increasing.
A key research objective of this project is to research on the symbiotic combination of client and server technologies and how this can enable more usable applications and faster integration or creation of pure client side technologies. It will also integrate tools for using server side scripting technologies in existing environments, such as portal applications.
The following indicators will be used for verifying this objective: