[Jot-newsletter] JOT Volume 10 is closed

Journal of Object Technology editor at jot.fm
Wed Dec 28 13:26:56 CET 2011

Subject: [JOT] JOT Subscriber Newsletter Volume 10, (2011)


For Volume 10, (2011)

I. Letter from the JOT Editor

Dear Readers,

The 2011 Volume of JOT is now closed.  Please note that we have several new contributions that have made it in just before the end of the year.

I wish you all the best for 2012.

Oscar Nierstrasz
Editor-in-Chief, Journal of Object Technology
editor at jot.fm -- http://www.jot.fm

II. Content


JOT needs you!
By Oscar Nierstrasz

JOT has moved to a new publication model in which there is no pipeline of accepted papers to be published.  Instead, accepted papers will appear as soon as possible after the final camera-ready copy is provided, whereas in the past, accepted papers sometimes had to wait up to a year to appear on-line.  The old pipeline of accepted papers and regularly scheduled issues of JOT expired with the November 2010 issue. Although the new system promises faster turnaround, the downside is that issues will no longer appear regularly as clockwork.
The current volume of JOT is now open. Articles will appear as they become available.
Although the new JOT promises faster publication for accepted papers, the evaluation process is tougher, while being more transparent (see the information for authors page).


Special Section on Formal Techniques for Java-like Programs.
By Frank Piessens, Bart Jacobs, Gary T. Leavens

Formal Techniques for Java-like Programs (FTfJP), with 12 completed successful  events, and a 13th event on the horizon, is one of the most prestigious and long-standing ECOOP workshop series.
The 12th edition of the workshop was organized on June 22, 2010 in Maribor, Slovenia. Twelve papers were submitted in response to the Call For Papers, and nine of them were accepted for presentation at the workshop. With an average attendance of about 30 participants — and a peak attendance of over 50 during the invited talk (thanks to Shriram Krishnamurthi) — FTfJP was one of the most popular workshops at ECOOP 2010.



Strong exception-safety for checked and unchecked exceptions.
By Giovanni Lagorio, Marco Servetto

“Exception-safety strong guarantee:
The operation has either completed successfully or thrown an exception,
leaving the program state exactly as it was before the operation started.”
— David Abrahams.
The above definition of strong exception-safety comes from the world of C++, but
it can be applied to any language.
Because the exception-safety strong guarantee plays a central role in
easing the development of robust software, we have designed a type-system able to capture its
essence. The idea is that the state of the reachable objects at the beginning of a
catch block is the same as the beginning of the corresponding try block.
We present a lightweight type system for Java-like languages that, by introducing
a simple modifier to types, enforces that programs satisfy the strong guarantee in the presence
of checked and unchecked exceptions.


Modular Verification of Linked Lists with Views via Separation Logic.
By Jonas Braband Jensen, Lars Birkedal, Peter Sestoft

We present a separation logic specification and verification of linked lists with views, a data structure from the C5 collection library for .NET. A view is a generalization of the well-known concept of an iterator. Linked lists with views form an interesting case study for verification since they allow mutation through multiple, possibly overlapping, views of the same underlying list. For modularity, we build on a fragment of higher-order separation logic and use abstract predicates to give a specification with respect to which clients can be proved correct. We introduce a novel mathematical model of lists with views, and formulate succinct modular abstract specifications of the operations on the data structure. To show that the concrete implementation realizes the specification, we use fractional permissions in a novel way to capture the sharing of data between views and their underlying list.
We conclude by suggesting directions for future research that arose from conducting this case study.


Ontological Behavior Modeling.
By Conrad Bock, James Odell

This article gives an example of improving the effectiveness of behavior modeling languages using ontological techniques. The techniques are applied to behaviors in the Unified Modeling Language (UML), using the logical meanings for classification introduced in UML 2. The article suggests unifying UML's three kinds of behavior languages around the abstract syntax and semantics of composite structure, UML's model for capturing interconnection of parts of classes. This significantly simplifies the UML metamodel, provides a formal semantics to clarify ambiguities in the current informal semantics, and increases the expressiveness of UML behaviors.


Using Design Pattern Clues to Improve the Precision of Design Pattern Detection Tools.
By Francesca Arcelli Fontana, Marco Zanoni, Stefano Maggioni

Design pattern detection, or rather the detection of structures that match design patterns, is useful for reverse engineering, program comprehension and for design recovery as well as for re-documenting object-oriented systems. Finding design patterns inside the code gives hints to software engineers about the methodologies adopted and the problems found during its design phases, and helps the engineers to evolve and maintain the system. In this paper, we present the results provided by four different design pattern detection tools on the analysis of JHotDraw 6.0b1, a well-known Java GUI framework. We show that the tools generally provide different results, even while evaluating the same system. From this observation, we introduce an approach based on micro structures detection that aims to discard the false positives from the detected results, hence improving the precision of the analyzed tools results. For this purpose we exploit a set of micro structures called design pattern clues, which give useful hints for the detection of design patterns.



ICMT 2010 Special Section.
By Laurence Tratt, Martin Gogolla

This JOT special section presents 4 carefully selected and extended papers from the third edition of the International Conference on Model Transformations (ICMT), held in Málaga in June / July 2010.



A Rewriting Logic Semantics for ATL.
By Javier Troya, Antonio Vallecillo

As the complexity of model transformation (MT) grows, the need to rely on
formal semantics of MT languages becomes a critical issue. Formal semantics
provide precise specifications of the expected behavior of transformations,
allowing users to understand them and to use them properly, and MT tool
builders to develop correct MT engines, compilers, etc. In addition, formal
semantics allow modelers to reason about the MTs and to prove their
correctness, something specially important in case of large and complex MTs
(with, e.g., hundreds or thousands of rules) for which manual debugging is no
longer possible. In this paper we give a formal semantics of the ATL 3.0 model
transformation language using rewriting logic and Maude, which allows
addressing these issues. Such formalization provides additional benefits, such
as enabling the simulation of the specifications or giving access to the Maude
toolkit to reason about them.


From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case.
By Zinovy Diskin, Yingfei Xiong, Krzysztof Czarnecki

Existing bidirectional model transformation (BX) languages are mainly
state-based: model alignment is hidden inside update propagating
procedures, and model deltas are implicit. Weaving alignment with
update propagation complicates the latter and makes it less predictable
and less manageable.  We propose to separate concerns and consider
two distinct operations: delta discovery (alignment) and delta
propagation. This architecture has several technological advantages, but
requires a corresponding theoretical support.
The goal of the paper is to develop a delta-based algebraic
framework for the case of <i>asymmetric</i> BX, where one model is
a view of the other. In this framework, model spaces are categories
(nodes are models and arrows are composable deltas), and delta
propagation procedures are mappings between them.  We call the
corresponding algebras <i>delta lenses</i>, prove their several basic
properties,  and explore their relationships with ordinary lenses --
well-known algebraic models for state-based asymmetric BX.


Safe Composition of Transformations.
By Florian Heidenreich, Jan Kopcsek, Uwe A\ssmann

Model transformations are at the heart of Model-Driven Software Development (MDSD) and, once composed in 
transformation chains to MDSD processes, allow for the development of 
complex systems and their automated derivation. While there already exist 
various approaches to specify and execute such MDSD processes, only 
few of them draw focus on ensuring the validity of the transformation chains, 
and thus, safe composition of transformations. In this paper, we present the 
TraCo composition system, which overcomes these limitations and evaluate and 
discuss the approach based on two case studies.


From UML 2 Sequence Diagrams to State Machines by Graph Transformation.
By Roy Gr\/{o}nmo, Birger M\/{o}ller-Pedersen

Algebraic graph transformation has been promoted by several authors as a means to specify model transformations. This paper explores how we can specify graph transformation-based rules for a classical problem of transforming from sequence diagrams to state machines. The specification of the transformation rules is based on the concrete syntax of sequence diagrams and state machines. We introduce tailored transformation support for sequence diagrams and a novel graphical operator to match and transform combined fragments.



GPCE 2009 Special Section.
By Bernd Fischer

This special section presents two extended papers from the Eighth International Conference on Generative Programming and Component Engineering (GPCE'09), which was held October 4-5, 2009, in Denver, Colorado. GPCE has become the premier venue for research in generative and component-oriented programming. GPCE'09 attracted 62 submissions, of which 19 were accepted, a 31% acceptance rate. 
For this special section, we invited the authors of the highest ranked papers to submit revised and extended versions of their conference contributions to this JOT special section, and received three submissions. After an additional round of reviewing, two of them were accepted, and we are proud to publish them here.
We would like to thank the authors and reviewers, of both the conference and this special section, for their efforts, and hope you enjoy the results.



Class Transformations for Transparent Distribution of Java Applications.
By Phil McGachey, Antony L. Hosking, J. Eliot B. Moss

The indirection of object accesses is a common theme for target domains as
diverse as transparent distribution, persistence, and program
instrumentation. Virtualizing accesses to fields and methods (by redirecting
calls through accessor and indirection methods) allows interposition of
arbitrary code, extending the functionality of an application beyond that
intended by the original developer.
We present class modifications performed by our RuggedJ transparent
distribution platform for standard Java virtual machines. RuggedJ
abstracts over the location of objects by implementing a single object model
for local and remote objects. However the implementation of this model is
complicated by the presence of native and system code; classes loaded by
Java's bootstrap class loader can be rewritten only in a limited manner, and
so cannot be modified to conform to RuggedJ's complex object model. We
observe that system code comprises the majority of a given Java application:
an average of 78% in the applications we study. We consider the constraints
imposed upon pervasive class transformation within Java, and present a
framework for systematically rewriting arbitrary applications. Our system
accommodates all system classes, allowing both user and system classes alike
to be referenced using a single object model.


Testing with Axioms in C++ 2011.
By Anya Helene Bagge, Valentin David, Magne Haveraaen

Unit testing is an important part of modern software development, where
individual code units are tested in isolation.  Such tests are typically
case-based, checking a likely error scenario or an error that has
previously been identified and fixed.  Coming up with good test cases is
challenging, particularly when testing generic code, and focusing on
individual tests can distract from creating tests that cover the full
Concepts provide a generic way of describing code interfaces for
generic code. Together with axioms, program behaviour can be
specified algebraically in a formal or semi-formal way.
In this paper we show how concepts and axioms can be expressed in
standard C++ 2011, and explore how to generate generic unit tests, by
treating the axioms as code to be evaluated with test data. We also show
a generic way to generate test data for axiom-based testing in C++ 2011.



On JOT Special Sections.
By Antonio Vallecillo

It has been almost six months since the JOT Editor-in-Chief, Oscar Nierstrasz, asked me to take care of the JOT Special Sections. It was, I remember, in Zurich, while attending yet another interesting TOOLS conference, and one of the first questions that came to my mind was: Why should anybody want to organize a special section for JOT? Trying to answer this question motivated me to look for the real raisons d’être for JOT sections, to find out their distinguishing features, and to identify the major advantages they could bring to the community working on Object Technologies. As I soon realized, two of the major advantages of JOT, when compared to other publishing venues, are its timeliness and quality. And they are both essential properties of Special Sections, as we shall see below.



TOOLS Europe 2011 --- Day 1.
By Alexandre Bergel

My name is Alexandre Bergel and I'm an assistant professor at the University of Chile; for JOT, I'll be blogging about TOOLS EUROPE 2011. This is the fourth TOOLS EUROPE I've attended. This 49th edition took place in the lovely city of Zurich, in the German-speaking part of Switzerland. This blog entry relates the conference as I lived it.


TOOLS Europe 2011 --- Day 2.
By Alexandre Bergel

My name is Alexandre Bergel and this blog entry is about the second day of the TOOLS EUROPE 2011 conference.
The day is opened by Judith Bishop, the program co-chair. Before introducing the day’s keynote speaker, Frank Tip, Judith briefly introduced the new Microsoft Academic Search facility; it allows you to search for papers, co-author, impact factor (http://academic.research.microsoft.com). I was surprised at how intuitive it is. Beside the classical g & h indexes and graph of coauthors, it has some exotic features, for example, who cites you the most. It also produces an interactive graph of citations, which is at the very least entertaining.



Slicing Techniques for UML Models.
By Kevin Lano, Shekoufeh Kolahdouz-Rahimi

This paper defines techniques for the slicing of UML models, that is, for the restriction of models to those parts which specify the properties and behaviour of a subset of the elements within them. The purpose of this restriction is to produce a smaller model which permits more effective analysis and comprehension than the complete model, and also to form a step in factoring of a model. We consider class diagrams, single state machines, and communicating sets of state machines


CSOM/PL --- A Virtual Machine Product Line.
By Michael Haupt, Stefan Marr, Robert Hirschfeld

CSOM/PL is a software product line (SPL) derived from applying multi-dimensional separation of concerns (MDSOC) techniques to the domain of high-level language virtual machine (VM) implementations. For CSOM/PL, we modularised CSOM, a Smalltalk VM implemented in C, using VMADL (virtual machine architecture description language). Several features of the original CSOM were encapsulated in VMADL modules and composed in various combinations. In an evaluation of our approach, we show that applying MDSOC and SPL principles to a domain as complex as that of VMs is not only feasible but beneficial, as it improves understandability, maintainability, and configurability of VM implementations without harming performance.


SPath: an extensible query-language for Scala.
By Nicholas Nguyen

Scala combines the functional and object-oriented paradigms and is good at supporting embedded domain-specific languages. Scala presents therefore an opportunity for designing a new kind of query-language that belongs to the family of XPath-like query-languages, for querying semi-structured data that is stored within internal memory. In the terminology of XPath, a relation between the nodes of a tree, is called an axis and their purpose is to provide a way of navigating between the nodes within a tree. An XPath query is then, approximately, a path of axis-steps, resembling a directory path in a file-system. XPath has 13  axes. However, it is natural to extend the notion of axis to any relation on tree-nodes, by allowing queries with user-defined axes. The effect of the approach that has been taken in this article is an alternative syntax and semantics for user-defined axes, compared with XPath 2.0.
It also turns out that separating the query-language from specific types of trees, enables reuse with any tree data-structure that conforms to the composite design-pattern.
SPath is an XPath-like query-language based on Linear Temporal Logic that has been implemented as a domain-specific language, embedded into Scala.


III. About JOT

The Journal of Object Technology (JOT) 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.

JOT is available online at http://www.jot.fm and is free to both readers and authors, with no registration required.

The JOT newsletter is sent with the publication of selected JOT issues and is available by subscription to the JOT reader and author community. The subscription form may be found on the JOT Web site. Subscribing requires no personal information or fee, only your email address. We use such addresses for the sole purpose of distributing the JOT newsletter and do not communicate them to third parties.
You are receiving this newsletter because you have subscribed to
	jot-newsletter at jot.fm
To unsubscribe, please use the mailman interface:

More information about the jot-newsletter mailing list