text.skipToContent text.skipToNavigation
  1. Home
  2. Computer Science & IT
  3. Generative Programming: Methods, Tools, and Applications

Generative Programming: Methods, Tools, and Applications, 1st edition

  • Krysztof Czarnecki
  • Ulrich Eisenecker

Published by Addison-Wesley Professional (June 6th 2000) - Copyright © 2000

1st edition

Generative Programming: Methods, Tools, and Applications

ISBN-13: 9780201309775

Includes: Paperback
Free delivery
$64.99

What's included

  • Paperback

    You'll get a bound printed text.

Overview

Praise for Generative Programming

“The book develops strong themes around unifying principles that tie the pieces together, most notably domain engineering and metaprogramming. It’s crucial to understand that this book is not just some refreshing diversionn or just an exposition of some noteworthy niche techniques. It is a harbinger of a broader enlightenment that opens the door to a new age.”

—from the foreword by JAMES COPLIEN, a Distinguished Member of Technical Staff at Lucent Technologies' Bell Laboratories, Naperville, IL

“Generative Programming offers a well-written and comprehensive discussion that integrates object technology and domain engineering. The authors’ approach to software systems generation provides very clear insights into practices essential for systematic reuse and software product lines.”

SHOLOM COHEN, a Senior Member of the Technical Staff of the Software Engineering Institute (SEI), Pittsburgh, PA, and a co-developer of the Feature Oriented Domain Analysis (FODA) method

“If you believe that the systems you develop today will share concepts with the systems you will develop tomorrow, then the practical techniques presented in this book will reduce your time to market, decrease your engineering costs, and improve your software quality. These techniques are essential for both practitioners and researchers concerned with modern system development.”

JAMES NEIGHBORS, President of Bayfront Technologies, Inc., Newport Beach, CA, and the author of the Draco approach

“The authors present a grand tour of Generative Programming which is bound to become a classic. They properly focus on the generally unappreciated connection between Domain Specific Languages and Generative Programming as a motivation for future development. The wide-ranging and practical methods for Domain Analysis and Domain Engineering describe the first steps that developers can take right now. They are valuable both when existing systems are used or in preparation for emerging new generative technologies.”


CHARLES SIMONYI, Chief Architect at Microsoft Research, Redmond, WA, and the inventor of Intentional Programming

Generative Programming (GP) offers great promise to application developers. It makes the idea of moving from Ione of a kindO software systems to the semi-automated manufacture of wide varieties of software quite real. In short, GP is about recognizing the benefits of automation in software development. Generative Programming covers methods and tools that will help you design and implement the IrightO components for a system family and automate component assembly. The methods presented here are applicable for all commercial development--from "programming in the small," at the level of classes and procedures--to "programming in the large," or developing families of large systems.

Generative Programming is your complete guide and reference to this emerging discipline. It provides in-depth treatment of critical technologies and topics including:

  • Domain Engineering
  • Feature Modeling
  • Generic Programming
  • Aspect-Oriented Programming
  • Template Metaprogramming in C++
  • Generators
  • Microsoft's Intentional Programming

Using this book you will learn how these techniques fit together and, more importantly, how to apply them in practice. The text contains three comprehensive case studies in three different domains: programming domain (container data structures), business domain (banking), and scientific computing (matrix computations).



Table of contents



1. What Is This Book About?

From Handcrafting to Automated Assembly Lines.

Generative Programming.

Benefits and Applicability.

I. ANALYSIS AND DESIGN METHODS AND TECHNIQUES.

2. Domain Engineering.

Why Is This Chapter Worth Reading?

What Is Domain Engineering?

Domain Analysis.

Domain Design and Domain Implementation.

Application Engineering.

Product-Line Practices.

Key Domain Engineering Concepts.

Domain.

Domain Scope and Scoping.

Relationships between Domains.

Features and Feature Models.

Method Tailoring and Specialization.

Survey of Domain Analysis and Domain Engineering Methods.

Feature-Oriented Domain Analysis (FODA).

Organization Domain Modeling (ODM).

Draco.

Capture.

Domain Analysis and Reuse Environment (DARE).

Domain-Specific Software Architecture (DSSA) Approach.

Algebraic Approach.

Other Approaches.

Domain Engineering and Related Approaches.

Historical Notes.

Summary.
3. Domain Engineering and Object-Oriented Analysis and Design.

Why Is This Chapter Worth Reading?

OO Technology and Reuse.

Solution Space.

Problem Space.

Relationship between Domain Engineering and Object-Oriented Analysis and Design (OOA/D) Methods.

Aspects of Integrating Domain Engineering and OOA/D Methods.

Horizontal versus Vertical Methods.

Selected Methods.

Rational Unified Process.

00ram.

Reuse-Driven Software Engineering Business (RSEB).

FeatuRSEB.

Domain Engineering Method for Reusable Algorithmic Libraries (DEMRAL).
4. Feature Modeling.

Why Is This Chapter Worth Reading?

Features Revisited.

Feature Modeling.

Feature Models.

For teachers

All the material you need to teach your courses.

Discover teaching material