session 15 modeling traceability of concerns in architectural views

17
Session 15 Modeling Traceability of Concerns in Architectural Views Mark Stobbe October 29, 2007 1

Upload: hayes-dudley

Post on 31-Dec-2015

29 views

Category:

Documents


0 download

DESCRIPTION

Session 15 Modeling Traceability of Concerns in Architectural Views. Mark Stobbe October 29, 2007. Outline. Traceability What? / Why? / How? Introducing aspects ‘Early’ aspects vs. ‘Late’ aspects Traceability of aspects Comments on the paper Relation to AOP Comparison. Traceability. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Session 15 Modeling Traceability of Concerns in Architectural Views

Session 15Modeling Traceability of Concerns in

Architectural Views

Mark StobbeOctober 29, 2007

1

Page 2: Session 15 Modeling Traceability of Concerns in Architectural Views

Outline

• Traceability– What? / Why? / How?

• Introducing aspects– ‘Early’ aspects vs. ‘Late’ aspects– Traceability of aspects

• Comments on the paper– Relation to AOP– Comparison

2

Page 3: Session 15 Modeling Traceability of Concerns in Architectural Views

Traceability

What?• Document!• Forward and backward

• Matrices• Keywords• Information Retrieval

methods• Scenario based• Event based• Process centered• Design Pattern based

3

• Validation• Change impact• Design decisions

Why? How?

Page 4: Session 15 Modeling Traceability of Concerns in Architectural Views

Answering question

4

AnswerArtifact (also artefact, in Dutch bijproduct): an artificial product or effect observed in a natural system, especially one introduced by the technology used in scientific investigation or by experimental error.

In the paper, use cases, class diagrams, test suites, design documents, etc. Pretty much anything that you want to trace and can be linked.

QuestionWhat is meant by "artifacts" in section 3.1? (Martijn)

Page 5: Session 15 Modeling Traceability of Concerns in Architectural Views

Introducing aspects

5

Requirements

Design

Implementation

Early Aspect

Late Aspect

• Localized

• Functional vs. non-Functional

• Special compiler

Page 6: Session 15 Modeling Traceability of Concerns in Architectural Views

non-Aspect Exampleinterface Shape { public moveBy(int dx ,int dy); }

class Point

{ public int x, y;

public int getX() { return x; }

public int getY() { return y; }

public void setX(int x) { this.x = x; Display.update(); }

public void setY(int y) { this.y = y; Display.update(); }

public void moveBy(int dx, int dy) { x += dx; y += dy; Display.update(); }

}

class Line

{ public void moveBy(int dx, int dy)

{ p1.x += dx; p1.y += dy; p2.x += dx; p2.y += dy; Display.update(); }

}

6

Page 7: Session 15 Modeling Traceability of Concerns in Architectural Views

Aspect Exampleinterface Shape { public moveBy(int dx ,int dy); }

class Point

{ public int x, y;

public int getX() { return x; }

public int getY() { return y; }

public void setX(int x) { this.x = x; }

public void setY(int y) { this.y = y; }

public void moveBy(int dx, int dy) { x += dx; y += dy; }

}

class Line

{ public void moveBy(int dx, int dy)

{ p1.x += dx; p1.y += dy; p2.x += dx; p2.y += dy; }

}

aspect Update

{ pointcut change():

execution(void Point.setX(int))

|| execution(void Point.setY(int))

|| execution(void Shape+.moveBy(int, int));

after() returning: change() { Display.update(); }

}7

Page 8: Session 15 Modeling Traceability of Concerns in Architectural Views

Change scenario

• Change public fields in Point to private

• Interface changes, visible in Line• Aspect needs change, cflowbelow

• Gregor Kiczales and Mira Mezini argue the need for ‘aspect-awareness’

8

Page 9: Session 15 Modeling Traceability of Concerns in Architectural Views

Comments on the paper

• Extension of Jethro Bakker’s thesis

• Missing aspect application to CTM

• No M-Trace tool

9

Page 10: Session 15 Modeling Traceability of Concerns in Architectural Views

Answering question

10

AnswerA first-class object is an object which do not have restrictions. In Haskell, functions are first-class citizens, meaning you can pass them to other functions (so-called, higher order functions).

QuestionIn order to explicitly reason about traceability of the concerns in architectural views it is necessary that the corresponding concerns are explicitly modeled as first-class abstractions. Could you explain this? What do they mean? (3.1 Explicit Modeling of Concerns) (Robin)

Page 11: Session 15 Modeling Traceability of Concerns in Architectural Views

Answering question

11

AnswerIn general it means that two things are either the same or different, ie. symmetric. In this paper, they compare ‘concerns’ with ‘artifacts’ and if they are symmetric or assymmetric.

QuestionThe paper talks about symmetric and asymmetric approaches. Could you give a small explanation of this? (3.1 Explicit Modeling of Concerns) (Robin)

Page 12: Session 15 Modeling Traceability of Concerns in Architectural Views

Relation to AOP

12

Page 13: Session 15 Modeling Traceability of Concerns in Architectural Views

Answering question

13

AnswerThe proposed model is a “general-purpose meta-model”. It can be applied to all domains, whereas you sometimes want specific domain knowledge, like special artifacts. One way to obtain this would be to extend this model with a specific instance, another possibility is to add extra meta-data.

Actually, one could also think of the proposed meta-model as an instantiation with relation to aspect-oriented development.

QuestionIn the paper the authors mention that it is not always possible to trace the concerns by providing specific names. They say that you need domain specific knowledge to characterize the concerns. Could you describe how domain specific knowledge can be applied?(Alesya)

Page 14: Session 15 Modeling Traceability of Concerns in Architectural Views

Answering question

14

AnswerNo. They give an extensive example of how this meta-model should be applied. (also see Alesya’s question)

QuestionIn the paper they talk about how they do the modeling but only in the conclusion they talk a little bit about how it's applied and what problems they encountered there ("for some concerns it appeared that sufficient domain knowledge was necessary to define the appropriate queries"). Are there some more details published about that perhaps? (Christiaan)

Page 15: Session 15 Modeling Traceability of Concerns in Architectural Views

Meta Aspect for Traceability

15

• Early Aspect Model

• Controller Model

• Rule Model

Page 16: Session 15 Modeling Traceability of Concerns in Architectural Views

Answering question

16

AnswerA model for defining the relationships between requirements, tests, design and code. So, this is on top of the existing software development lifecycle.

QuestionI don't really understand the proposed Meta-model. Could you explain this? (Robin)

Page 17: Session 15 Modeling Traceability of Concerns in Architectural Views

Answering question

17

AnswerThere is still a lot to be done in this field. Especially tool support seems to be essential. In practice, the traceability matrices are most common, because there is tool support for this.

Also, the discipline to document everything and link everything together is often time consuming.

The CTM framework does not support consistency or completeness, which was the main reason for the authors of the MAT framework.

QuestionCould you imagine some other problems you could run into? (Christiaan)