2010/07/08

Announcing JOT Volume 9, Number 4 (July 2010)

Filed under: Issue TOC — Tags: — Oscar Nierstrasz @ 11:07

JOT Volume 9, no. 4 (July 2010)

Editorial: Introducing the New JOT

By: Oscar Nierstrasz

HTML

Article: A Dependence Representation for Coverage Testing of Object-Oriented Programs

By: ESF Najumudheen, Rajib Mall, Debasis Samanata

Abstract

We propose a dependence-based representation for object-oriented programs, named Call-based Object-Oriented System Dependence Graph (COSDG). Apart from structural features, COSDG captures important object-oriented features such as class, inheritance, polymorphism, and dynamic binding. Novel features of COSDG include details of method visibility in a derived class, and different types of method call edges to distinguish between various calling contexts — simple, inherited, and polymorphic. We also propose an algorithm for the construction of COSDG, and subsequently explain its working with an example. COSDG has been developed primarily to aid test coverage analysis. However, it can be used in a variety of other software engineering applications such as program slicing, software re-engineering, debugging, etc.

PDF

Article: A UML and Colored Petri Nets Integrated Modeling and Analysis Approach using Graph Transformation

By: Elhillali Kerkouche, Algeria Allaoua Chaoui, El Bay Bourennane, Ouassila Labbani

Abstract

Nowadays, UML is considered to be the standardized language for object-oriented modeling and analysis. However, UML cannot be used for automatic analyses and simulation. In this paper, we propose an approach for transforming UML statechart and collaboration diagrams to Colored Petri net models. This transformation aims to bridge the gap between informal notation (UML diagrams) and more formal notation (Colored Petri net models) for analysis purposes. It produces highly-structured, graphical, and rigorously-analyzable models that facilitate early detection of errors such as deadlock and livelock. The approach is based on graph transformations where the input and output of the transformation process are graphs. The meta-modeling tool AToM3 is used. A case study is presented to illustrate our approach.

PDF

Article: Extending Scala with Database Query Capability

By: Miguel Garcia, Anastasia Izmaylova, Sibylle Schupp

Abstract

The integration of database and programming languages is difficult due to the different data models and type systems prevalent in each field. We present a solution where the developer may express queries encompassing program and database data. The notation used for queries is based on comprehensions, a declarative style that does not impose any specific execution strategy. In our approach, the type safety of language-integrated queries is analyzed at compile-time, followed by a translation that optimizes for database evaluation. We show the translation total and semantics preserving, and introduce a language-independent classification. According to this classification, our approach compares favorably with Microsoft’s LINQ, today’s best known representative. We provide an implementation in terms of Scala compiler plugins, accepting two notations for queries: LINQ and the native Scala syntax for comprehensions. The prototype relies on Ferry, a query language that already supports comprehensions yet targets SQL:1999. The reported techniques pave the way for further progress in bridging the programming and the database worlds.

PDF

Article: REquirements, Aspects and Software Quality: the REASQ model

By: Isi Castillo, Francisca Losavio, Alfredo Matteo, Jørgen Bøegh

Abstract

Object-oriented analysis and design have been more concerned with system functionality, neglecting non functional aspects; the result is code entanglement, difficult to maintain, contradicting main principles of object orientation. Aspect Oriented Software Development (AOSD) proposes the early specification of non functional requirements. However, a standard and homogenous vision of the AOSD terminology is still missing. The goal of this work is to integrate AOSD concepts, classic requirements engineering notions, and the new standard ISO/IEC 25030 on software quality requirements.The main result of this study is the REASQ (REquirements, Aspects and Software Quality) conceptual model, expressed in UML. All the modeling concepts are formalized into three related ontologies, representing the ambits of aspect-orientation, software quality and requirements engineering. The ontologies can be used as an umbrella to specify quality requirements in aspect-oriented engineering processes.

PDF

Article: Using a Situational Method Engineering Approach to Identify Reusable Method Fragments from the Secure TROPOS Methodology

By: Graham Low, Haris Mouratidis, Brian Henderson-Sellers

Abstract

Situational method engineering (SME) has as a focus a repository of method fragments, gleaned from extant methodologies and best practice. Using one such example, the OPF (OPEN Process Framework) repository, we identify deficiencies in the current SME support for security-related issues in the context of agent-oriented software engineering. Specifically, theoretical proposals for the development of reusable security-related method fragments from the agent-oriented methodology Secure Tropos are discussed. Since the OPF repository has already been enhanced by fragments from Tropos and other non-security-focussed agent-oriented software development methodologies, the only method fragments from Secure Tropos not already contained in this repository are those that are specifically security-related. These are identified, clearly defined and recommended for inclusion in the current OPF repository of method fragments.

PDF

Review: Succeeding With Agile: Software Development Using Scrum, by Mike Cohn

By: Charles Ashbacher

HTML

Powered by WordPress