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

2010/06/30

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

Filed under: Book Review — Tags: , — Charles Ashbacher @ 09:55

Review ofBook cover -- Succeeding with Agile

Succeeding With Agile: Software Development Using Scrum, by Mike Cohn, Addison-Wesley, Boston, Massachusetts, 2010. 475 pp., $49.99(paper) ISBN 978-0-321-57936-2.

Reviewed by Charles Ashbacher

One of the easiest things to do in print is to praise a strategy or set of tactics used to perform difficult tasks. When all you are doing is simply expounding the stated virtues of a methodology, you are somewhat free to use hype, anecdotal information and instance proofs of success. Implementation details and explanations of logical and frequent difficulties encountered by practitioners of the methodology are ignored or minimized.

That is not the case in this book, Cohn describes the agile software development process and he provides extensive examples of the use of the Scrum methodology and the difficulties commonly encountered. It is easy to understand the hesitation that development teams will have when considering the adoption of Scrum. The development of large software projects is the most complex task that humans have ever undertaken; even a single wrong character out of millions can break a program. The appearance of the relaxation of controls of the process can appear counterintuitive, as it seems that would allow for additional errors to slip through the weakened defenses.

Cohn goes to great lengths to demonstrate how Scrum will strengthen those defenses by reducing the likelihood that errors will survive for very long. Splitting the process into short spurts means that all minds can be on deck and their focus will be on a small set of parameters. This is a way to make minds smarter without actually having to be smarter. Cohn also joins the collective clamor against the extensive use of overtime as a way to compress the time to completion. Evidence going back decades is completely convincing that when it is brainwork, overtime can only increase productivity for a short time. Intellectual fatigue rapidly sets in and after approximately three weeks, the productivity level begins to drop down to less that what is achieved in a standard forty-hour week.

Charts, graphs and tables are used to support the arguments made for the adoption and intelligent use of Scrum. Convincing a team to adopt Scrum is essentially using facts and demonstrated rewards to overcome emotional barriers and the natural unwillingness to execute change. This cannot be done in any way other than by starting with the reality of current problems, giving multiple demonstrations that it can work and then detailed explanations of how to overcome common obstacles that are encountered. Cohn does all of this very well; this book is an excellent point to begin the study and adoption of Scrum.

2010/06/07

Welcome to the JOT Blog

Filed under: Announcement — Oscar Nierstrasz @ 12:11

The Journal of Object Technology is a peer-reviewed, open-access journal dedicated to the timely publication of previously unpublished research articles, surveys, tutorials, and technical notes on all aspects of object technology. This blog complements the main web site with editorials, reviews, technology updates, and other news items related to object technology.

« Newer Posts

Powered by WordPress