Domain Engineering - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Domain Engineering

Description:

Trailer. O..1. O..1. 13. Feature Diagrams. Node types: Mandatory / Optional ... Pulls trailer. Transmission. Manual. Automatic. 14. Imperative Lists. List ... – PowerPoint PPT presentation

Number of Views:166
Avg rating:3.0/5.0
Slides: 22
Provided by: arievan
Category:

less

Transcript and Presenter's Notes

Title: Domain Engineering


1
Domain Engineering
  • Arie van Deursen
  • May 2001

2
Software Product Line
SAP, Baan, PeopleSoft
  • Group of products
  • sharing a common, managed set of features
  • to satisfy the needs of a selected market
  • Examples
  • Telephone switches 5ESS
  • Mortgage / insurance portals
  • Customer Relation Management
  • On line banking

3
Object-OrientedApplication Framework
  • Framework
  • Set of cooperating classes embodying an abstract
    design
  • For solutions to a family of related problems
  • Supporting reuse beyond the class level.
  • Building an appliction consists of adding class
    specializations
  • Inverse control

4
Product Line Savings
  • Economies of scale
  • Savings from using technology to
  • produce a greater volume of a single output
  • with the same or less inputs
  • Economies of scope
  • Savings from using technology to
  • build a greater diversity of outputs
  • with the same or less inputs

5
Domain / ApplicationEngineering
  • Domain engineering
  • Systematic approach to construct reusable assets
    in a given problem domain
  • Application engineering
  • Use the assets to build specialized software
    systems in the given domain.
  • ( Product / customer development )

6
What is a Domain?
  • Domain as the real world
  • Adopted in OO / AI community
  • Domain as a set of systems
  • Systematic software reuse community
  • Domain criteria
  • Mature, stable, economically viable
  • Use legacy systems to understand domain.

7
Domain Engineering
  • Activity of
  • collecting, organizing and storing past
    experience in building (parts of) systems
  • in a particular domain
  • in the form of reusable assets
  • as well as providing means for resuing these
    assets (retrieve, adapt, assemble, ...)
  • when building new systems

8
ODM Organization Domain Modeling
  • 1. Plan Domain
  • Set objectives, analyze stakeholders
  • Scope domain selection criteria
  • Define domain boundary conditions, examples,
    counter examples, main features,
  • relations to other domains.

9
ODM (2)
  • 2. Model Domain
  • Acquire domain information experts, legacy
    systems, literature, prototyping, ...
  • Describe domain lexicon of terms, commonality
    variability feature diagrams
  • Refine domain build overall domain, analyze
    trade offs, innovative feature combinations

10
ODM (3)
  • 3. Engineer Asset Base
  • Scope correlate features and customers,
    prioritize, select.
  • Architect external and internal constraints,
    components, domain-specific languages,
    generators, framework, ...
  • Implement OO, code generation, ...

11
Car Feature Diagram
Car
Car body
Engine
Pulls trailer
12
Car Class Diagram
CarBody
Cartransmission
Trailer
O..1
O..1
ElectricGasolineCar transmission
ElectricCar transmission
GasolineCar transmission
ElectricEngine
GasolineEngine
13
Feature Diagrams
Car
Engine
Pulls trailer
  • Node types
  • Mandatory / Optional
  • Alternatives / Or-features
  • Diagram generates instances
  • Commonality feature in all instances
  • Variation point optional, alternative, or.
  • Find variation dependencies.
  • No implementation bias

14
Imperative Lists
List
Length Counter
Tracing
Ownership
Morphology
Mono morphic
Poly morphic
External Reference
Owned Reference
Copy
15
Interest Rate Products
Product
Swap
Deposit
Fixed Deposit
Floating Deposit
Interest Amount
Principle Amount
Period
Convention
Rate
Start Date
Maturity Date
Currency
Simple, Dutch, 360, ...
DEM, USD, EUR, ...
16
Finding Features
  • Use feature starter sets
  • Record similarities between instances
  • Record differences between instances
  • Organize features into hierarchies
  • Analyze feature combinations
  • Record additional feature information
  • Identify more features than needed

17
Generative Programming
  • A software engineering paradigm in which
  • given a particular requirements specification
  • a highly customized and optimized intermediate or
    end-product
  • can be automatically manufactured on demand
  • from elementary, reusable implementation
    components
  • by means of configuration knowledge

18
Domain-SpecificLanguages
  • Expressive over variable features
  • Composition, defaults, dependencies, pragmas,
    illegal combinations
  • Common features built-in / in compiler.
  • Expression DSL
  • Domain-specific computations
  • Configuration DSL
  • Specify a concrete program family member

19
Further Reading
  • ODM Guide Book
  • Generative programming chapter 2 4, and
    examples in chs 12, 13, 14.
  • From the Transform Wiki
  • Annotated Bibliography
  • Little Languages Little Maintenance?
  • Draco transformation system and domain
    engineering methodology.

20
Summary
  • Domain engineering
  • Product Line
  • Economy of Scope
  • Domain
  • ODM
  • Variability
  • Commonality
  • Feature Diagrams
  • Class Diagrams
  • Generative Programming
  • Domain Specific Languages

21
Project
  • Tool support for feature diagrams
  • Design language
  • apply to simple examples
  • analyze consequences of realistic examples
  • Implement normalizations
  • Generate pictures
  • Suggest class diagram options
Write a Comment
User Comments (0)
About PowerShow.com