Skip to main content
main-content

Über dieses Buch

This book constitutes the thoroughly refereed post-conference proceedings of the 4th IFIP TC2 Central and East European Conference on Software Engineering Techniques, CEE-SET 2009, held in Krakow, Poland, in October 2009. The 19 revised full papers presented were carefully reviewed and selected from 63 submissions. The papers are organized in topical sections on software architectures and development; modelling and formal methods in software development; measurements, testing, and quality of software.

Inhaltsverzeichnis

Frontmatter

Software Architectures and Development

Frontmatter

Towards Decision Centric Repository of Architectural Knowledge

Abstract
Architectural design and design decisions are the key components of architectural knowledge. However, concerns, rationales, and risks should be also captured to prevent knowledge vaporization. So, how to deal with architectural knowledge in incremental knowledge refinement? We believe that usage of the knowledge repository system can support architecture evolution. In this paper, a model of knowledge repository is presented. In this model, the decision-centric approach is complemented with the architectural views to support indirect interrelations between design decisions. Support for agile development was one of the key aspects of the model design, therefore knowledge vaporisation might be reduced.
Bartosz Michalik, Jerzy Nawrocki

Construction of Messaging-Based Enterprise Integration Solutions Using AI Planning

Abstract
This paper presents a novel method of using action-based planning for construction of enterprise integration solutions that utilize messaging technologies. More specifically, the presented method is able to generate a sequence of processing steps needed to transform input message flow(s) to specified output message flow(s), taking into account requirements in areas of throughput, availability, service monitoring, message ordering, and message content and format conversions. The method has been implemented as a research prototype. It has been evaluated using scenarios taken from the literature as well as from real-world experience of the authors.
Pavol Mederly, Marián Lekavý, Marek Závodský, Pavol Návrat

Integration of Application Business Logic and Business Rules with DSL and AOP

Abstract
Business processes and business rules are implemented in almost all enterprise systems. Approaches used today to their implementation are very sensitive to changes. In the paper authors propose to separate business logic layer from business rule layer by introducing an integration layer. The connections between both parts are expressed in a dedicated for that purpose domain specific language (DSL). The definitions in DSL are further translated into working source code. The proof-of-concept implementation of the integration layer was done in the aspect oriented language (AOP) – AspectJ. The AOP was selected because it fits well to encapsulate scattered and tangled source code implementing the connections between business logic and business rules with the source code implementing core business logic.
Bogumiła Hnatkowska, Krzysztof Kasprzyk

Aspect-Oriented Change Realization Based on Multi-Paradigm Design with Feature Modeling

Abstract
It has been shown earlier that aspect-oriented change realization based on a two-level change type framework can be employed to deal with changes so they can be realized in a modular, pluggable, and reusable way. In this paper, this idea is extended towards enabling direct change manipulation using multi-paradigm design with feature modeling. For this, generally applicable change types are considered to be (small-scale) paradigms and expressed by feature models. Feature models of the Method Substitution and Performing Action After Event change types are presented as examples. In this form, generally applicable change types enter an adapted process of the transformational analysis to determine their application by their instantiation over an application domain feature model. The application of the transformational analysis in identifying the details of change interaction is presented.
Radoslav Menkyna, Valentino Vranić

On the Evolution of Component-Based Software

Abstract
In a component-based software system the different components communicate with each other through their interfaces, possibly using adapters. Whenever the requirements or the environment change, the component-based software system must be adapted accordingly. We present a method that supports a systematic evolution of component-based software at the architectural level. It is based on operators and modification schemata that help to identify different architectural alternatives to realize the evolution task.
Isabelle Côté, Maritta Heisel, Jeanine Souquières

Query Processing Using Negative and Temporal Tuples in Stream Query Engines

Abstract
In this paper, we analyze how stream monotonicity classification can be adopted for the introduced developed model, which processes both temporal and negative events. As we show, information about stream monotonicity can be easily used to optimize individual stream operators as well as a full query plan. Comparing our stream engine with such engines as CEDR, STREAM and PIPES we demonstrate how a primary key constraint can be used in different types of the developed stream schemes. We implemented all of the above techniques in StreamAPAS.
Marcin Gorawski, Aleksander Chrószcz

Scalable Store of Java Objects Using Range Partitioning

Abstract
Scalable Store of Objects (SSO) should allow for storing and maintaining a huge number of objects distributed over many nodes of a network. RP*N is a structure which belongs to a family of order-preserving, Range Partitioning Scalable Distributed Data Structures (RP* SDDS). The architectures of SDDS were designed to store records. Different structures of objects and complicated dependences between objects are the cause that a new architecture for RP* is needed. The paper describes a new object-oriented version of RP*N architecture and its implementation for Java objects. This version can be used in a fast and scalable store of Java objects. Performance of the implementation is evaluated and compared with serialization of objects on a disk and storing objects as a main-memory collection.
Mariusz Bedla, Krzysztof Sapiecha

Modelling and Formal Methods in Software Development

Frontmatter

HTCPNs–Based Modelling and Evaluation of Dynamic Computer Cluster Reconfiguration

Abstract
An extension of HTCPNs-based software tool for Internet systems modelling and evaluation has been proposed in the paper. After the extension the tool provides new possibilities for modelling and analysis of dynamic cluster reconfiguration algorithm. Some implementation details of the algorithm has been presented. The algorithm has been preliminary assessed by simulation.
Sławomir Samolej, Tomasz Szmuc

Performance Analysis of Interactive Internet Systems for a Class of Systems with Dynamically Changing Offers

Abstract
This paper presents the performance analysis of interactive Internet systems, for which the time rate of system offer change is comparable to the users interaction time with the system. In this paper such systems class is called Interactive Internet Systems with Dynamically Changing Offers (IISDCO). In IISDCO systems an offer change may cause cancellation of the started but incomplete transactions. The necessity of cancellation can result from the sale of a set of resources (goods sold) which is getting exhausted or whose price has changed.
This paper includes a performance analysis of an on-line stock exchange system (sample of IISDCO). For the analysis we used models in the form of Time Coloured Petri Nets (TCPNs). We also reviewed the proposed models on the example of the Internet on-line stock exchange system.
Tomasz Rak, Jan Werewka

Information Systems Development Based on Visual Domain Specific Language BiLingva

Abstract
This paper is devoted to the system modelling and information transfer to information system. The BiLingva (Bilingual Language) is a domain specific modelling language used to model event oriented information systems. Unlike many other modelling languages BiLingva allows unconstrained use of state diagram concepts and activities diagram concepts in the same diagram. This approach is most appropriate in this specific domain.
In the second part of the paper authors analyze a new approach for transferring information system model in BiLingva language to the information system. It is proposed to make user friendly and model consistent configurable software that takes over information from BiLingva model.
In the end this paper provides a few examples of running systems developed with this technology thus confirming usefulness of this approach.
Jana Ceriņa-Bērziņa, Jānis Bičevskis, Ģirts Karnītis

A Mapping from Normative Requirements to Event-B to Facilitate Verified Data-Centric Business Process Management

Abstract
This paper addresses the problem of describing and analyzing data manipulation within business process workflow specifications.We apply a modeldriven approach. We begin with business requirement specifications, consisting of an ontology and an associated set of normative rules, that define the ways in which business processes can interact. We then transform this specification into an Event-B specification. The resulting specification, by virtue of the Event-B formalism, is very close to a typical loosely coupled component-based implementation of a business system workflow, but has the additional value of being amenable to theorem proving techniques to check and refine data representation with respect to process evolution.
Iman Poernomo, Timur Umarov

Computations in Graph Rewriting: Inductive Types and Pullbacks in DPO Approach

Abstract
In this paper, we give a new formalism for attributed graph rewrites resting on category theory and type theory. Our main goal is to offer a single theoretical foundation that embeds the rewrite of structural parts of graphs and attribute computations which has more expressive power for attribute computations as well.
Maxime Rebout, Louis Féraud, Lionel Marie-Magdeleine, Sergei Soloviev

Bounded Model Checking for the Existential Part of Real-Time CTL and Knowledge

Abstract
A considerably large class of multi-agent systems operate in distributed and real-time environments, and often their correctness specifications require us to express time-critical properties that depend on performed actions of the system. In the paper, we focus on the formal verification of such systems by means of the bounded model checking (BMC) method, where specifications are expressed in the existential fragment of the Real-Time Computation Tree Logic augmented to include standard epistemic operators.
Bożena Woźna-Szcześniak

The Semantics of Role-Based Trust Management Languages

Abstract
Role-based Trust management (RT) languages are used for representing policies and credentials in decentralized, distributed access control systems. RT languages combine trust management and role-based access control features. A credential provides information about the keys, rights and qualifications from one or more trusted authorities. The paper presents a set-theoretic semantics of Role-based Trust management languages, which maps a role to a set of sets of entity names. The semantics applies not only to the basic language of the family RT 0, but also to a much more sophisticated RT T , which provides manifold roles and role-product operators to express threshold and separation-of-duty policies. A manifold role defines sets of entities whose cooperation satisfies the manifold role. It enables to express a such a condition, which need more than one member of a role to effectively fulfill the particular task.
Anna Felkner, Krzysztof Sacha

Measurements, Testing, and Quality of Software

Frontmatter

Applying of Smart Technologies: Evaluation of Effectiveness

Abstract
This paper is dedicated to various aspects and perspectives of applying the smart technologies in software solutions. Based on experience acquired during software development projects, the author proposes criteria to evaluate the effectiveness of enhancing of existing products with smart technologies. The evaluation of effectiveness can be used to support decision making on implementing the smart technologies in existing products or products in development.
Zane Bičevska

Reducing the Class Coupling of Legacy Code by a Metrics-Based Relocation of Class Members

Abstract
With the rapid growth of the complexity of software systems, the problem of integrating and maintaining legacy software is more relevant than ever. To overcome this problem, many methods for refactoring legacy code have already been proposed such as renaming classes or extracting interfaces. To perform a real modularization, methods have to be moved between classes. However, moving a single method is often not possible due to code dependencies.
In this article we present an approach to modularize legacy software by moving multiple related class members. It is shown how to identify groups of class members with similar concerns. We present two different code patterns that the related members and their dependent classes must match to allow a relocation of the related members. We also demonstrate how our pattern-based approach for automated modularization of legacy software can be applied to two open source projects.
Marvin Ferber, Sascha Hunold, Björn Krellner, Thomas Rauber, Thomas Reichel, Gudula Rünger

Dataflow Testing of Java Programs with DFC

Abstract
The objective of this paper is to present a tool supporting dataflow coverage testing of Java programs. Code based (”white box”) approach to testing can be divided into two main types: control flow coverage and data flow coverage methods. Dataflow testing was introduced for structural programming languages and later adopted for object languages. Among many tools supporting code based testing of object programs, only JaBUTi and DFC (Data Flow Coverage) support dataflow testing of Java programs. DFC is a tool implemented at the Institute of Computer Science Warsaw University of Technology as an Eclipse plug-in. DFC finds all definition-uses (def − u) pairs in tested unit and provides also the def − u graph DUG for methods. After the execution of tests the information which def − u pairs were covered is shown. An example of usage of DFC and the comparison with JaBUTi data flow testing tool of Java program is also presented.
Ilona Bluemke, Artur Rembiszewski

Object-Oriented Testing Capabilities and Performance Evaluation of the C# Mutation System

Abstract
The main purpose of mutation testing approach is to check a test suite quality in terms of the adequacy to killing programs with inserted programming faults. We present advances in the C# mutation testing system that supports object-oriented mutation operators. The system enhancements related to functional requirements (mutation operators, avoiding generation of invalid and partially of equivalent mutants) and non-functional ones (speed-up using a new parser and reflection, space reduction storing mutant updates). Mutation testing of six widely used open source programs is discussed. The quality of the tests supplied with these programs was experimentally determined. Performance measures were evaluated to assess system enhancements (2-4 faster mutants creation, 10-100 times disk space reduction, tradeoff of time overhead for storing mutants of different size in a local or remote repository).
Anna Derezińska, Anna Szustek

Bi-criteria Test Suite Reduction by Cluster Analysis of Execution Profiles

Abstract
The aim has been to minimize regression test suites while retaining fault detection capability of the test suite admissible. An appropriate minimized test suite should exercise different execution paths within a program. However, minimization of test suites may result in significant fault detection loss. To alleviate the loss, a new bi-criteria heuristic algorithm, using cluster analysis of test cases execution profiles is proposed in this paper. Cluster analysis of execution profiles categorizes test cases according to their similarity in terms of exercising a certain coverage criterion. Considering additional coverage criteria the proposed algorithm samples some test cases from each cluster. These additional criteria exercise execution paths, different from those covered by the main testing criteria. Experiments on the Siemens suite manifest the applicability of the proposed approach and present interesting insights into the use of cluster analysis to the bi-criteria test suite reduction.
Alireza Khalilian, Saeed Parsa

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise