Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
Domain-Specific Modeling
Enabling Full Code Generation (Wiley - IEEE)

Rating
1 Rating
Already own it? Write a review
Format
Paperback, 444 pages
Published
United States, 25 February 2008

Domain-Specific Modeling (DSM) is the latest approach to software development, promising to greatly increase the speed and ease of software creation. Two authorities in the field explain what DSM is, why it works, and how to use it to improve productivity and quality. Divided into four parts, the book covers: background and motivation; fundamentals; in-depth examples; and creating DSM solutions. The book is complemented iwth examples from various fields to illustrate to experienced developers how DSM can improve software development in their teams.


Steven Kelly, PhD, is the CTO of MetaCase and cofounder of the DSM Forum. He has over fifteen years of experience in building metamodeling environments and acting as a consultant on their use in DSM. As architect and lead developer of MetaEdit+, MetaCase's DSM tool, he has seen it win or become a finalist for awards from Byte, SD Times, the Innosuomi Prize for innovation awarded by the Finnish president, and the Jolt Excellence Awards. Ever-present on the OOPSLA DSM workshop program committee, he co-organized the first workshop in 2001.

Juha-Pekka Tolvanen, PhD, is the CEO of MetaCase. He has been involved in model-driven approaches, metamodeling, and DSM languages and tools since 1991. He has acted as a consultant worldwide on modeling language development and has written over sixty articles for software development magazines and conferences. Dr. Tolvanen started the OOPSLA workshops on DSM in 2001 and has been on the organizing committee since. As cofounder of the DSM Forum, he plays a leading role in the shift toward model-driven software development.


Foreword. Preface. PART 1: BACKGROUND AND MOTIVATION. 1. Introduction. 1.1 Seeking the better level of abstraction. 1.2 Code-driven and model-driven development. 1.3 An example: modeling with a general-purpose language and with a domain-specific language. 1.4 What is DSM? 1.5 When to use DSM? 1.6 Summary. 2. Business value. 2.1 Productivity. 2.2 Quality. 2.3 Leverage expertise. 2.4 The economics of DSM. 2.5 Summary. PART 2: FUNDAMENTALS. 3. DSM defined. 3.1 DSM characteristics. 3.2 Implications of DSM for users. 3.3 Difference to other modeling approaches. 3.4 Tooling for DSM. 3.5 Summary. 4. Architecture of DSM. 4.1 Introduction. 4.2 Language. 4.3 Models. 4.4 Code generator. 4.5 Domain framework and target environment. 4.6 DSM organization and process. 4.7 Summary. PART 3: DSM EXAMPLES. 5. IP telephony and call processing. 5.1 Introduction and objectives. 5.2 Development process. 5.3 Language for modeling call processing services. 5.4 Modeling IP telephony service. 5.5 Generator for XML. 5.6 Framework support. 5.7 Main results. 5.8 Summary. 6. Insurance products. 6.1 Introduction and objectives. 6.2 Development process. 6.3 Language for modeling insurances. 6.4 Modeling insurance products. 6.5 Generator for Java. 6.6 Framework support. 6.7 Main results. 6.8 Summary. 7. Home Automation. 7.1 Introduction and objectives. 7.2 Development process. 7.3 Home automation modeling language. 7.4 Home automation modeling language in use. 7.5 Generator. 7.6 Main results. 7.7 Summary. 8. Mobile phone applications using Python framework. 8.1 Introduction and objectives. 8.2 Development process. 8.3 Language for application modeling. 8.4 Modeling phone applications. 8.5 Generator for Python. 8.6 Framework support. 8.7 Main results. 8.8 Extending the solution to native S60 C++. 8.9 Summary. 9. Digital Wristwatch. 9.1 Introduction and Objectives. 9.2 Development Process. 9.3 Modeling Language. 9.4 Models. 9.5 Code Generation for Watch Models. 9.6 The Domain Framework. 9.7 Main Results. 9.8 Summary. PART 4: CREATING DSM SOLUTIONS. 10 DSM language definition. 10.1 Introduction and objectives. 10.2 Identifying and defining modeling concepts. 10.3 Formalizing languages with metamodeling. 10.4 Defining language rules. 10.5 Integrating multiple languages. 10.6 Notation for the language. 10.7 Testing the languages. 10.8 Maintaining the languages. 10.9 Summary. 11. Generator definition. 11.1 "Here's one I made earlier". 11.2 Types of generator facilities. 11.3 Generator output patterns. 11.4 Generator structure. 11.5 Process. 11.6 Summary. 12. Domain Framework. 12.1 Removing duplication from generated code. 12.2 Hiding platform details. 12.3 Providing an interface for the generator. 12.4 Summary. 13. DSM definition process. 13.1 Choosing among possible candidate domains. 13.2 Organizing for DSM. 13.3 Proof of concept. 13.4 Defining the DSM solution. 13.5 Pilot project. 13.6 DSM deployment. 13.7 DSM as a continuous process in the real world. 13.8 Summary. 14. Tools for DSM. 14.1 Different approaches to building tool support. 14.2 A Brief History of Tools. 14.3 What is needed in a DSM environment. 14.4 Current tools. 14.5 Summary. 15. DSM in use. 15.1 Model reuse. 15.2 Model sharing and splitting. 15.3 Model versioning. 15.4 Summary. 16. Conclusion. 16.1 No sweat shops--But no Fritz Lang's Metropolis either. 16.2 The onward march of DSM. Appendix A: Metamodeling Language. References. Index.

Show more

Our Price
$222
Ships from UK Estimated delivery date: 7th May - 14th May from UK
  Include FREE SHIPPING on a Fishpond Premium Trial

Already Own It? Sell Yours
Buy Together
+
Buy together with Sobolev Spaces on Metric Measure Spaces at a great price!
Buy Together
$417

Product Description

Domain-Specific Modeling (DSM) is the latest approach to software development, promising to greatly increase the speed and ease of software creation. Two authorities in the field explain what DSM is, why it works, and how to use it to improve productivity and quality. Divided into four parts, the book covers: background and motivation; fundamentals; in-depth examples; and creating DSM solutions. The book is complemented iwth examples from various fields to illustrate to experienced developers how DSM can improve software development in their teams.


Steven Kelly, PhD, is the CTO of MetaCase and cofounder of the DSM Forum. He has over fifteen years of experience in building metamodeling environments and acting as a consultant on their use in DSM. As architect and lead developer of MetaEdit+, MetaCase's DSM tool, he has seen it win or become a finalist for awards from Byte, SD Times, the Innosuomi Prize for innovation awarded by the Finnish president, and the Jolt Excellence Awards. Ever-present on the OOPSLA DSM workshop program committee, he co-organized the first workshop in 2001.

Juha-Pekka Tolvanen, PhD, is the CEO of MetaCase. He has been involved in model-driven approaches, metamodeling, and DSM languages and tools since 1991. He has acted as a consultant worldwide on modeling language development and has written over sixty articles for software development magazines and conferences. Dr. Tolvanen started the OOPSLA workshops on DSM in 2001 and has been on the organizing committee since. As cofounder of the DSM Forum, he plays a leading role in the shift toward model-driven software development.


Foreword. Preface. PART 1: BACKGROUND AND MOTIVATION. 1. Introduction. 1.1 Seeking the better level of abstraction. 1.2 Code-driven and model-driven development. 1.3 An example: modeling with a general-purpose language and with a domain-specific language. 1.4 What is DSM? 1.5 When to use DSM? 1.6 Summary. 2. Business value. 2.1 Productivity. 2.2 Quality. 2.3 Leverage expertise. 2.4 The economics of DSM. 2.5 Summary. PART 2: FUNDAMENTALS. 3. DSM defined. 3.1 DSM characteristics. 3.2 Implications of DSM for users. 3.3 Difference to other modeling approaches. 3.4 Tooling for DSM. 3.5 Summary. 4. Architecture of DSM. 4.1 Introduction. 4.2 Language. 4.3 Models. 4.4 Code generator. 4.5 Domain framework and target environment. 4.6 DSM organization and process. 4.7 Summary. PART 3: DSM EXAMPLES. 5. IP telephony and call processing. 5.1 Introduction and objectives. 5.2 Development process. 5.3 Language for modeling call processing services. 5.4 Modeling IP telephony service. 5.5 Generator for XML. 5.6 Framework support. 5.7 Main results. 5.8 Summary. 6. Insurance products. 6.1 Introduction and objectives. 6.2 Development process. 6.3 Language for modeling insurances. 6.4 Modeling insurance products. 6.5 Generator for Java. 6.6 Framework support. 6.7 Main results. 6.8 Summary. 7. Home Automation. 7.1 Introduction and objectives. 7.2 Development process. 7.3 Home automation modeling language. 7.4 Home automation modeling language in use. 7.5 Generator. 7.6 Main results. 7.7 Summary. 8. Mobile phone applications using Python framework. 8.1 Introduction and objectives. 8.2 Development process. 8.3 Language for application modeling. 8.4 Modeling phone applications. 8.5 Generator for Python. 8.6 Framework support. 8.7 Main results. 8.8 Extending the solution to native S60 C++. 8.9 Summary. 9. Digital Wristwatch. 9.1 Introduction and Objectives. 9.2 Development Process. 9.3 Modeling Language. 9.4 Models. 9.5 Code Generation for Watch Models. 9.6 The Domain Framework. 9.7 Main Results. 9.8 Summary. PART 4: CREATING DSM SOLUTIONS. 10 DSM language definition. 10.1 Introduction and objectives. 10.2 Identifying and defining modeling concepts. 10.3 Formalizing languages with metamodeling. 10.4 Defining language rules. 10.5 Integrating multiple languages. 10.6 Notation for the language. 10.7 Testing the languages. 10.8 Maintaining the languages. 10.9 Summary. 11. Generator definition. 11.1 "Here's one I made earlier". 11.2 Types of generator facilities. 11.3 Generator output patterns. 11.4 Generator structure. 11.5 Process. 11.6 Summary. 12. Domain Framework. 12.1 Removing duplication from generated code. 12.2 Hiding platform details. 12.3 Providing an interface for the generator. 12.4 Summary. 13. DSM definition process. 13.1 Choosing among possible candidate domains. 13.2 Organizing for DSM. 13.3 Proof of concept. 13.4 Defining the DSM solution. 13.5 Pilot project. 13.6 DSM deployment. 13.7 DSM as a continuous process in the real world. 13.8 Summary. 14. Tools for DSM. 14.1 Different approaches to building tool support. 14.2 A Brief History of Tools. 14.3 What is needed in a DSM environment. 14.4 Current tools. 14.5 Summary. 15. DSM in use. 15.1 Model reuse. 15.2 Model sharing and splitting. 15.3 Model versioning. 15.4 Summary. 16. Conclusion. 16.1 No sweat shops--But no Fritz Lang's Metropolis either. 16.2 The onward march of DSM. Appendix A: Metamodeling Language. References. Index.

Show more
Product Details
EAN
9780470036662
ISBN
0470036664
Other Information
Illustrations
Dimensions
15.8 x 2.3 x 23.4 centimetres (0.63 kg)

Table of Contents

Foreword.

Preface.

PART 1: BACKGROUND AND MOTIVATION.

1. Introduction.

1.1 Seeking the better level of abstraction.

1.2 Code-driven and model-driven development.

1.3 An example: modeling with a general-purpose language and with a domain-specific language.

1.4 What is DSM?

1.5 When to use DSM?

1.6 Summary.

2. Business value.

2.1 Productivity.

2.2 Quality.

2.3 Leverage expertise.

2.4 The economics of DSM.

2.5 Summary.

PART 2: FUNDAMENTALS.

3. DSM defined.

3.1 DSM characteristics.

3.2 Implications of DSM for users.

3.3 Difference to other modeling approaches.

3.4 Tooling for DSM.

3.5 Summary.

4. Architecture of DSM.

4.1 Introduction.

4.2 Language.

4.3 Models.

4.4 Code generator.

4.5 Domain framework and target environment.

4.6 DSM organization and process.

4.7 Summary.

PART 3: DSM EXAMPLES.

5. IP telephony and call processing.

5.1 Introduction and objectives.

5.2 Development process.

5.3 Language for modeling call processing services.

5.4 Modeling IP telephony service.

5.5 Generator for XML.

5.6 Framework support.

5.7 Main results.

5.8 Summary.

6. Insurance products.

6.1 Introduction and objectives.

6.2 Development process.

6.3 Language for modeling insurances.

6.4 Modeling insurance products.

6.5 Generator for Java.

6.6 Framework support.

6.7 Main results.

6.8 Summary.

7. Home Automation.

7.1 Introduction and objectives.

7.2 Development process.

7.3 Home automation modeling language.

7.4 Home automation modeling language in use.

7.5 Generator.

7.6 Main results.

7.7 Summary.

8. Mobile phone applications using Python framework.

8.1 Introduction and objectives.

8.2 Development process.

8.3 Language for application modeling.

8.4 Modeling phone applications.

8.5 Generator for Python.

8.6 Framework support.

8.7 Main results.

8.8 Extending the solution to native S60 C++.

8.9 Summary.

9. Digital Wristwatch.

9.1 Introduction and Objectives.

9.2 Development Process.

9.3 Modeling Language.

9.4 Models.

9.5 Code Generation for Watch Models.

9.6 The Domain Framework.

9.7 Main Results.

9.8 Summary.

PART 4: CREATING DSM SOLUTIONS.

10 DSM language definition.

10.1 Introduction and objectives.

10.2 Identifying and defining modeling concepts.

10.3 Formalizing languages with metamodeling.

10.4 Defining language rules.

10.5 Integrating multiple languages.

10.6 Notation for the language.

10.7 Testing the languages.

10.8 Maintaining the languages.

10.9 Summary.

11. Generator definition.

11.1 "Here's one I made earlier".

11.2 Types of generator facilities.

11.3 Generator output patterns.

11.4 Generator structure.

11.5 Process.

11.6 Summary.

12. Domain Framework.

12.1 Removing duplication from generated code.

12.2 Hiding platform details.

12.3 Providing an interface for the generator.

12.4 Summary.

13. DSM definition process.

13.1 Choosing among possible candidate domains.

13.2 Organizing for DSM.

13.3 Proof of concept.

13.4 Defining the DSM solution.

13.5 Pilot project.

13.6 DSM deployment.

13.7 DSM as a continuous process in the real world.

13.8 Summary.

14. Tools for DSM.

14.1 Different approaches to building tool support.

14.2 A Brief History of Tools.

14.3 What is needed in a DSM environment.

14.4 Current tools.

14.5 Summary.

15. DSM in use.

15.1 Model reuse.

15.2 Model sharing and splitting.

15.3 Model versioning.

15.4 Summary.

16. Conclusion.

16.1 No sweat shops--But no Fritz Lang's Metropolis either.

16.2 The onward march of DSM.

Appendix A: Metamodeling Language. 

References.

Index. 

About the Author

Steven Kelly, PhD, is the CTO of MetaCase and cofounder of the DSM Forum. He has over fifteen years of experience in building metamodeling environments and acting as a consultant on their use in DSM. As architect and lead developer of MetaEdit+, MetaCase's DSM tool, he has seen it win or become a finalist for awards from Byte, SD Times, the Innosuomi Prize for innovation awarded by the Finnish president, and the Jolt Excellence Awards. Ever-present on the OOPSLA DSM workshop program committee, he co-organized the first workshop in 2001.

Juha-Pekka Tolvanen, PhD, is the CEO of MetaCase. He has been involved in model-driven approaches, metamodeling, and DSM languages and tools since 1991. He has acted as a consultant worldwide on modeling language development and has written over sixty articles for software development magazines and conferences. Dr. Tolvanen started the OOPSLA workshops on DSM in 2001 and has been on the organizing committee since. As cofounder of the DSM Forum, he plays a leading role in the shift toward model-driven software development.

Reviews

"This very clearly written text contains useful detailed explanations inside text boxes and tables, nicely designed, diagrams, and generated software code samples.  This is very practical and highly recommended." (Computing Reviews, September 9, 2008)

Show more
Review this Product
What our customers have to say
Ask a Question About this Product More...
 
Look for similar items by category
People also searched for
How Fishpond Works
Fishpond works with suppliers all over the world to bring you a huge selection of products, really great prices, and delivery included on over 25 million products that we sell. We do our best every day to make Fishpond an awesome place for customers to shop and get what they want — all at the best prices online.
Webmasters, Bloggers & Website Owners
You can earn a 8% commission by selling Domain-Specific Modeling: Enabling Full Code Generation (Wiley - IEEE) on your website. It's easy to get started - we will give you example code. After you're set-up, your website can earn you money while you work, play or even sleep! You should start right now!
Authors / Publishers
Are you the Author or Publisher of a book? Or the manufacturer of one of the millions of products that we sell. You can improve sales and grow your revenue by submitting additional information on this title. The better the information we have about a product, the more we will sell!
Item ships from and is sold by Fishpond World Ltd.

Back to top