DAREDomain Analysis and
Reuse Environment
סמינר: נושאים מתקדמים בהנדסת תכנה
סמסטר א', תשס"זמרצה: ד"ר איריס ריינהרץ- ברגר
אהרוני ענת
ברזני ערבה
Domain Engineering
DARE supports the following two phases: Domain analysis
The activity of identifying and documenting the commonalities and variabilities in related software systems in a domain
Domain implementationUsage of acquired knowledge in order to develop reusable assets for the domain (reusable components, application generators)
DARE support creation of reusable assets repository
DARE
-Supports domain analyst carrying out well defined domain analysis method
-Provides Method and tools that help users perform domain analysis
-Supports the collection of domain assets in a database and provides a library
search facility.
-Producing a repository of reusable assets for the domain
Primary Goal
Creation of a generic architecture that describes architectural elements and their relationships,
for family of systems.
Support systematic and repeatable domain analysis process uses top-down and bottom-
up strategy and automate it.
commonalities
variabilities
Recognize Analyze
commonalities
Generic Architecture
varied varied
varied varied
Variabilities, commonalties
The Domain Book - the product of domain analysis.
To support creation of generic architecture, DARE uses a book metaphor
Contains all domain analysis inputs, outputs and supporting material
Domain book captured domain information from
* domain experts
* domain documents
* code from systems in the domainThe domain book provides a detailed
specification of the domain
Domain Book
User manuals,Requirements documents, Design documents etc.
Provide descriptions of systems in the domainand their architectures
Will be analyzed to discover architectural information aboutsystems in the domain and
provide reusable code components
Tools for producing parts of the book:
• A form based interface For acquiring general domain information from experts
• A graphical architecture editor Recording systems architectures (system may have several architectural representations – DFD, ERD, STRUCTURE CHARTS, OBJECT D., STATE D. FLOW CHARTS, LAYER OR ONION D. and MIXTURES OF THIS).
Creating and recording generic architectures
• A feature table For summarizing system commonalities and
variabilities
For recording decision about commonalities and variabilities in systems based on generic architecture
Tools for producing parts of the book (cont):
• Text analysis toolsFor extracting a domain vocabulary from text sources
• A clustering tool A graphical way for analyzing and manipulating the similarities between different words and phrases
within the domain to form the critical categories of words an phrases.
• A glossary, bibliography, index and appendices For collecting and organizing reference information
Cluster editor screen
DARE system description form
DARE system feature table screen
DARE – architecture editor
DARE – table of contents
Domain sources
Created and updated continuously during
Domain Analysis
Domain book include:All domain sources
The results of vocabulary analysis
The result of architecture analysis, include code analysis
Summary information (glossary, a bibliography, user index, appendices
Recording analyses and design decisions generic architecture
source for repository of reusable components
The domain book organizes all domain information and become the product of domain analysis
Once complete, the domain book provides a detailed specification of the domain
The DARE-COTS tool Provides navigation support to browse in the domain book and
for tracing outputs & inputs
Domain book solves two vexing problems:
•What should the output of domain analysis be?
The output of domain analysis is a domain book
•What are the criteria for analysis completion?
The process is complete when all section of the domain book are written
The DARE – COTS implementation
Implement third prototype using COTS and freeware
Domain book- In control
Source document – MS word
Text analysis – Concordance
Expert forms – MS word
Architecture – Inspiration
Stemming – Unix Tools
Code analysis – Unix tools
Dare tool had 2 prototypes, they found them very slow to develop environment as time and project resources became short.
Organization decide to analyze one of its domain:
at least 1 analyst
domain experts: provide descriptions of systems in the domain and architectures
Source code from systems
Documentations for systems in the domain (user manuals, requirements, documents, design documents, and so on)
Experts: enter information by dare
input forms.
architectural information,
reusable code components
documentation: record and
analysis in the domain book
Source Code: record and
analysis in The domain book
Dare text analysis tools to extract
terms & phrases
Dare cluster editor &facet table tool to create facets
Low Level
Automated analysis code
High Level
Facet tableCommon & variable
and system architecture
Record & analysis
Check and refine the system
architecture
System feature table: summary information about commonalities
and variabilities
Facet tableSystem
feature tableCode structures
Generic architecture for the Domain
Generic Feature table
characterizing the stable common aspects
and allowed variabilities
Repository of reusable assetsSource documents characterizing
aspects of systems
con
form
System built
Software components implementing aspects of systems
Placed
Generic architecture
Feature table Repository of reusable assets
Vocabulary
BASE
Domain implementation
Dare User Population
DARE
Requirements Writer
Write requirements for new systems in
domain Software Architects
Specify architectures for New Systems in
the Domain
Programmers
Look For Reusable components and
can add new assets
Maintenance engineering
Asses Impact of changes on
requirements
Domain engineers
Domain Analysts &
experts
Use domain models and information to create reusable parts and
generators for domain
Use domain models as a
starting point for new domain
analysis
DARE METHOD - conclusion
DARE Provides a systematic and organized method in order tobuild domains, but not for applications
Provide only knowledge for creating new applications
The CASE tool: DARE- COTSDARE-COTS method partially based on STARS Reuse
Library Process Model
STARS, FODA, ODM are insufficiently prescriptive for automation and focus on the analysis of low-level domain objects.
Example:
FODA provides very little guidance to the central activity of documenting generic architectures
STARS method places too much emphasis on the bottom-up analysis of domain text.
DARE: More highly perspective: information from experts
References
•Dr. Ruben Prieto-Diaz, Dr. Bill Frakes, Mr. B.K Gogia (1998): DARE: Domain analysis and reuse environment, Annals of Software Engineering 5 125-141
•Dr. Ruben Prieto-Diaz, Dr. Bill Frakes, Christopher Fox (1997): DARE-COTS- Domain analysis Support Tool, Proceedings.-17th-International-Conference-of-the-Chilean-Computer-Science- Society-Cat.-No.97TB100194, 73-7
•Dr. Ruben Prieto-Diaz, Dr. Bill Frakes, Mr. B.K Gogia (1992): DARE: Domain analysis and reuse environment, phase 1 final report
• http://www.cs.umaine.edu/~ftp/wisr/wisr7/papers/frakes/frakes.html