Domain Engineering - PowerPoint PPT Presentation

About This Presentation
Title:

Domain Engineering

Description:

Domain Engineering Silvio Romero de Lemos Meira Eduardo Santana de Almeida silvio_at_cesar.org.br esa2_at_cin.ufpe.br Based on Agenda Domain Engineering Concept Components ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 24
Provided by: esa2
Category:

less

Transcript and Presenter's Notes

Title: Domain Engineering


1
Domain Engineering
  • Silvio Romero de Lemos Meira
  • Eduardo Santana de Almeida
  • silvio_at_cesar.org.br
  • esa2_at_cin.ufpe.br

2
Based on
Generative Programming Methods, Tools, and
Applications by Krzysztof Czarnecki, Ulrich
Eisenecker
3
Agenda
  • Domain Engineering
  • Concept
  • Components
  • Steps
  • Key Concepts
  • Features and Feature Models
  • The Importance
  • Example
  • Commonality and Variability

4
What is Domain Engineering?
  • Domain Engineering (DE) is the activity of
    collecting, organizing, and storing past
    experience in building systems or parts of
    systems in a particular domain in the form of
    reusable assets, as well as providing an
    adequate means for reusing these assets when
    building (i.e., retrieval, qualification,
    dissemination, adaptation, assembly, and so on)
    new systems.
  • Steps
  • Domain Analysis
  • Domain Design
  • Domain Implementation

5
Software Development based on DE
Domain Engineering
System Family Architecture
Domain knowledge
Domain Model
Domain Analysis
Domain Design
Domain Implem.
Domain-specific languages Components Generators
New Requirements
Custom Development
Custom Design
New Requirements
Customer Needs
Requirements Analysis
Product Configuration
Integration and Test
Features
Product Configuration
Product
Application Engineering
6
Domain Engineerings Components
Domain Engineering Process Component Main Purpose
Domain Analysis Domain scooping and defining a set of reusable, configurable requirements for the systems in the domain
Domain Design Developing a common architecture for the system in the domain and devising a production plan
Domain Implementation Implementing the reusable assets, for example, reusable components, domain-specific languages, generators, a reuse infrastructure, and a production plan
7
Domain Analysis
  • Purpose
  • Select and define the domain of focus
  • Collect the relevant domain information and
    integrate it into a coherent domain model
  • Sources of domain information
  • Existing systems, domain experts, textbooks,
    experiments.....

8
Domain Model
  • A domain model is an explicit representation of
    the common and the variable properties of the
    system in a domain, the semantics of the
    properties and domain concepts, and the
    dependencies between the variable properties
  • Domain models components
  • Domain Definition
  • Defines
  • the scope of a domain
  • existing systems
  • rationale for including or excluding a given
    system.
  • Domain Lexicon
  • Domain vocabulary
  • Concept models
  • Concepts descriptions (object diagrams,
    interaction, state.)
  • Feature models

9
Domain Design and Domain Implementation
  • Purpose
  • To develop an architecture for the family of
    systems in the domain and to devise a production
    plan
  • Input Application Engineering

10
Concepts
  • Domain
  • Infinite
  • Domain as the real world
  • An area of knowledge or activity characterized by
    a set of concepts and terminology understood by
    practitioners in that area
  • Domain as a set of systems
  • knowledge real world How to build software
    systems
  • Domain An area of knowledge
  • Scoped to maximize the satisfaction of the
    requirements of its stakeholders
  • Includes a set of concepts and terminology
    understood by practitioners in that area
  • Includes the knowledge of how to build software
    systems in that area

11
Domain Scope and Scoping
  • Horizontal scope
  • How many different systems are in the domain?
  • Vertical scope
  • Which parts of these systems are in the domain?
  • Encapsulated x Diffused domains

12
Relationships between domains
  • A is contained in B
  • A uses B
  • A is analogous to B

13
Features and Feature Model
  • Feature
  • An end-user-visible characteristic of a system
  • A distinguishable characteristic of a concept
    that is relevant to some stakeholder of the
    concept
  • Elements
  • Feature diagram
  • Feature definitions
  • Composition rules
  • Rationale for features

14
Example
Car
Optional Feature
Mandatory Features
Transmission
Horsepower
Air Conditioning
Composition rule Air Conditioning requires
horsepower gt100
Alternative Features
Automatic
Manual
Rationale Manual more Fuel efficient
15
Feature Modeling The importance
  • Reusable software
  • Variability
  • Key technique
  • To Identity and capture variability
  • To avoid
  • Relevant features and variations points are not
    included in the reusable software
  • Many features and variations points are included
    but never used complexity, costs

16
Feature Models
  • Represents the common and the variable features
    of concept instances and the
  • Dependencies between the variable features
  • Elements
  • Feature Diagram
  • Semantic descriptions of each features
  • Client programs
  • Exemplar systems
  • Constraints
  • Priorities

17
Feature Diagrams
  • Mandatory Features
  • Optional Features
  • Alternative Features

18
Mandatory Features
C
f1
f2
f4
f3
Feature set C, f1, f2, f3, f4
19
Optional Features
C
f1
f2
f3
Feature set C , C, f1, C, f1, f3, C, f2,
C, f1, f2, C, f1, f3, f2
20
Alternative Features
C
f1
f2
f3
f4
f5
Feature set C, f1, f3 , C, f1, f4, C, f1,
f5, C, f2, f3, C, f2, f4, C, f2, f5
21
Expressing Commonality and Variability
  • Commonality
  • What features are common to all instances of the
    concept? focus on concept
  • What features are common to all instances of the
    concept that have that particular feature? focus
    on feature
  • Variability
  • Use of optional or alternative features
  • Variation points (nodes)

22
Questions ?
23
Next class Cap 02.
Write a Comment
User Comments (0)
About PowerShow.com