Electronic Communications of the EASST (European Association of Software Science and Technology)
Not a member yet
887 research outputs found
Sort by
Towards a Flexible and Evolvable Framework for Self-Adaptation
The growing complexity, scale and heterogeneity of software systems boosted a great deal of research in the field of self-management and self-adaptation. In general, current solutions are built as fixed frameworks, with rigid methodology, models and tools that are best suited for their target application domain but can not be easily applied in different domains. Furthermore, they lack the flexibility to let the developer make decisions on how the adaptation engine should work and do not consider the engine itself as a system subject to adaptation that can dynamically evolve.
In this work-in-progress paper we discuss the requirements of a more flexible and evolvable framework for self-adaptation.
We propose a conceptual model for realizing this framework, showing its benefits with an application scenario
Visual Modeling of Controlled EMF Model Transformation using HENSHIN
Abstract: The tool HENSHIN is an Eclipse plug-in supporting visual modeling and execution of rule-based EMF model transformations. This paper describes the recent extensions of HENSHIN by control structures for controlled rule applications. The control structures comprise well-known imperative structures like sequences and conditions on rule applications. Moreover, application conditions for individual rules may now be arbitrarily nested and combined by logical connectors. We present the extension of the visual EMF model transformation environment HENSHIN to edit and perform controlled EMF model transformations along an example modeling a reactive Web service-based application (personal mobility manager)
Using an Alternative Trace for QVT
Model transformations are the core of the MDE methodology. They can be expressed using various languages. One of them is QVT, the OMG standard for transformation languages. QVT also provides a traceability mechanism. In general, a trace can be used for many purposes. In this paper, we show the limitations of the trace provided by QVT through different scenarios. Furthermore, based on the QVT language elements, we highlight model transformation concepts that would require consideration. We also propose an alternative trace that takes into account these concepts. It allows us to gather information not provided by the QVT trace and thus fully performs the scenarios. The proposed trace is language independent and can be used without perturbing the QVT transformation execution or the trace generation/exploitation by the engine
Volatile Sets: Event-driven Collections for Mobile Ad-Hoc Applications
In mobile peer-to-peer applications, a common pattern is to maintain a collection of remotely-hosted objects. Traditional approaches require programmers to manually track the connectivity state of these remote objects and add them or remove them from local collections on a per-object basis. Because this happens concurrently with the rest of the application code, it hinders the composability of such collections and leads to subtle and hard to find bugs. In this paper, we propose an abstraction called volatile sets that allows the contents of the set to be specified intensionally. Additionally, volatile sets offer an event-driven API that signals when remote objects appear, disappear or change. Finally, volatile sets can be easily and efficiently composed through traditional set operations. We show how volatile sets ease the development of a collaborative peer-to-peer drawing application
Teaching Object-Oriented Modelling using Concept Maps
As one of the most important tasks in object-oriented analysis and design (OOAD) is the abstraction of the problem domain into specific concepts or objects, information technology (IT) students need appropriate skills of abstraction in order to identify the essential concepts and relationships within a problem domain. However students in higher education generally find difficulty performing abstractions of real-world problems within the context of OOAD.
Concept mapping is a popular tool used in education for facilitating learning, comprehension and the development of knowledge structures. We have successfully adopted concept maps as stepping-stones to assist students in constructing class and sequence diagrams. In this paper, we present a framework for teaching object-oriented (OO) modelling using concept maps. This framework – comprising four teaching modules – could be integrated into existing OOAD courses at the undergraduate or postgraduate level, and OOAD workshops to help software engineering educators resolve some of the difficulties they face in trying to teach OOAD. We also report results of an evaluative study on the effectiveness of integrating concept mapping techniques into an introductory OOAD course
Distributed Port Automata
Dynamic reconfigurations are a powerful approach for the adaption of component-based or service-oriented software systems at runtime. Important issues in this area are the problems of state transfer and state consistency, i.e., to determine the system state after a reconfiguration and to ensure that it is valid. To deal with these problems, we introduce distributed port automata in this paper. Distributed port automata combine structural and behavioral system properties and therefore allow to reason about dynamic reconfigurations. In our approach, we use an automata-based model for describing the behavior of the primitive building blocks in a system, and a graph-based model for describing its structure in terms of a network. We demonstrate how to derive the system semantics of a distributed port automaton and show that it is compositional. We consider an encoding of
the coordination language Reo and show a new result on compositionality of flattening for distributed graphs
A Visual Notation for Declarative Behaviour Specification
Logical programming has many merits that should appeal to modellers. It enables declarative specifications that are free from implementation details and even (mostly) abstracts away from control flow specification. However, the textual syntax of, for example PROLOG, most likely represents a barrier to the adoption of such languages in the modelling community. The visual notation presented in this paper aims to facilitate the understanding of behaviour specifications based on logic programming. I anticipate that the dataflow-like nature of the resulting diagrams will appeal to modellers. I believe the visual notation to be an improvement over the traditional textual syntax for the purpose of specifying PROLOG programs as such, but the ultimate hope is to have found a vehicle to make declarative logic programming a commonplace activity in multi-paradigm modelling
Abstract Models and Cognitive Mismatch in Formal Verification
We present ongoing work to accommodate fine-grained analysis of interactive systems via model checking. We argue that this can be achieved by combining a basic abstract model of user behaviour and a separate constraint on the acceptable degree of cognitive mismatch. To explain the problem and illustrate our approach, we present a simple scenario related to number entry in infusion pumps
Visualization of Traceability Models with Domain-specific Layouting
Traceability models are often used to describe the correspondence between source and target models of model transformations. Although the visual representation of such models are important for transformation development and application, mostly ad-hoc solutions are present in industrial environments. In this paper we present a user interface component for visualizing traceability models inside transformation frameworks. As generic graph visualization methods fail to emphasize the underlying logical structure of our model, we used domain-specific layouts by customizing generic graph layout algorithms with data from the metamodels used during the transformation. This approach was evaluated, among others, with the traceability models generated by a BPEL verification transformation, which serves as our running example