The schedule of Tutorials can be found on the Program page.
Architecture-centric Software Engineering |
|
Authors |
Jan Bosch, University of Groningen |
Abstract + Keywords |
Many software organizations are in the process of moving from project-centric to architecture-centric engineering of software. The two typical reasons for this move are (1) the architecture allows for a clear break-down in parts whereas a project-centric approach easily leads to a monolithic system and (2) the organization is interested in exploiting the commonalities between its products or systems. This tutorial addresses this development by providing an overview and in depth treatment of the issues around architecture-centric engineering of software. Topics include software architecture design in the presence of existing components and infrastructure (top-down versus bottom-up), architecture evaluation and assessment, software artefact variability management, software product lines and the role of the software architect. These topics are, in addition to the technical perspective, discussed from process and organizational viewpoints. The topics are extensively illustrated by examples and experiences from many industrial cases. |
Attendee Background |
It is assumed that the participant has some experience with industrial software development and has a general awareness of the increased importance of software variability. |
Tutorial Objectives |
This tutorial provides an overview and in depth treatment of the issues around architecture-centric engineering of software. Topics include software architecture design in the presence of existing components and infrastructure (top-down versus bottom-up), architecture evaluation and assessment, software artefact variability management, software product lines and the role of the software architect. |
Software Architectures for Safe and Secure Systems |
|
Authors |
Jan Jürjens, TU Munich |
Abstract |
The high quality development of critical systems (be it dependable, security- critical, real-time, or performance-critical systems) is difficult. Many critical systems are developed, deployed, and used that do not satisfy their criticality requirements, sometimes with spectacular failures. The content is identical to ECOOP tutorial TS2 (Monday). |
Attendee Background |
The tutorial addresses practitioners (i.e. system and software developers, architects, and technical managers) and researchers interested in critical systems development using UML (in particular for dependable, security-critical, or real-time systems). Basic knowledge of object-oriented software and UML is assumed. No specific knowledge of the various application domains is assumed. |
Tutorial Objectives |
By the end of the tutorial, the participants will have knowledge on how to use the UML for a methodological approach to critical systems development. They will be able to use this approach when developing or analyzing critical systems, by making use of existing solutions and of sound methods of critical systems development. |
Software Variability Management |
|
Authors |
Jan Bosch, University of Groningen |
Abstract |
In a variety of approaches to software development, software artifacts are used in multiple contexts or for various purposes. The differences lead to so-called variation points in the software artifact. During recent years, the amount of variability supported by a software artifact is growing considerably and its management is developing as a main challenge in the development, usage and evolution of software artifacts. Examples of approaches where the management of variability is evolving as a challenge include software product families, component-based software development, object-oriented frameworks and configurable software products such as enterprise resource planning systems. |
Attendee Background |
It is assumed that the participant has some experience with industrial software development and has a general awareness of the increased importance of software variability. |
Tutorial Objectives |
The tutorial presents insights gained, techniques developed and lessons learned in the European IST project ConIPF (Configuration in Industrial Product Families) and in other research performed by the software engineering research group at the University of Groningen. The tutorial first establishes the importance of software variability management, defines the concept of variability, discusses notational and visualization aspects, assessment of software artifacts for variability, design of architectures and components for variability, usage of variation points while configuring instantiated software artefacts and, finally, some advanced issues including variation versus composition. |
Software Architecture Documentation with the Unified Modeling Language (UML) |
|
Authors |
Paul Clements, Robert Nord , Software Engineering Institute, Judith Stafford, Tufts University |
Abstract |
Software architecture has become a widely-accepted conceptual basis for the development of non-trivial software in all application areas and by organizations of all sizes. Effectively documenting an architecture is as important as crafting it, because if the architecture is not understood, or worse, misunderstood, it cannot meet its goals as the unifying vision for software development. Development-based architecture strategies, such as Rational's Unified Process, stop short of prescribing documentation standards. The Unified Modeling Language (UML) provides a notational mechanism for describing certain architectural elements and relations, but comes up short when it comes to representing some standard architectural constructs. |
Attendee Background |
Participants should have some knowledge of the Unified Modeling Language and experience with descriptions of large software systems. |
Tutorial Objectives |
The primary aim of this tutorial is to teach developers what constitutes good documentation of a software architecture, why it is worth the effort to create and maintain a documentation package, and how to write it down. We will provide practical guidance on how to capture an architecture that is independent of a particular language or notation. However, in order to make the presentation concrete and accessible to a wide audience, examples will be presented in UML, where possible. Other widely used notations will presented when UML needs to be supplemented. A secondary aim is to teach other stakeholders why they should care about architectural documentation and how they can use it to make their life easier, increase productivity, and decrease overall system development and maintenance costs. |
Implementing Domain specific modelling languages for Product Families | |
Authors |
Juha-Pekka Tolvanen, MetaCase |
Abstract |
Domain-Specific Modeling (DSM) provides a viable solution for improving development productivity by raising the level of abstraction beyond coding. With DSM, the models are made up of elements representing concepts that are part of the domain world, not the code world (like e.g. in UML). These languages follow domain abstractions and semantics, allowing developers to perceive themselves as working directly with domain concepts. In a fair number of cases - most often product family development - final products can be automatically generated from these high-level specifications. |
Attendee Background |
Attendees should have significant software development experience, not necessarily OO, must have used at least one methodology and design/generation tool. |
Tutorial Objectives |
The primary aim is to teach the principles of Domain-Specific Modeling. |
tutorial chair: Michael Stal