Timetable: pdf

All downloads


Introduction to model-driven development of service-oriented applications in SENSORIA

by Stephen Gilmore

Download

Slides

Industrial infrastructures for SOA

by Péter Balogh of IBM Hungary

Includes a lab session.

Abstract

Early implementations of SOA showed that beyond the clear benefits the concept brings several challenges as well. Service oriented projects without the proper technologies and methodologies can cause more harm than good. Having this realized, software vendors started to work closer together with the academy and the practicing clients to resolve these issues. This collaboration resulted several more or less common standards, methodologies and best practices.

In this presentation I would like to give you a brief overview of the SOA landscape from a middleware vendor's perspective. We will walk through the steps of a typical SOA implementation and analyze the common problems and pitfalls that customers my face and the vendor's responses to these challenges. We are going review the role and architectures of service buses, process choreography tools and the related standards. Futhermore, I will also mention SOA governance and service management issues where we can still find a lot of practical questions to be answered.

The SENSORIA Development Environment

by Philip Mayer

Includes a lab session.

Abstract

This talk will present the Sensoria Development Environment (SDE), a tool integration platform based on Eclipse for the development of service-oriented software. The SDE enables easy access to software development tools, and offers the ability to orchestrate, or script, individual tool functionality into a larger development process. In the presentation, the main features of the SDE are shown in the context of a concrete case study, along with several tools integrated into the SDE which can be used for qualitative and quantitative analysis of service-oriented software.

Download

Slides and demo projects

Modeling with UML4SOA

by Nora Koch

Includes a lab session.

Abstract

The focus of this presentation is on the modeling aspects of the model-driven development approach for service-oriented software. Modeling should be possible in a language, which is both familiar to all stakeholders involved in the development, and thus be easy to use, but it also should contain the necessary level of detail for automatic generation of SOA systems. One of the most widespread languages in the software engineering domain for modeling tasks is the Unified Modeling Language (UML). The UML extension developed in the SENSORIA project – called UML4SOA profile – enables modeling of both the structural and the behavioral aspects of service-oriented systems introducing specific constructs for the description and orchestration of services, and the specification of non-functional aspects in service-oriented computing. The main modeling elements will be illustrated with examples of a concrete case study.

Download

Slides, home exercise

Behaviour Analysis of Service Compositions

by Howard Foster

Includes a lab session.

Abstract

In this presentation we provide a formal rigorous approach to analysing service compositions, through the perspectives of design, interactions, obligations and deployment. Service behaviour analysis includes the analysis of two important aspects of a service-oriented architecture style. Firstly, services formally exhibit their identity and permissible interactions through definitions in an interface description language and secondly, within the implementation of a service, the behaviour (state) of its interactions. The coordination of a service’s behaviour is formed from the basic operations of service invocation, replying to a service or receiving the reply from a service and this forms the basis for service analysis for its interaction behaviour. Standards elaborate the specification of how, what and when these interactions can occur.

The WS-Engineer Lab provides a fully interactive set of tutorials where students are assisted to analyse service compositions (highlighted in the presentation "Behaviour Analysis of Service Compositions") with certain properties for design, interactions, obligations and deployment. The WS-Engineer workbench is integrated in to the Eclipse IDE and students will be guided through its analysis features.

Download

Slides, home exercise

Model-based performance analysis

by Stephen Gilmore

Includes a lab session.

Abstract

In this presentation we focus on methods and tools for analysing non-functional properties of services such as performance and responsiveness. We model services using a simple process calculus and analyse these models using state-space generation, numerical solution, discrete simulation and continuous simulation. The presentation will discuss on practical applications of these techniques, illustrated by demonstrations of the supporting software tools. If time permits, we will discuss service-level agreements which form a contract between service provider and service consumer, specifying a quality of service which is to be delivered in a high percentage of cases.

Download

Introduction, case study, home exercise

Model transformations development

by Dániel Varró

Includes a lab session.

Abstract

Automated model transformations play an important role in modern model-driven system engineering in order to query, derive and manipulate large, industrial models. For instance, metamodeling-based development architectures (including MDA) highly rely on transformations within and between different models and languages.

The crucial role of model transformation (MT) languages and tools for the overall success of model-driven system development have been revealed in many surveys and papers during the recent years. There has also been some discussion on important problems of this field; for example, there are scenarios, where an interactive synchronization of models would be desirable, with the changes applied to one model immediately and incrementally reflected on the other model. Finally, approaches to model transformation and various solutions addressing the encountered challenges are continously being explored.

Metamodeling captures the design of user models and modeling languages uniformly, in a single modeling framework. A straightforward representation of such models and languages can rely on the use of directed, typed, and attributed graphs as the underlying semantic domain. In this sense, graph transformation has recently become popular as being a general, rule-based visual specification paradigm to formally capture (i) requirements, constraints and behavior of system models, and (ii) the operational semantics of modeling languages based on metamodeling techniques. Similar ideas are applied directly on formalizing transformations from UML and other modeling languages into various semantic domains (Petri nets, SOS rules, dataflow nets, etc.).

Model transformation concepts are exemplified in the lecture by the VIATRA2 framework.

Download

Lecture slides, lab slides, demo project. You should also consider installing the current beta version of Viatra2 (newer than the publicly available release); you can get the update site archive here (add to your Eclipse instance through Help / Software Updates / Add Site / Archive... ) and then install Viatra2 from it.

Reconfigurable service infrastructures

by Arun Mukhija and David Rosenblum
substitute lecturer: Howard Foster

Includes a lab session.

Download

Slides

Service deployment by model transformations

by Dániel Varró

Includes a lab session.

Download

Lecture slides, lab slides

Reverse engineering of services

by Reiko Heckel and Carlos Matos

Includes a lab session.

Abstract

With today's frequency of change in business requirements and evolution in technology, the need to evolve existing software systems keeps increasing. This results in demand for new methods to support this process, in particular where the transition towards modern architectures is concerned. A big driver of this demand is the advent of Service-Oriented Architectures (SOA).

These sessions will address a methodology for migrating legacy systems to SOA in a systematic manner, and the involved techniques. These include: source code pattern matching, reverse engineering, graph transformation and code refactoring. The lab session will focus in the creation (and execution) of code pattern matching rules for identifying service components in source code.

Download

Lecture slides (Reiko, Carlos), AST and XPath slides, lab slides

Project presentation: SENSORIA project summary

by Martin Wirsing

Download

Slides