Description

Book Synopsis
Domain-Specific Modeling illustrates examples from various fields of software product development. The main part of the book addresses the guidelines for implementing DSM: how to identify the necessary language constructs, what options are available for code generation; and what tools are available to provide tool support for a new DSM language.

Trade Review
"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)

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.

DomainSpecific Modeling

    Product form

    £95.36

    Includes FREE delivery

    RRP £105.95 – you save £10.59 (9%)

    Order before 4pm today for delivery by Sat 20 Jun 2026.

    A Paperback by Juha-Pekka Tolvanen, Juha-Pekka Tolvanen


      View other formats and editions of DomainSpecific Modeling by Juha-Pekka Tolvanen

      Publisher: Wiley
      Publication Date: 15/04/2008
      ISBN13: 9780470036662, 978-0470036662
      ISBN10:

      Description

      Book Synopsis
      Domain-Specific Modeling illustrates examples from various fields of software product development. The main part of the book addresses the guidelines for implementing DSM: how to identify the necessary language constructs, what options are available for code generation; and what tools are available to provide tool support for a new DSM language.

      Trade Review
      "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)

      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.

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account