ENASE 2009 Abstracts


Full Papers
Paper Nr: 13
Title:

FLEXIBLE COMPOSITES AND AUTOMATIC COMPONENT SELECTION FOR SERVICE-BASED APPLICATIONS

Authors:

Idrissa Dieng, German VEGA, Jacky ESTUBLIER and Eric Simon

Abstract: In traditional Software Engineering approaches, an application is described as a composite entity containing all its components. This approach is no longer relevant in modern Software Engineering, at least when developing service-based applications where some components (services) are selected very late during the development process or even “discovered” at execution. This new context requires describing an application in a more flexible way, leaving room for delayed selection. In turn, if component selection can be performed all along the life-cycle, an application description must explicitly include the application requirements and goals and the system must at least ensure that the selections satisfy the application description. In this work, we propose a concept of composite addressing the needs of the advanced and flexible service-based applications, automating component selection and building composites satisfying the application description and enforcing minimality, completeness and consistency properties. We also propose tools and environment supporting these concepts and mechanisms in the different phases of the application life-cycle.
Download

Paper Nr: 15
Title:

Developing a Dynamic Usability Evaluation Framework Using an Aspect-Oriented Approach

Authors:

Slava Shekh and Susan Tyerman

Abstract: Recent work in usability evaluation has focused on automation, through the automatic capture and analysis of user interface events. However, automated techniques typically require modification of the underlying software, which makes it difficult for non-programmers to use these techniques. In addition, introducing support for event capture requires each event source to be modified. Since these sources may be spread throughout the system, maintaining and extending the event capture functionality becomes a very arduous task. Aspect-oriented programming (AOP) is a programming paradigm that separates the concerns or behaviours of a system into discrete aspects and dynamically integrates them when required. This allows concerns such as event capture to be encapsulated in a single aspect, which effectively addresses the problems of maintainability and extension. Consequently, the use of AOP for usability evaluation is currently an area of interest for researchers, but there is a lack of a general framework. This paper describes the development and testing of a framework for usability evaluation. The use of AOP allows the framework to be dynamically configured to capture specific events. Furthermore, this configuration is controlled through a frontend, which adds to the overall ease of use, and helps support non-programmers in conducting automatic usability evaluation.
Download

Paper Nr: 16
Title:

On the Implementation of Tools for Domain Specific Process Modelling

Authors:

Bernhard Volz, Stefan Jablonski and Sebastian Dornstauder

Abstract: Business process modelling becomes more productive when modellers can use process modelling languages which optimally fit to the application domain. Domain specific modelling is the discipline that deals with the proliferation of domain specific modelling languages. The general tenor is that the more a modelling language fits to an application domain, the more efficient and effective an application can be modelled. In this paper we address the issue of providing domain specific languages in a systematic and structural way without having to implement modelling tools for each domain specific language separately. Our approach is based on a two dimensional meta modelling stack.
Download

Paper Nr: 20
Title:

Agile Release Planning through Optimization

Authors:

Akos Szoke

Abstract: Agile software development represents a major approach to software engineering. Agile processes offer numerous benefits to organizations including quicker return on investment, higher product quality, and better customer satisfaction. However, there is no sound methodological support of agile release planning -- contrary to the traditional, plan-based approaches. To address this situation, we present an agile release planning model and a heuristic optimization algorithm as a solution. Four real life data sets of its application and evaluation are drawn from the lending sector. The experiment demonstrates that this approach can provide more informed and established decisions and support easy optimized release plan productions. Finally, the paper analyzes benefits and issues from the use of this approach in system development projects.
Download

Paper Nr: 22
Title:

Are We More Productive Now? Analyzing Change Tasks to Assess Productivity Trends During Software Evolution

Authors:

Hans C. Benestad, Erik Arisholm and Bente Anda

Abstract: Organizations that maintain and evolve software would benefit from being able to measure productivity in an easy and reliable way. This could allow them to determine if new or improved practices are needed, and to evaluate im-provement efforts. We propose and evaluate indicators of productivity trends that are based on the premise that productivity during software evolution is closely related to the effort required to complete change tasks. Three indicators use data about change tasks from change management systems, while a fourth compares effort estimates of benchmarking tasks. We evaluated the indicators using data from 18 months of evolution in two commercial software projects. The productivity trend in the two projects had opposite directions according to the indicators. The evaluation showed that productivity trends can be quantified with little measurement overhead. We expect the methodology to be a step to-wards making quantitative self-assessment practices feasible even in low cere-mony projects.
Download

Paper Nr: 30
Title:

JADEPT: Dynamic Analysis for Behavioral Design Pattern Detection

Authors:

Claudia Raibulet, Fabrizio Perin, Francesca A. Fontana and Stefano Ravani

Abstract: In the context of reverse engineering, the recognition of design patterns provides additional information related to the rationale behind the design. This paper presents our approach to the recognition of design patterns based on dynamic analysis of Java software. The idea behind our approach is to identify a set of rules capturing information necessary to identify a design pattern instance. Rules are characterized by weights indicating their importance in the detection of a specific design pattern. The core behavior of each design pattern may be described through a subset of these rules forming a macrorule. Macrorules define the main traits of a pattern. JADEPT (JAva DEsign Pattern deTector) is our software for design pattern identification based on this idea. It captures static and dynamic aspects through a dynamic analysis of the software by exploiting the JPDA (Java Platform Debugger Architecture). The extracted information is stored in a database. Queries to the database implement the rules defined to recognize design patterns. The tool has been validated with positive results on different academic implementations of design patterns and on systems as JADEPT itself.
Download

Paper Nr: 31
Title:

An Innovative Model Driven Formalization of the Class Diagrams

Authors:

Uldis Donins and Janis Osis

Abstract: In this paper a system static structure modeling formalization and formalization of static models based on topological functioning model (TFM) is proposed. TFM uses mathematical foundations that holistically represent complete functionality of the problem and application domains. With the TFM we can do formal analysis of a business system and in a formal manner model the static structure of the system. After construction of the TFM of a system functioning a domain object model is defined by performing TFM transformation. Making further transformations of TFM it is possible to introduce more formalism in the unified modeling language (UML) diagrams and in their construction. In this paper we have introduced topology into the UML class diagrams.
Download

Paper Nr: 35
Title:

FOCAS: AN ENGINEERING ENVIRONMENT FOR SERVICE-BASED APPLICATIONS

Authors:

Gabriel Pedraza, Idrissa Dieng and Jacky Estublier

Abstract: Service composition is an important topic, but so far addressed from a technical and low level perspective. The issue is not (too much) the orchestration formalism, but rather the engineering issues related to the many concerns that must be combined, to the technical complexity, to the heterogeneity and incompatibilities between available services, and the low level formalism and tools. The paper presents FOCAS, a full fledge environment that targets the different categories of stakeholders involved in the design, development, and maintenance of a service-based application. FOCAS first separates the different concerns, both functional and non functional, that made up a service-based application; second, it separates different levels of abstraction, and third it establishes links and mediations between these concerns and levels of abstraction. The paper presents FOCAS its principles, implementation and its evaluation.
Download

Paper Nr: 37
Title:

HOW TO ADAPT THE KAOS METHOD TO THE REQUIREMENTS ENGINEERING OF CYCAB VEHICLE

Authors:

Farida Semmak

Abstract: The Cycab is a new public vehicle with fully automated driving capabilities which aims at offering other alternatives to the private car. This work is done as part of the Tacos project. The objective of this project is to define a component-based approach to specify trustworthy systems from the requirements phase to the specification phase in the Cycab domain. Due to the long time required to experiment the Cycab vehicle prototype, it becomes very important to deal with this kind of system from the requirements phase to the test phase. In this paper, we propose an approach that provides a process specifying in a flexible way a Cycab requirement model. This process is based on two models: a generic model and a variant model. The former captures in integrated view the large variety of the systems-to-be and the latter identifies and explicitly expresses the features having an interest for the Cycab domain
Download

Paper Nr: 38
Title:

Supporting View-Based Development through Orthographic Software Modeling

Authors:

Dietmar Stoll, Colin Atkinson and Philipp Bostan

Abstract: Although they are significantly different in how they decompose and conceptualize software systems, one thing that all advanced software engineer-ing paradigms have in common is that they increase the number of different views involved in visualizing a system. Managing these different views can be challenging even when a paradigm is used independently, but when they are used together the number of views and inter-dependencies quickly becomes overwhelming. In this paper we present a novel approach for organizing and generating the different views used in advanced software engineering methods that we call Orthographic Software Modeling (OSM). This provides a simple metaphor for integrating different development paradigms and for leveraging domain specific languages in software engineering. Development environments that support OSM essentially raise the level of abstraction at which developers interact with their tools by hiding the idiosyncrasies of specific editors, storage choices and artifact organization policies. The overall benefit is to significantly simplify the use of advanced software engineering methods.
Download

Paper Nr: 40
Title:

REUSE AND ADAPTATION OF SOFTWARE PROCESS USING SIMILARITY MEASUREMENT

Authors:

Viviane Santos, Mariela Cortés and Márcia Brasil

Abstract: Software process reuse involves different aspects of the knowledge obtained from generic process models and previous successful projects. The benefit of reuse is reached by the definition of an effective and systematic process to specify, produce, classify, retrieve and adapt software artifacts for utilization in another context. In this work we present a formal approach for software process reuse to assist the definition and adaptation of the organization’s standard process. The Case-Based Reasoning technology is used to manage the collective knowledge of the organization.
Download

Paper Nr: 41
Title:

HARMONIZING IMPROVEMENT TECHNOLOGIES: A comparison between CMMI-ACQ and ISO/IEC 12207:2008

Authors:

Francisco J. Pino, Danilo Caivano, Giuseppe Visaggio, Maria T. Baldassarre and Mario Piattini

Abstract: Currently a great number of organizations are acquiring products and services from suppliers and developing less and less of these products in-house. The CMMI-ACQ and the ISO/IEC 12207:2008 are process reference model that addressing issue related to software acquisition. With the aim of to offer information on how the practices described in these two models are related, and considering that the comparison is one specific strategy for the harmonization of models, we have carried out a comparison of these two reference models. We have taken into account the latest versions of the models. Furthermore, to carry out this comparison in a way systematic, we defined a process for this purpose. This work intends to support organizations which are interested in introducing or improving their practices for acquisition of products and services using these models.
Download

Paper Nr: 42
Title:

DATABASE-DRIVEN CONCEPT MANAGEMENT - Lessons Learned from Using EJB Technologies

Authors:

Andreas  Bollin and Daniela Pohl

Abstract: During software maintenance activities one needs tools that assist in concept location and that provide fast access to already identified concepts. Thus, this paper presents an approach that is able to cope with this situation by storing concepts in a database. We demonstrate its applicability on formal Z specifications, where the huge number of concepts to be found emphasizes the use of an efficient database system. The paper closes with lessons learned, as the standard use of EJB-technologies redounds to more time-complexity than expected.
Download

Paper Nr: 43
Title:

Towards a Model Driven Approach to Upgrade Complex Software Systems

Authors:

Davide Di Ruscio, Stefano Zacchiroli, Alfonso Pierantonio, Patrizio Pelliccione and Antonio Cicchetti

Abstract: Complex software systems are more and more based on the abstraction of package, brought to popularity by Free and Open Source Software (FOSS) distributions. While helpful as an encapsulation layer, packages do not solve all problems of deployment and management of large software collections. In particular upgrades, which often affect several packages at once due to inter-package dependencies, often fail and do not hold good transactional properties. This paper shows how to apply model driven techniques to describe and manage software upgrades of FOSS distributions. It is discussed how to model static and dynamic aspects of package upgrades—the latter being the most challenging aspect to deal with—in order to be able to predict common causes of upgrade failures and undo residual effects of failed or undesired upgrades.
Download

Paper Nr: 46
Title:

Coupling Metrics for Aspect-Oriented Programming: A Systematic Review of Maintainability Studies

Authors:

Rachel Burrows, Alessandro Garcia and François Taïani Taïani

Abstract: Over the last few years, a growing number of studies have explored how Aspect-Oriented Programming (AOP) might impact software maintainability. Most of the studies use coupling metrics to assess the impact of AOP mechanisms on maintainability attributes such as design stability and error proneness. Unfortunately, the use of such metrics is fraught with dangers, which have so far not been thoroughly investigated. To clarify this problem, this paper presents a systematic review of recent AOP maintainability studies. Our review consolidates data from recent research results, highlights circumstances when the applied coupling measures are suitable to AO programs and draws attention to deficiencies where coupling metrics need to be improved.
Download

Paper Nr: 47
Title:

EVOLVING SYSTEM’S MODELING AND SIMULATION THROUGH REFLECTIVE PETRI NETS

Authors:

Lorenzo Capra

Abstract: The design of dynamic (adaptable) discrete-event systems calls for adequate modeling formalisms and tools in order to manage possible changes occurring during system’s lifecycle. A common approach is to pollute design with details that do not regard the current system behavior, rather its evolution. That hampers analysis, reuse and maintenance in general. A Petri net-based reflective model (based on classical Petri nets) was recently proposed to support dynamic discrete-event system’s design, and was applied to dynamic workflow’s management. Behind there is the idea that keeping functional aspects separated from evolutionary ones, and applying evolution to the (current) system only when necessary, results in a simple formal model on which the ability of verifying properties typical of Petri nets is preserved. On the perspective of implementing in the short time a discrete-event simulation engine for Reflective Petri nets, they are provided in this paper with a (labeled) state-transition graph semantics.
Download

Paper Nr: 59
Title:

Identification of Software Product Line Component Services

Authors:

Martin Assmann, Gregor Engels, Thomas von der Massen and Andreas Wübbeke

Abstract: Software Product Line (SPL) approaches do not centrally improve the maintenance of software products of a SPL. This paper presents an approach for reducing maintenance costs of SPL products by using the concept Software as a Service (SaaS). The SPL-SaaS approach was developed with the experiences of arvato services integrating the SPL concept since years. It shows up the advantageous and disadvantageous characteristics of components that play a role for the concept combination. The main goal is to enable an IT-architect to identify adequate components. Therefore criteria for the identification of software components suitable for the approach are derived from these characteristics. Furthermore the requirements of the potential service users are examined and categorized concerning their effects on the system architecture. Special requirements of customers often lead to architectural constraints that are not compatible with the approach. If both, the criteria are met and the architec-tural constraints are compatible, the SPL-SaaS approach can be applied to a component. The whole approach is applied on an example of arvato services.
Download

Paper Nr: 65
Title:

A SERVICE BASED APPROACH FOR A CROSS DOMAIN REFERENCE ARCHITECTURE DEVELOPMENT

Authors:

Liliana Dobrica and Eila Ovaska

Abstract: One trend of software engineering is that systems are in transition from component based architectures towards service centric ones. Also techniques from software product lines can help in a quality based and systematic reuse. The content of this paper addresses the issue of how to perform design and quality analysis of cross domain reference architecture. The reference architecture is designed based on the domains requirements and features modelling. We propose a service based approach for cross-domain reference architecture development. Throughout the sections we try to introduce an innovative way of thinking founded on bridging concepts from software architecture, service orientation, product line and quality analysis with the purpose to initiate and evolve software systems products.
Download