08.01.2013 Views

Back Room Front Room 2

Back Room Front Room 2

Back Room Front Room 2

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

196 ENTERPRISE INFORMATION SYSTEMS VI<br />

2.3 Proposed Model-based Software<br />

Engineering Method<br />

In (Raabe, 2003), we proposed solution domain<br />

analysis as an additional step during the software<br />

process (as shown in Fig. 1). Introducing this<br />

additional step will produce a solution domain<br />

model and will allow us to use formalized results of<br />

problem domain analysis and solution domain<br />

analysis as a basis for deriving the description of<br />

transformation from the analysis model to the<br />

implementation model.<br />

3 DOMAIN ANALYSIS<br />

Domain engineering (SEI, 2002) encompasses<br />

domain analysis, domain design, and domain<br />

implementation. Domain analysis contains the<br />

following activities:<br />

• domain scoping, where relevant domain with<br />

its sub-domains will be selected and the<br />

main area of focus will be defined, and<br />

• domain modeling, where relevant domain<br />

information is collected and integrated into a<br />

coherent domain model.<br />

Domain model defines the scope (i.e. boundary<br />

conditions) of the domain, elements or concepts that<br />

constitute the domain (i.e. domain knowledge),<br />

generic and specific features of elements and<br />

configurations, functionality and behavior.<br />

According to the different domain engineering<br />

approaches, there are several different domain<br />

analysis methods (Czarnecki and Eisenecker, 2000).<br />

3.1 Feature-Oriented DomaiAnalysis<br />

Feature modeling, also known as feature analysis, is<br />

the activity of modeling the common and the<br />

variable properties of concepts and their<br />

interdependencies.<br />

Feature-oriented domain analysis methods<br />

describe the characteristics of a problem and the<br />

required characteristics of a solution independently<br />

of their structure.<br />

Examples of feature-oriented domain analysis<br />

methods are:<br />

• Feature-Oriented Domain Analysis (FODA)<br />

from SEI (Kang et al., 1990), which became<br />

a part of their MBSE framework (SEI);<br />

• Feature-Oriented Reuse Method (FORM)<br />

developed by K. Kang (Kang, 1998);<br />

• Domain Engineering Method for Reusable<br />

Algorithmic Libraries (DEMRAL) by<br />

Czarnecki and Eisenecker (Czarnecki and<br />

Eisenecker, 2000).<br />

Feature model consists of the following<br />

elements:<br />

• concepts – any elements and structures of the<br />

domain of interest and<br />

• features – qualitative properties of the<br />

concepts.<br />

A feature model represents feature types and<br />

definitions, hierarchical decomposition of features,<br />

composition rules (i.e. dependencies between<br />

concepts) and rationale for features. It consists of a<br />

feature diagram and additional information.<br />

Feature diagram is a tree-like diagram, where the<br />

root node represents a concept and other nodes<br />

represent features of this concept and sub-features of<br />

features. An example of a feature diagram is shown<br />

in Fig. 2.<br />

From the composition point of view, the<br />

following feature types are most commonly used in<br />

feature models:<br />

• mandatory features (e.g. f1, f2, f5, f6, f7, f8, f9),<br />

• optional features (e.g. f3, f4),<br />

• alternative features (e.g. f5, f6), and<br />

• or-features (e.g. f7, f8, f9).<br />

Composition rules between features are<br />

constraints for composing features for instances of<br />

concepts (e.g. “requires”, “excludes”).<br />

f 3<br />

f 1<br />

f 4<br />

f 7<br />

C<br />

Figure 2: Example of a feature diagram<br />

From the domain point of view, it is possible to<br />

describe different feature classes.<br />

FODA (Kang et al., 1990) distinguishes between<br />

context features (non-functional characteristics of<br />

application), operational features (application<br />

functions), and representation features (interface<br />

functions).<br />

FORM (Kang, 1998) distinguishes between<br />

capability features (further divided into functional<br />

and non-functional features), operating environment<br />

features, domain technology features, and<br />

implementation technique features.<br />

DEMRAL (Czarnecki and Eisenecker, 2000)<br />

distinguishes between the following feature classes:<br />

f 5<br />

f 8<br />

f 2<br />

f 9<br />

f 6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!