Project contact: marlon.dumas (at) stacc.ee
The objective of this project is to develop software products that could increase the efficiency of software development and thus improve the productivity of software companies.To this end, the project aims to devise methods and tools to enhance the productivity of software development efforts by eliminating inefficiencies in software development efforts through increased information visibility, increased automation and software reuse. The following is an overview of the four sub-projects of the productivity project.
Fast Dynamic Upgrade of Enterprise Applications
The context of this work-package is that of live application upgrade. Upgrading versions of applications running on JEE servers is a complicated process.Traditionally, application upgrade is done as an offline process, meaning that the server is shut down, the application is upgraded, and then the server is put back into service. Live application upgrade (also called dynamic upgrade) refers to the practice of upgrading an application without interrupting the operation of the server. This way, users can continue using the application during the upgrade. The project will advance the state-of-the-art by developing new methods for incremental, on-the-fly migration of objects from one version of the schema to another, in the specific context of fast re-deployment of Java EE applications.
Project-Specific Domain-Specific Languages
Domain-specific languages (DSL) are used for complex software system development, as they increase the level of abstraction in programming.Language oriented programming (LOP) is an approach that divides the system into two components.One of them depends on the technology used, while the other depends on the particular taskand is programmed in DSL, which hides the technical complexity of the system from programmers. This project concentrates on the use of Domain-Specific Languages (DSLs) tailored for specific software development projects. The goal of such project-specific DSLs is to empower analysts and domain experts to get more closely involved in the software development process, therefore leading to quicker turn-around times between change requests and their implementation in a software system
There are specific tools available to automate various aspects of DSL implementation, but there are no integral solutions to apply LOP effectively in enterprise software development,and this makes the use of LOP costly.
This project aims to develop a set of tools to make DSL for enterprise applications.The project draws on existing applications that use open source codes.Its primary tasks include choosing suitable applications from among those available, integrating these applications, and adding the necessary functionality.
Domain specific embedded languages
Domain specific languages, such as SQL or CSS, are formal languages that, unlike general-purpose host languages, are used for expressing the terms and problems of particular areas.They allow problems to be displayed in a more abstract form, and therefore domain specific languages (DSL) are often used together with general-purpose host languages.
Probably the most common way of embedding external DSLs inside the host language is representing DSL constructions as host-language strings, referred to as the string-embedded DSLs. The strings are often assembled dynamically using string concatenation and other string manipulation methods. While very flexible, such an embedding can be quite error-prone, as standard Java development tools provide no support for string-embedded DSLs.
This sub-project aims to develop new methods for analysing string-embedded DSLs, which support an early detection of malformed DSL constructs and other possible errors during string manipulations. To this end, strings representing SQL languages must be identified, some of which may be compounded from conditional sentences and cycles, as must potential errors.The challenge lies in accelerating these steps to run current analyses simultaneously with the programming.The solution will be designed as a plug-in in the Eclipse development environment.
Model-Driven Security
Despite the fact that the majority of cyber attacks target weaknesses in the enterprise application layer, security product development has concentrated mostly only on the network layer.This is one of the reasons why application security and the secure development process are gaining growing importance.
The aim of the model-driven security
sub-project is to develop a model-based approach which focuses on security
limits, while separating security logic, such as access control, from the rest
of the business logic.The outcome of the project will be clearer
application infrastructures and source codes that do not include access control
elements orrequire the source codes to be changed when the access codes are
changed.For the project to achieve its goal, existing model-driven security
frameworks will be evaluated and developed further.
STACC News
| 19.01 | TEDx presentation |
| 05.01 | New partner joins STACC |
| 23.11 | Industry workshop presentation |
