ENASE 2010 Abstracts


Conference

Full Papers
Paper Nr: 10
Title:

A PLEA FOR PLUGGABLE PROGRAMMING LANGUAGE FEATURES

Authors:

Bernhard G. Humm and Ralf S. Engelschall

Abstract: Current programming languages are inflexible regarding their use of language features like typing, access control, contracts, etc. In some languages, the programmer is forced to use them, in others he may not. This article pleads for pluggable programming language features, a concept that allows greater flexibility for application programmers without losing control over the use of those features.

Paper Nr: 11
Title:

A SYSTEMATIC LITERATURE REVIEW OF HOW TO INTRODUCE DATA QUALITY REQUIREMENTS INTO A SOFTWARE PRODUCT DEVELOPMENT

Authors:

César Guerra-García, Ismael Caballero and Mario Piattini

Abstract: In recent years many organizations have come to realize the importance of maintaining data with the most appropriate levels of data quality when using their information systems (IS). We therefore consider that it is essential to introduce and implement mechanisms into the organizational IS in order to ensure acceptable quality levels in its data. Only by means of these mechanisms, will users be able to trust in the data they are using for the task in hand. These mechanisms must be developed to satisfy their data quality requirements when using specific functionalities of the IS. From our point of view as software engineering researchers, both these data quality requirements and the remaining software requirements must be dealt with in an appropriate manner. Since the goal of our research is to establish means to develop those software mechanisms aimed at managing data quality in IS, we decided to begin by carrying out a survey on related methodological and technical issues to depict the current state of the field. We decided to use the systematic review technique to achieve this goal. This paper shows the principal results of the survey, along with the conclusions reached.

Paper Nr: 13
Title:

TOWARDS A CATALOGUE OF CONFLICTS AMONG NON-FUNCTIONAL REQUIREMENTS

Authors:

Dewi Mairiza, Didar Zowghi and Nurie Nurmuliani

Abstract: Two of the most significant characteristics of non-functional requirements (NFRs) are “interacting” and “relative”. Interacting means NFRs tend to interfere, conflict, and contradict with one other while relative means the interpretation of NFRs may vary depending on many factors, such as the context of the system being developed and the extent of stakeholder involvement. For the purpose of understanding the interacting characteristic of NFRs, several potential conflict models have been presented in the literature. These models represent the positive or negative inter-relationships among various types of NFRs. However, none of them deal with the relative characteristic of NFRs. In fact, multiple interpretations of NFRs in the system being developed may lead to positive or negative inter-relationships that are not always obvious. As a result, the existing potential conflict models remain in disagreement with one other. This paper presents the result of an extensive and systematic investigation of the extant literature over the notion of NFRs and conflicts among them. A catalogue of NFRs conflicts with respect to the NFRs relative characteristic is presented. The relativity of conflicts is characterized by three categories: absolute conflict; relative conflict; and never conflict. This catalogue could assist software developers in identifying the conflicts among NFRs, performing further conflict analysis, and identifying the potential strategies to resolve those conflicts.

Paper Nr: 15
Title:

USING ASPECT-ORIENTATION FOR SOFTWARE MIGRATION

Authors:

Uwe Hohenstein and Michael C. Jaeger

Abstract: A replacement of 3rd party tools such as database systems or persistence frameworks occur quite often in practice. Possible reasons are license costs, customer requirements or missing functionality. Such a migration usually means exchanging API calls and dealing with functional differences. Problems occur if some functionality cannot be emulated. This paper proposes and explains the use of aspect-orientation to handle severe problems in migra¬tion scenarios. A migration project is introduced the goal of which was to replace the persistence frame¬work Hibernate with OpenJPA. This migration involved challenging problems where the application of aspect-oriented programming has provided simple and straightforward solutions.

Paper Nr: 17
Title:

A SYSTEMATIC REVIEW ON THE HARMONIZATION OF REFERENCE MODELS

Authors:

César Pardo, Francisco J. Pino, Félix García, Mario Piattini and Teresa Baldasarre

Abstract: At present, there are wide ranges of reference models that are available to improve the way to develop and manage the software development in an organization, e.g. there are models to improve quality management, such as ISO 9001, for Software Quality Management there is ISO 90003, to improve the capacity of models there are CMMI and ISO 12207, for the IT Governance, there are ITIL, PMBOK and COBIT, Information Security Management Systems such as 27000 and Bodies of Knowledge such as SWEBOK, amongst others. However, the heterogeneity of the models available, together with the need to solve problems from many dimensions and organizational hierarchies, means that organizations face problems in improvement process projects which have to deal with different models at the same time. In this article, a systematic review is presented of works, initiatives and projects published and carried out on the harmonization of multi-model environments. Another objective stemming from the above is to discuss the significant issues related to this area of knowledge, providing an up-to-date state of the art and identifying possible related research streams.

Paper Nr: 18
Title:

ABSOLUTE SCALES TO EXPRESS STAKEHOLDER VALUE FOR IMPROVING SUPPORT FOR PRIORITIZATION

Authors:

Lindsey Brodie and Mark Woodman

Abstract: Given the reality of resource constraints, software development always involves prioritization to establish what to implement. Iterative and incremental development methods increase the amount of prioritization required and introduce the need to support dynamic prioritization to identify high stakeholder value. Ideally the needs of all the stakeholders are considered in the priority decision-making and there might be negotiation amongst them. In this paper we argue that the current prioritization methods often lack adequate support for the prioritization process. Specifically that many methods fail to appropriately structure the data for stakeholder value, which results in explicit stakeholder value not being captured. This problem is often compounded by a lack of support for handling multiple stakeholder viewpoints. We propose an extension to an existing prioritization method, impact estimation, to move towards better capture of explicit stakeholder value and catering for multiple stakeholders. A key feature is the use of absolute scale data for stakeholder value. We use a small industry case study to evaluate this new approach. Our findings argue that it provides a better basis for supporting priority decision-making over the implementation choices for requirements and designs.

Paper Nr: 20
Title:

A METHOD AND A TOOL BASED ON A CONCEPTUAL GRAPH FOR INFORMATION SYSTEMS ENGINEERING PROCESSES

Authors:

Charlotte Hug, Agnès Front and Dominique Rieu

Abstract: In order to build information systems, project managers concentrate on the system to produce but also on the engineering process. Each process is necessarily different for each situation as it depends on the targeted information system. Process modelling is an important step towards information systems quality. Nowadays, method engineers are faced to a lot of different process models; however, they need to adapt them to the organization specificities which is hard to achieve. We propose a method allowing method engineers to build process metamodels to instantiate the process models that meet the actual organizations constraints and specificities. Our method consists of selecting the concepts needed from a conceptual graph, gathering the current knowledge of metamodelling concepts for information systems engineering processes, and integrating them in a new process metamodel. In this paper, we focus on the concepts selection. We also present ProMISE, a tool that supports our method.

Paper Nr: 21
Title:

AN EMPIRICAL STUDY ON DESIGN PATTERN USAGE ON OPEN-SOURCE SOFTWARE

Authors:

Apostolos Ampatzoglou, Ioannis Stamelos and Sofia Charalampidou

Abstract: Currently, open source software communities are thriving and the number of projects that are available through well known code repositories is rapidly increasing The amount of code that is freely available to developers facilitates high reuse opportunities. One of the major concerns of developers when reusing code is the quality of the code that is going to be reused. Design patterns are well known solutions that are reported to produce substantial benefits with respect to software quality. In this paper, we investigate the extent to which design patterns are employed in open source software. More specifically, this study reports empirical results based on the number and type of design patterns retrieved from open source software projects. Up to now, one hundred and eight (108) open source software projects of various characteristics have been considered. The results of the study suggest that several patterns are more frequently used in open source software than others, that some patterns are more applicable in some categories than others and that program size, number of downloads, days of project activity and the number of developers are crucial factors that influence the use of design patterns in open source software project.

Paper Nr: 27
Title:

NON-MONOTONIC REASONING FOR REQUIREMENTS ENGINEERING - State Diagrams Driven by Plausible Logic

Authors:

David Billington, Vladimir Estivill-Castro, Rene Hexel and Andrew Rock

Abstract: We extend the state diagrams used for dynamic modelling in object-oriented analysis and design. We suggest that the events which label the state transitions be replaced with plausible logic expressions. The result is a very effective descriptive and declarative mechanism for specifying requirements that can be applied to requirements engineering of robotic and embedded systems. The declarative model can automatically be translated and requirements are traceable to implementation and validation, minimising faults from the perspective of software engineering. We compare our approach with Petri Nets and Behavior Trees using the well-known example of the one-minute microwave oven.

Paper Nr: 28
Title:

A CHANGE PROPAGATION PROCESS FOR DISTRIBUTED SOFTWARE ARCHITECTURE

Authors:

Mohamed Oussama Hassan, Laurent Deruelle, Henri Basson and Adeel Ahmad

Abstract: In the context of software architecture evolution, understanding the impacts of a change to be applied on a distributed software architecture is necessary for various activities related to maintenance and change management. In this paper, we propose formal models and a platform based on eclipse plugins for modeling and analysis of the software architecture description and their related source codes. The proposed models aim at the construction of graph representation based on the architecture description and the software source codes. The graph implementation is mapped with facts of a distributed knowledge-based system, which performs change propagation rules to evaluate the impact of a change performed on distributed components.

Paper Nr: 29
Title:

COMMON LANUGAGES FOR SEMANTIC WWW - Beyond RDF and OWL

Authors:

Seiji Koide and Hideaki Takeda

Abstract: OWL has established itself as a standard of ontology description language not only in Semantic Web but also in diverse disciplines and engineering fields. However, endeavors to describe ontology in OWL are revealing the extent of ability on the OWL current specification in practical views. In this paper, we see an overview of basic assumptions of knowledge representation languages for Semantic Web, and point out several basic and problematic issues of OWL, which are captured by our own experience of developing a language processor called SWCLOS, the first OWL Full processor developed on top of Common Lisp Object System (CLOS), and we address our approach to solve them. It includes explicit descriptions of role concepts, auto-epistemic local closed world assumption, ternary truth values, and unique name assumption for atomic objects. These settings are implemented into SWCLOS. Finally, we envision the direction of languages for semantic WWW.

Paper Nr: 33
Title:

GENERATING FLEXIBLE CODE FOR ASSOCIATIONS

Authors:

Mayer Goldberg and Guy Wiener

Abstract: Generating code for associations is one of the most fundamental requirements from a model-based code generator. There are several approaches for implementing associations, ranging from using basic collections frameworks to using a database. The choice between them derive from the current requirements of the software: Whether parallelism, caching or persistency required for a relation. Hard-coding a specific design choice makes it difficult to alter it later. In this work, we propose a scheme that allows for automatic code generations of associations with different features, without requiring manual changes to the code. These features include using indices, traversing the association in parallel, or using an external database. Instead of the sequential iterator interface, we propose to use an interface that is based on operations over collections, such as Foreach, Filter, Map and Fold. This interface allows for writing operations that traverse the association without being dependent on the implementation details of the generated code.

Paper Nr: 34
Title:

KNOWLEDGE SUPPORT FOR SOFTWARE PROCESSES

Authors:

Michal Košinár, Svatopluk Štolfa and Jan Kožusznik

Abstract: Documented software processes and their assessments are the basics of modern software development. Nowadays, the semantic web, knowledge bases and knowledge management support many applications, but still their application within software processes (and business processes generally) are surprisingly being ignored. In this paper we focus on applying a knowledge layer into software processes and on the design of such a knowledge base. After a brief description of some classical fundamental approaches to software processes and knowledge bases, we propose an improvement based on the application of a machine readable knowledge base. We focus, in particular, on optimizing and enhancing software processes and their assessments with the knowledge layer.

Paper Nr: 35
Title:

AN AUTOMATED MODEL-DRIVEN TESTING FRAMEWORK - For Model-Driven Development and Software Product Lines

Authors:

Beatriz Pérez Lamancha, Macario Polo Usaola and Mario Piattini Velthius

Abstract: This work presents an automated testing framework that can be applied to Model-Driven Development and Software Product Line development. The framework uses standards metamodels such as UML, UML Testing Profile and standards transformation languages such as Query/View/Transformation or MOF2Text. Test cases are automatically generated from UML sequence diagrams that represent the functionality to test.

Paper Nr: 36
Title:

AUTOMATED COMPOSITION OF WEB SERVICE WORKFLOW - A Novel QoS-Enabled Multi-Criteria Cost Search Algorithm

Authors:

Jaina Sangtani and Gursel Serpen

Abstract: The introduction of software technology has dramatically increased the efficiency of completing tasks. Code reusability provides efficiency within the software engineering discipline. With the tumultuous increase in acceptance of service oriented architecture, and thus, a rise in the number of web services, skilled software developers spend a lot of time composing web service workflows, rather than creating innovative and efficient services. Hence, we put forward a technique of code reusability that utilizes heuristic based search methods to automate service workflow composition by weighting quality of service criteria by relevance and importance to the users. We implement a novel and heuristic-based graph creation and search algorithm where the heuristic function value is calculated through the uniform cost search based on each of the quality of service criteria specified by the user. Application of the proposed automated workflow composition algorithm is illustrated with success on an industry-grade service-oriented architecture problem.

Paper Nr: 38
Title:

INTRODUCING AGILE SOFTWARE DEVELOPMENT AT SAP AG - Change Procedures and Observations in a Global Software Company

Authors:

Joachim Schnitter and Olaf Mackert

Abstract: This paper describes the change process that is taking place at SAP AG to move the software development processes from a waterfall-like approach to agile methodologies. This change affects about 18,000 developers working at 12 global locations. The paper outlines the procedure to introduce Scrum as an implementation of lean development, and the model chosen to scale Scrum up to large product development projects. The most important observations are described, and an outlook on future improvement is given.

Paper Nr: 40
Title:

AN EMPIRICAL ASSESSMENT OF THE IMPACT OF ASPECT-ORIENTED PROGRAMMING ON SOFTWARE MODULARITY

Authors:

Adam Przybylek

Abstract: The term “crosscutting concern” describes a piece of system that cannot be cleanly modularized because of the limited abstractions offered by the traditional programming paradigms. Symptoms of implementing crosscutting concerns in the languages like C, C# or Java are “code scattering” and “code tangling” that both degrade software modularity. Aspect-oriented programming (AOP) was proposed as a new paradigm to overcome these problems. Although it is known that AOP allows programmers to separate crosscutting concerns, the impact of AOP on software modularity is not yet well investigated. This paper reports a quantitative study comparing OO and AO implementations with respect to modularity.

Paper Nr: 41
Title:

SEMI-AUTOMATIC ASSIGNMENT OF WORK ITEMS

Authors:

Jonas Helming, Holger Arndt, Zardosht Hodaie, Maximilian Koegel and Nitesh Narayan

Abstract: Many software development projects maintain repositories managing work items such as bug reports or tasks. In open-source projects, these repositories are accessible for end-users or clients, allowing them to enter new work items. These artifacts have to be further triaged. The most important step is the initial assignment of a work item to a responsible developer. As a consequence, a number of approaches exist to semi-automatically assign bug reports, e.g. using methods from machine learning. We compare different approaches to assign new work items to developers mining textual content as well as structural information. Furthermore we propose a novel model-based approach, which also considers relations from work items to the system specification for the assignment. The approaches are applied to different types of work items, including bug reports and tasks. To evaluate our approaches we mine the model repository of three different projects. We also included history data to determine how well they work in different states.

Paper Nr: 45
Title:

A GENERIC FRAMEWORK FOR DISTRIBUTED COMPONENTS-BASED SOFTWARE SYSTEMS DEPLOYMENT - Case Study and Tool Description

Authors:

Mariam Dibo and Noureddine Belkhatir

Abstract: The life cycle of distributed component-based software systems raises a new challenge due to architecture and environment complexity. Hence there is an increased need for new techniques and tools to manage these systems mainly their deployment. Following our previous publications (Dibo and Belkhatir, 2010b, Dibo and Belkhatir, 2010a, Dibo and Belkhatir, 2009). This paper deals with software deployment and focuses first on UDeploy (Unified Deployment architecture), a generic framework for distributed component based software system. Secondly, we present a deployment case study to illustrate our approach.

Short Papers
Paper Nr: 9
Title:

CLASS ENCAPSULATION AND OBJECT ENCAPSULATION - An Empirical Study

Authors:

Janina Voigt, Warwick Irwin and Neville Churcher

Abstract: Two schools of thought underpin the way OO programming languages support encapsulation. Ob¬ject encap-sulation ensures that private members are accessible only within a single object. Class encapsulation allows private members to be accessed by other objects of the same class. This paper describes an empirical inves-tigation into the way encapsulation is used in practice in class encapsulation languages C# and Java. We find arbitrary and inconsistent programming practices and suggest that object en¬capsula¬tion is more intuitive and provides OO design advantages.

Paper Nr: 31
Title:

A SEMI-AUTOMATED PROCESS FOR OPEN SOURCE CODE REUSE

Authors:

Apostolos Kritikos, George Kakarontzas and Ioannis Stamelos

Abstract: It is clear that Free Libre / Open Source Software (FLOSS) has been demonstrating increasing importance continually for some years now. As a result, millions of lines of code are becoming available online. In many cases, this code, is carefully designed, implemented, tested and therefore represents a very good option for reusability. Lately, more and more companies, especially Small and Medium Enterprises (SMEs), are reusing open source code to develop their own software. Source code forges such as SourceForge, Google Code etc., serve as component pools providing plenty of alternatives. In this work we are proposing a semi-automated reuse process model for discovering open source code online, based on the requirements of the system under design. This model illustrates the greedy approach of a reuse engineer, who wishes to reuse as much code as he can and implement the least possible.

Paper Nr: 39
Title:

EVALUATING THE QUALITY OF FREE/OPEN SOURCE PROJECTS

Authors:

Lerina Aversano, Igino Pennino and Maria Tortorella

Abstract: Characterization and evaluation of software quality is one of the main challenge of software engineering. One of currently used standards is ISO/IEC 9126, which defines a quality model for software products. However, in the context of Free/Open Source software, differences in production, distribution and support modality, have to be considered as additional quality characteristics apart from ISO standard ones. This paper defines a quality model for Free/Open Source Software projects, equipped with an evaluation framework, realized by applying the Goal Question Metric paradigm. The evaluation of an open source system has been carried out as case study.

Paper Nr: 42
Title:

ISO/IEC 15504 BEST PRACTICES TO FACILITATE ISO/IEC 27000 IMPLEMENTATION

Authors:

Antonia Mas, Antoni Lluís Mesquida, Esperança Amengual and Bartomeu Fluxà

Abstract: In software development companies, as well as in any company, information must be adequately protected. Therefore, the implementation of information security standards has also become crucial in software organizations. Software companies involved in a process improvement initiative according to the ISO/IEC 15504 standard for process assessment and improvement are showing an increasing interest in the implementation of the ISO/IEC 27000 standard for information security management. With the intention of supporting these companies in the implementation of the ISO/IEC 27000 standard, our main goal is the development of a method which provides guidance on the application of both frameworks. As a first step of this work, in this article a mapping between ISO/IEC 27002 and ISO/IEC 15504-5 is presented.

Paper Nr: 43
Title:

A VOCABULARY FOR THE MODELLING OF IMAGE SEARCH MICROSERVICES

Authors:

José Ignacio Fernández-Villamor, Carlos A. Iglesias and Mercedes Garijo

Abstract: In order to take advantage of the services that are available on the Web, several approaches that allow describing services have been proposed. With them, developers can publish service descriptions, allowing services to be automatically executed and composed. However, in most cases, the service description task is not carried out, partly because it is a time-consuming task. This has caused initiatives such as WSMO lite, SA-REST, hRESTS or Microservices, that try to reduce complexity in services, to appear. Also, an increasing number of web applications have followed the Linked Data initiative and publish information that is machine processable thanks to Semantic Web technologies such as RDF. However, sometimes direct access to information requires the usage of search forms and, in other cases, spidering techniques such as focused crawling in order to aggregate and filter data. Automatic execution of search services would improve access to information in the web by enabling agents to automatically aggregate, filter and directly access data. In this paper, it is presented how the Microservices framework can provide a feature-based vocabulary for the description of image search services. Microservices framework is a lightweight service description framework that take feature-oriented and aspect-oriented programming ideas to service description. The article illustrates how this vocabulary can characterise a set of popular search services, such as Google Images or Flickr. In addition, the article describes how this vocabulary can be used for the development of new services, such as a metasearcher that aggregates results from various search services.

Paper Nr: 47
Title:

A DECONSTRUCTIVIST METHODOLOGY FOR SOFTWARE ENGINEERING

Authors:

Doris Allhutter

Abstract: Grounded within qualitative research on software engineering and science and technology studies, the paper introduces a deconstructivist methodology for software engineering. Software engineering is a socio-technological process of negotiation embedded in organizational and societal contexts. Thus, social dimensions such as hidden assumptions of use contexts (e.g. based on diversity aspects such as age, gender, class or cultural diversity) implicitly inform development practices. To foster reflective competences in this area, the paper suggests using deconstruction as a tool to disclose collective processes of meaning construction. For this purpose, the idea of introducing a deconstructive process to software engineering is linked to approaches of practice-based, situated and context-sensitive learning.

Paper Nr: 53
Title:

PROCESS MODEL VALIDATION - Transforming Process Models to Extended Checking Models

Authors:

Elke Pulvermüller, Andreas Speck, Sven Feja and Sören Witt

Abstract: Process and workflow models are typical means to describe the dynamic activities of a system. Therefore, it is of high interest to validate these models. Many kinds of (business) rules, best practices, patterns, legal regulations may serve as specifications which the models have to fulfill. An already established technique to validate models of dynamic activities is model checking. In model checking the requirements are expressed by temporal logic. Temporal logic allows describing temporal dependencies. The models to be verified by model checkers are automata. In this context the question is how to transform process or workflow models into automata and how to specify the temporal logic in the way that the semantic of the process models is considered sufficiently. In our paper we present three approach to transform process models to checkable automata. We use the example of ARIS Event-driven Process Chains. In particular, the third approach introduces specializers enabling semantic-rich requirement specifications. This reduces the gap between process models (consisting of different model element types) and verification models.

Paper Nr: 56
Title:

A BUSINESS USE CASE DRIVEN METHODOLOGY - A Step Forward

Authors:

Gaetanino Paolone, Paolino Di Felice, Gianluca Liguori, Gabriele Cestra and Eliseo Clementini

Abstract: The present contribution reshapes a recently proposed software methodology by giving up the top-down philosophy being part of it, to follow a strictly model-driven engineering approach. The ultimate goal of our research is to define a methodological proposal ensuring the continuity between business modeling, system modeling, design, and implementation. This lays the foundations for the automatic transformation process of the behavioral business model into a software model capable of meeting user needs.

Paper Nr: 58
Title:

TOWARD SOFTWARE GOVERNANCE IN R&D PROJECT - Géant Case Study

Authors:

Paweł Kędziora, Marek Lewandowski and Cezary Mazurek

Abstract: This paper presents motivation of introducing Software Governance activity into large R&D project, that has been already developed for several years. We present background of this activity, its structure and communication model. We will also present impact of the new activity on the whole project and describe expected results of this innovation. Introduction of the new activity has not been fully completed yet.

Paper Nr: 64
Title:

SOFTWARE ENGINEERING SYSTEMS AS SERVICES USING A BUSINESS-FOCUSED SERVICE FRAMEWORK

Authors:

David Miller and Mark Woodman

Abstract: Investment in IT and software systems frequently fails to meet the expectations of the business customer.This has a consequentially negative impact on business performance and reduces the perception within the business of the value provided by systems suppliers.This has been a persistently stubborn problem for more than forty years even after decades of ‘product’development. This position paper argues that for the likelihood of a successful business outcome to be increasedwe must first redefine our understanding of the ‘service’ concept and then apply it more widely, including and embracing the software engineering aspects. This will improve concepts such as software systems engineering, IT service management, service performance, change management, alignment, governance and maturity.

Paper Nr: 65
Title:

SCRUMPL - Software Product Line Engineering with Scrum

Authors:

Antônio Santos Jr. and Vicente Lucena Jr.

Abstract: This paper presents the ScrumPL process, which combines the Software Product Line Engineering (SPLE) methodology and the agile method Scrum to develop Software Product Lines (SPL). This process uses the Requirements Engineering and Design sub-processes from both Domain and Application Engineering SPLE processes to create a reference architecture with reusable component descriptions. Those components are then added to a product backlog. Finally, the Scrum principles and lifecycle are launched to implement, test, change requirements and deliver products. A preliminary result is also presented: a software product line reference architecture and product backlog of an interactive TV navigation system.

Posters
Paper Nr: 6
Title:

FROGLINGO - A Monolithic Alternative to DBMS, Programming Language, Web Server and File System

Authors:

Kevin H. Xu, Jingsong Zhang and Shelby Gao

Abstract: Application software started with a monolithic architecture in the 1960s, i.e., a single executable file for the entire application. For better productivity in software development, software application in a typical corporate environment today consists of multiple components including off-the-shelf products. Froglingo is a unified solution for database management and programming language. It is an alternative to the combination of software technologies including DBMS, programming language, web server, and file system. The Enterprise-Participant (EP) data model, Froglingo without variables, is a computer language equivalent to a class of total recursive functions. It brings the monolith back to application software. In this paper, we show that Froglingo is a monolith and demonstrate that this monolith with the EP data model improves the productivity in both software development and software maintenance.

Paper Nr: 23
Title:

PROJECT MONITORING AND CONTROL IN MODEL-DRIVEN AND COMPONENT-BASED DEVELOPMENT OF EMBEDDED SYSTEMS - The CARMA Principle and Preliminary Results

Authors:

Rikard Land, Jan Carlson, Stig Larsson and Ivica Crnkovic

Abstract: This position paper describes how the combination of the Model-Driven Development (MDD) and Component-Based Software Engineering (CBSE) paradigms can support project monitoring and control, and project risk reduction. The core principle for this is articulated and named CARMA, and our research agenda and preliminary results are described. Through interviews, industry input, process simulation, tool implementation and pilot projects, and describing an extension of CMMI, we are exploring the CARMA principle in order to provide guidelines for MDD/CBSE projects.

Paper Nr: 54
Title:

TOWARDS A GENERIC DESIGN FOR GENERAL-PURPOSE SENSOR NETWORK NODES - Position Paper

Authors:

Stefan Gruner

Abstract: The key to mature and efficient industrial software engineering is standardisation more than an aggressive struggle for innovation only for the sake of its own. This is assumption is also held for the area of sensor networks development, which is becoming an increasingly important field at the interface between software and hardware engineering. This short position paper proposes and outlines a generic design for the nodes of such sensor networks, which could be used in the future as the basis of almost any conceivable sensor network application. On such a basis of generic standardisation, the development of specific and particular sensor network applications will then be mainly a matter of hardware-independent programming with APIs, as it is already well known in the classical domain of operating systems in ordinary desktop PCs.

Workshop MDA & MTDD

Full Papers
Paper Nr: 1
Title:

Object Interaction as a Central Component of Object-oriented System Analysis

Authors:

Oksana Nikiforova

Abstract: An increasing impact of system modeling in software development facilitates a vision of software development methodology. Currently one of the leading positions has OMG and its solution for system abstraction, modeling, development, and reuse – Model Driven Architecture (MDA). A key component of system modeling under principles of MDA is Unified Modeling Language (UML), which defines several kinds of diagrams and their notation. System modeling is an important part of system analysis and design, where MDA proposes to use means of automatic code generation. UML offers to use system presentation as interacting objects and offers to model two kinds of object inte-raction diagram, namely, sequence and communication. The paper focuses on investigation of analysis, modeling, and design of object interaction and discusses the ability to increase the level of formalization in modeling of object interaction.

Paper Nr: 4
Title:

Platform Independent Model Development by Means of Topological Class Diagrams

Authors:

Janis Osis and Uldis Donins

Abstract: Transformation from model to model takes significant place in Model Driven Architecture (MDA). Model Driven Architecture considers system from three viewpoints: computation independent, platform independent, and platform specific. Despite the fact that each viewpoint has its own representing model, the transformation between computation independent model (CIM) and platform independent model (PIM) is fuzzy. In this paper is proposed topology oriented approach for CIM to PIM transformation and PIM representation. Topology used within this approach is borrowed from Topological Functioning Model (TFM). TFM uses mathematical foundations that holistically represent complete functionality of the problem and application domains and therefore can be used as CIM and as a source for transforming CIM to PIM. Application of TFM within software development process enables formal analysis of busi-ness system and formal designing of system structure. Software development begins with TFM creation. After construction of business system’s TFM by applying transformation on TFM a system structure representing PIM is defined. As a basis for system structure definition is used topological class diagram. Topological class diagram is combination of Unified Modeling Lan-guage (UML) class diagram and topology borrowed from TFM.

Paper Nr: 5
Title:

Computation Independent Models: Bridging Problem and Solution Domains

Authors:

Erika Asnina and Janis Osis

Abstract: Compliance between a problem and a solution domain(s) is a well-known issue in software development. A usual way of development is focusing on the solution, and adapting the solution to the problem domain only in case of occurred issues. Sometimes, the cost of such adaptation is very high, and then the cheapest way is to change operation of the problem domain. Certainly, such ways cannot satisfy a client. This paper considers a computation independent model as a place where overcoming of the gap must occur. It discusses ways for overcoming a gap between a problem domain and a solution domain(s) that are proposed within CIMs, and suggests a mathematical mechanism, continuous mapping, provided by a topological functioning model together with its other topological and functional properties as a formal bridge between those domains. This mechanism is explained by an example.

Paper Nr: 6
Title:

Transforming Textual Use Cases to a Computation Independent Model

Authors:

Janis Osis and Armands Šlihte

Abstract: This paper analyzes the specific text analysis tasks of transforming textual use cases of a business system to a Computation Independent Model (CIM) for Model Driven Architecture (MDA). By applying language processing methods to textual use case analysis and using Topological Functioning Model (TFM) as CIM a workable solution can be developed. Implementing a TFM Tool is considered to enable fetching a TFM from use cases, editing and verifying the TFM, and transforming TFM to Unified Modeling Language (UML). Solution’s compatibility to MDA standards is also considered, thus increasing the completeness of MDA and providing a formal method to automatically acquire a CIM from description of a business system in form of textual use cases.

Paper Nr: 7
Title:

Generation Mechanisms in Graphical Template Language

Authors:

Elina Kalnina, Audris Kalnins, Edgars Celms, Agris Sostaks and Janis Iraids

Abstract: Textual models in MDD typically are generated in their concrete syntax using a template based language. On the contrary, graphical models as a rule are generated in abstract syntax and then visualized, which is not very efficient for complicated languages. The paper discusses a case of template based generation of graphical models in a concrete syntax. We apply this approach to generation of programs in MOLA transformation language using the Template MOLA language. A novel idea of merge mechanism in MOLA templates is proposed which permits to obtain the required structure of generated models in an easy way.

Paper Nr: 8
Title:

Towards a Structure for the Computation Independent Model

Authors:

Kherraf Samir, Alexandre Moïse, Éric Lefebvre and Witold Suryn

Abstract: Model Driven Architecture (MDA) is composed of a hierarchy of three levels of models : computation independent model (CIM), platform independent model (PIM) and platform specific model (PSM). Currently, there exists no formal CIM definition describing its structure of elements to which transformation rules can be applied. It is therefore the goal of this paper to attempt such a structure. In our view, the CIM can be divided into a hierarchy of three interconnected models: the business motivation model (BMM), the business process model (BPM), and the requirements model (RM). This paper presents how these three models can account for the CIM and how they are related to each other.

Paper Nr: 9
Title:

An Outline of Conceptual Framework for Certification of MDA Tools

Authors:

Antons Cernickins, Oksana Nikiforova, Kristaps Ozols and Janis Sejans

Abstract: Nowadays, the certification of applications and software systems is considered as a task of growing importance. In fact, software development life cycle itself is also considered as a matter of certification concern, especially with the emergence of new approaches. The proposal of Model Driven Archi¬tecture (MDA) shifted the software development towards modeling. However, MDA as such still lacks the appropriate implementation framework. The origi¬nal article outlines a conceptual framework, which may be used as a foundation for certification of MDA tools.

Paper Nr: 10
Title:

Transformations of Software Process Models to Adopt Model-Driven Architecture

Authors:

Vladimirs Nikulsins

Abstract: This paper proposes a solution on how to adopt software development process and make it compliant with the Model Driven Architecture by OMG. Process modeling languages helps to formalize the knowledge about the software development life cycle expressed in tasks, activities, phases, workflows and roles. SPEM (Software Process Engineering Meta-Model) is OMG standard used to describe a software development process within an organization. The proposed solution is to transform any so called “traditional” software development life cycle model into the model-driven with the help of model transformations written in Query/View/Transformation (QVT) language. This approach has been partially approbated in one of the Latvian IT companies.

Paper Nr: 13
Title:

Realizing Use Cases for Full Code Generation in the Context of fUML

Authors:

Ioan Lazar, Simona Motogna, Bazil Pârv and Codrut-Lucian Lazar

Abstract: We describe a pragmatic method for developing use case realizations as Foundational UML (fUML) active objects. The method allows developers to transform the textual representations of use cases into executable UML activities which represent the classifier behaviours of the corresponding use case realizations. The generated graphical representations help developers to find requirements defects. Moreover, developers implement the required system behaviour by adding code using again a concrete textual syntax for fUML. The result is an executable fUML model which helps developers to simulate and validate the implemented behaviour. Finally, completed code may be generated towards the existing platform specific frameworks which use structured programming constructs.

Short Papers
Paper Nr: 11
Title:

Efficiency Requirements in PIM to PSM Transformations

Authors:

Dariusz Gall

Abstract: In the paper, we provide extensions for MDA (Model Driven Architecture), taking into consideration efficiency requirements. The scope of the proposition is limited to the PIM (Platform-Independent Model) and the PSM (Platform Specific Model) extension. Efficiency requirements are maximal rates of users requests under which the system has to perform. We extend the PIM to the model containing efficiency requirements. We introduce a PSMSpec (PSM Specification) containing a system architecture, platform, efficiency requirements, and a PSMInst (PSM Instance) defining a deployment of the system. The PIM’s functional specification and efficiency requirements are transformed to the PSMSpec’s system architecture and efficiency requirements. Finally, efficiency characteristics are estimated and verified against the efficiency requirements, the PSMInst is suggested.

Paper Nr: 12
Title:

A New Application of Domain Specific Modeling Towards Implementing an EarlyWarning Service

Authors:

Syed Imran, Ioannis Dokas, John Feehan and Franclin Foping

Abstract: Domain Specific Modeling (DSM) has been used for a while in many scenarios, case studies, and applications successfully. This paper intends to present a new application of DSM for facilitating an Early Warning Service (EWS). The knowledge about risks and its representation is an important factor for any EWS. The challenge is to help the users be closer to the understanding of the associated risks and to facilitate them with a new software application so as to provide the ability of risk analysis, we propose in this paper a novel application of using Domain Specific Modeling (DSM) in deploying EWS. The paper presents a case study in which there is a need to develop an EWS for the personnel of institutions involved in the drinking water delivery governance model in the Republic of Ireland.

Research Students Forum

Paper Nr: 12
Title:

A METHOD TO CREATE THE MOST ACCURATE TARGETING IN 1 ON 1 SOCCER ROBOTS

Authors:

Yahya Hassan Zadeh Nazarabadi, Hossein Saghlatoon and Mohammad Ali Sharif Shazileh

Abstract: Because the final state of robo soccer is targeting the goal, it’s very important to design and use standard high accuracy methods. In this paper we discuss about goal targeting and design a method for robo soccer to target more accurate than the other methods. This method is easier, less complicated and needs less space on processor flash memory.