Multi-step concern refinement
Andrés Yie
A Model-Driven Software Product Line (MD-SPL) uses metamodels, models, and transformations to create a family of products. These products are generated from a high-level model (or business model), which is refined using a sequence of model-to-model transformations. The sequence of transformations is a Model Refinement Line (MRL). However, an MD-SPL must evolve to introduce new crosscutting concerns, such as security or logging, in the generated applications. Since the MRL transformations are fragile and complex, the original MRL must be preserved or reused when the new concerns are added to the MD-SPL.
We propose an approach to add new crosscutting concerns to the applications produced, while keeping the original MRL as unchanged as possible. This approach adds a new MRL that refines a high-level model of the new concern. This concern model is related with the application business model in the original MRL with a set of pointcuts expressing the relationships among them. Afterwards, the concern model refinement is performed in parallel with the original MRL. In every refinement step, the application model, the concern model, and the pointcuts are refined. Finally, the low-level application and concern models are composed, and the application is generated.
Keywords: Model-Driven Engineering, Software Product Lines, Aspect-Oriented Software Development
High-Level Business Processes Monitoring, Measurement and Control
Oscar González
With constant changes as a main force, companies have to be organizations that are extremely flexible. To support this flexibility, they tend to organize themselves around (partially automated) business processes. This facilitates the integration of all their human and technological resources and manages the flow and control between them. In this vision it is extremely important to install a Monitoring activity which gives organizations the opportunity to focus on process improvement and quality assurance. Even though several business-process monitoring solutions are already available, these approaches are typically implemented with low-level mechanisms. These mechanisms require specific knowledge about the process implementation that business experts do not necessarily have. Furthermore, even for users with technical skills the implementation of monitoring requirements remains a tedious and complex task. This is mainly because the monitoring statements crosscut the executable specifications and involve information that is not necessarily available in one specific location.
The main goal of this research is the definition of a high-level domain-specific language for expressing monitoring, measurement and control specifications on business processes. The language is targeted at experts that need to assess the quality of a business process. Therefore we provide specialized abstractions at the domain level instead of at the code level. Among others it contains constructs for gathering basic real time and historic process measurements, for creating new high-quality concepts, and for applying control actions over the process domain and monitoring domain. Eventually the goal is to support domain experts in the creation of monitoring requirements without having to know the specifics of the underlying implementation.
Keywords: Business process management, domain-specific language, aspect-oriented programming, Monitoring, Measurement, Control