000 07022nam a2200505 i 4500
001 7043955
003 IEEE
005 20220712205910.0
006 m o d
007 cr |n|||||||||
008 151222s2007 nju ob 001 eng d
020 _a0470036664
020 _a9780470249260
_qeBook
020 _z9780470036662
_qprint
020 _z0470249269
_qeBook
024 7 _a10.1002/9780470249260
_2doi
035 _a(CaBNVSL)mat07043955
035 _a(IDAMS)0b0000648294b027
040 _aCaBNVSL
_beng
_erda
_cCaBNVSL
_dCaBNVSL
050 4 _aQA76.7
_b.K45 2008eb
245 0 0 _aDomain-specific modeling :
_benabling full code generation /
_cSteven Kelly, Juha-Pekka Tolvanen.
264 1 _aHoboken [New Jersey] :
_bWiley,
_c2008.
264 2 _a[Piscataqay, New Jersey] :
_bIEEE Xplore,
_c[2008]
300 _a1 PDF (500 pages).
336 _atext
_2rdacontent
337 _aelectronic
_2isbdmedia
338 _aonline resource
_2rdacarrier
505 0 _aForeword -- 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 andwith 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.
505 8 _a9.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.
506 1 _aRestricted to subscribers or individual electronic text purchasers.
520 _a"[The authors] are pioneers. . . . Few in our industry havetheir breadth of knowledge and experience." / -From the Foreword by Dave Thomas, Bedarra LabsDomain-Specific Modeling (DSM) is the latest approach tosoftware development, promising to greatly increase the speed andease of software creation. Early adopters of DSM have been enjoyingproductivity increases of 500-1000% in production for over adecade. This book introduces DSM and offers examples from variousfields to illustrate to experienced developers how DSM can improvesoftware development in their teams.Two authorities in the field explain what DSM is, why it works,and how to successfully create and use a DSM solution to improveproductivity and quality. Divided into four parts, the book covers:background and motivation; fundamentals; in-depth examples; andcreating DSM solutions. There is an emphasis throughout the book onpractical guidelines for implementing DSM, including how toidentify the necessary language constructs, how to generate fullcode from models, and how to provide tool support for a new DSMlanguage. The example cases described in the book are available thebook's Website, www.dsmbook.com, along with, an evaluation copy ofthe MetaEdit+ tool (for Windows, Mac OS X, and Linux), which allowsreaders to examine and try out the modeling languages and codegenerators.Domain-Specific Modeling is an essential reference for leaddevelopers, software engineers, architects, methodologists, andtechnical managers who want to learn how to create a DSM solutionand successfully put it into practice.
530 _aAlso available in print.
538 _aMode of access: World Wide Web
588 _aDescription based on PDF viewed 12/22/2015.
650 0 _aProgramming languages (Electronic computers)
_97503
650 0 _aComputer software
_xDevelopment.
_93349
655 0 _aElectronic books.
_93294
700 1 _aKelly, Steven.
_928531
700 1 _aTolvanen, Juha-Pekka.
_928532
710 2 _aIEEE Xplore (Online Service),
_edistributor.
_928533
710 2 _aWiley,
_epublisher.
_928534
776 0 8 _iPrint version:
_z9780470036662
856 4 2 _3Abstract with links to resource
_uhttps://ieeexplore.ieee.org/xpl/bkabstractplus.jsp?bkn=7043955
942 _cEBK
999 _c74383
_d74383