WICSA 2011 Birds-of-a-Feather Sessions

A BoF is a short, informal forum for discussions related to any aspect of software architecture. Attendees who want to get together with others who share their interests, goals, technologies, environments, or backgrounds are invited to organise and attend a BoF session.

BoFs can be proposed and advertised before the conference or convened at the conference when the need for one is recognised. BoFs can be used to continue a discussion that began in another session, for a group to get together to pursue a common interest or just to discuss a range of opinions around a topic.

Each BoF has a wiki page (see links in the descriptions below).

Currently, the following BoFs are scheduled. Others may be added before or during the conference.

BABT: Architecture-based Testing: industrial needs and research opportunities

Henry Muccini, University of L'Aquila
Eoin Woods, Artechra
John D. McGregor, Clemson University

When: Monday, 20 June, 18:00–19:00

Wiki: BABT

Software architecture and software testing have been already considered together, but there is much to be gained from cooperation between them. The architecture of a system can have a very direct impact on its testability and the testing can provide valuable feedback to the architectural design process, as well as having a big impact on the quality of the delivered system.

In an attempt to progress the cooperation between these fields, a joint effort between the Software Engineering Institute, Pittsburgh (US), the University of L'Aquila (Italy), and the ISTI – CNR Pisa (Italy), has identified a set of 29 important "model problems" in architecture-based testing. These problems have been described, prioritized, and discussed with practitioners and researchers. These model testing problems are all problems that, if solved, would result in a significant improvement over current testing practice. In the future they will serve as a research agenda for an evolving collaboration of researchers.

This BoF session will provide attendees with the opportunity to learn about the recent results of this joint effort and share their opinions and experiences with architecture-based testing.

BTPI: Tactics and Patterns in Information Security

Rick Kazman, University of Hawaii/Software Engineering Institute
Jungwoo Ryoo, Penn State University

When: Tuesday, 21 June, 18:00–19:00

Wiki: BTPI

We define tactic as an atomic design primitive intended for a software architect to reason about architectural design solutions that directly affect a single quality attribute such as security, without considering other quality attributes. Our main hypothesis is that tactics can be used as building blocks to compose patterns.

Currently, most practitioners skip the tactics stage and jump directly into designing with patterns, which makes the design process more challenging and often overwhelming. The choices of tactics and patterns are interwoven into the architectural phase.

As of this writing, the distinction between tactics and patterns is not clearly distinguished and disseminated in the research and practice literature. In fact, many tactics appear to be misidentified as patterns simply due to the lack of awareness of the concept of a tactic. One of our research goals is to identify the tactics misclassified as patterns and to reclassify them as tactics.

During this BoF, we plan to exchange ideas on the core premises of a tactics extraction and validation methodology. Participants will be presented with some security patterns from the community. We will brainstorm together which of these are patterns and which are true design primitives and hence should be reclassified as tactics.

BAAL: Are Architects Logical in Decision Making?

Antony Tang, VU University Amsterdam
Patricia Lago, VU University Amsterdam
Philippe Kruchten, University of British Columbia

When:Tuesday, 21 June, 18:00–19:00

Wiki: BAAL

The software engineering community has recognized that decision making is a key element in designing quality software. Methods, models and processes have been proposed to improve decision making by capturing design rationale. However, we make basic assumptions on the natural ability of architects to make correct decisions, from experience or talents. In industry, we often observe that wrong decisions are made in IT projects, even with experienced architects; or when experienced architects do not agree on what the right decision should be. This is an indication that architects may have different bases for decision making, on top of common known bases such as requirements, quality attributes and so on. The differences probably originate from how we formulate our premises and carry out our arguments. So decision making can be hampered when the judgments are biased, the reasoning is incorrect or wrong assumptions are made.

Although there is no hard evidence to demonstrate that systematic biases occurs in software design, nor do we have data to show whether this issue is indeed serious in the software industry, there are enough examples to demonstrate that biases do exist and that they may be more common than we think. We propose that a systematic logical argument in design reasoning could help to improve general design quality.

This BoF is designed to challenge and explore this idea between experienced architects and researchers. We aim at having meaningful exchanges amongst the participants about:

  • If and how biased judgments bring about wrong design decisions?
  • Are there general design fallacies and what might lead to them?
  • How can software architects avoid biases, improve design reasoning, and make good design judgments?