Zum Hauptinhalt springen
Dekorationsartikel gehören nicht zum Leistungsumfang.
Domain-Specific Languages
Effective Modeling, Automation, and Reuse
Taschenbuch von Thorsten Berger (u. a.)
Sprache: Englisch

64,19 €*

inkl. MwSt.

Versandkostenfrei per Post / DHL

Aktuell nicht verfügbar

Kategorien:
Beschreibung
This textbook describes the theory and the pragmatics of using and engineering high-level software languages ¿ also known as modeling or domain-specific languages (DSLs) ¿ for creating quality software. This includes methods, design patterns, guidelines, and testing practices for defining the syntax and the semantics of languages. While remaining close to technology, the book covers multiple paradigms and solutions, avoiding a particular technological silo. It unifies the modeling, the object-oriented, and the functional-programming perspectives on DSLs.
The book has 13 chapters. Chapters 1 and 2 introduce and motivate DSLs. Chapter 3 kicks off the DSL engineering lifecycle, describing how to systematically develop abstract syntax by analyzing a domain. Chapter 4 addresses the concrete syntax, including the systematic engineering of context-free grammars. Chapters 5 and 6 cover the static semantics ¿ with basic constraints as a starting point and type systems for advanced DSLs. Chapters 7 (Transformation), 8 (Interpretation), and 9 (Generation) describe different paradigms for designing and implementing the dynamic semantics, while covering testing and other kinds of quality assurance. Chapter 10 is devoted to internal DSLs. Chapters 11 to 13 show the application of DSLs and engage with simpler alternatives to DSLs in a highly distinguished domain: software variability. These chapters introduce the underlying notions of software product lines and feature modeling.
The book has been developed based on courses on model-driven software engineering (MDSE) and DSLs held by the authors. It aims at senior undergraduate and junior graduate students in computer science or software engineering. Since it includes examples and lessons from industrial and open-source projects, as well as from industrial research, practitioners will also find it a useful reference. The numerous examples include code in Scala 3, ATL, Alloy, C#, F#, Groovy, Java, JavaScript, Kotlin, OCL, Python, QVT, Ruby, and Xtend. The book contains as many as 277 exercises. The associated code repository facilitates learning and using the examples in a course.
This textbook describes the theory and the pragmatics of using and engineering high-level software languages ¿ also known as modeling or domain-specific languages (DSLs) ¿ for creating quality software. This includes methods, design patterns, guidelines, and testing practices for defining the syntax and the semantics of languages. While remaining close to technology, the book covers multiple paradigms and solutions, avoiding a particular technological silo. It unifies the modeling, the object-oriented, and the functional-programming perspectives on DSLs.
The book has 13 chapters. Chapters 1 and 2 introduce and motivate DSLs. Chapter 3 kicks off the DSL engineering lifecycle, describing how to systematically develop abstract syntax by analyzing a domain. Chapter 4 addresses the concrete syntax, including the systematic engineering of context-free grammars. Chapters 5 and 6 cover the static semantics ¿ with basic constraints as a starting point and type systems for advanced DSLs. Chapters 7 (Transformation), 8 (Interpretation), and 9 (Generation) describe different paradigms for designing and implementing the dynamic semantics, while covering testing and other kinds of quality assurance. Chapter 10 is devoted to internal DSLs. Chapters 11 to 13 show the application of DSLs and engage with simpler alternatives to DSLs in a highly distinguished domain: software variability. These chapters introduce the underlying notions of software product lines and feature modeling.
The book has been developed based on courses on model-driven software engineering (MDSE) and DSLs held by the authors. It aims at senior undergraduate and junior graduate students in computer science or software engineering. Since it includes examples and lessons from industrial and open-source projects, as well as from industrial research, practitioners will also find it a useful reference. The numerous examples include code in Scala 3, ATL, Alloy, C#, F#, Groovy, Java, JavaScript, Kotlin, OCL, Python, QVT, Ruby, and Xtend. The book contains as many as 277 exercises. The associated code repository facilitates learning and using the examples in a course.
Über den Autor

Andrzej W¿sowski is a Professor of Software Engineering at the IT University of Copenhagen in Denmark. He has previously held visiting positions at Aalborg University (Denmark), INRIA Rennes (France), and University of Waterloo (Canada). His research and teaching concerns building better software in concrete software domains, where raising the level of abstraction is often necessary. He used, designed, and evolved domain specific languages for embedded systems, operating systems, robotics, data analytics, variability management, and safety engineering. He is an editorial board member of the International Journal on Software and Systems Modeling (SoSyM), has been General Chair of the ACM/IEEE International Conference on Model Driven Engineering Languages and System, is a Steering Committee Chair of International Conference on Fundamental Approaches to Software Engineering (FASE), and member of the steering committee of European joint Conferences on Theory and Practice of Software.

Thorsten Berger is a Professor in Computer Science at Ruhr University Bochum in Germany, with previous positions at Chalmers | University of Gothenburg (Sweden), University of Waterloo (Canada), IT University of Copenhagen (Denmark), and Leipzig University (Germany). His research focuses on automating software engineering for the next generation of intelligent, autonomous, and variant-rich software systems. Since automation requires abstraction, and abstraction requires language, he has built many DSLs, as well has he taught building DSLs for model-driven software engineering in graduate courses. His research was supported by highly ranked grants, such as a Starting Grant from the Swedish Research Council and a fellowship from the Royal Swedish Academy of Sciences and the Wallenberg Foundation, one of the highest recognitions for researchers in Sweden. He received two best-paper awards, three distinguished reviewer awards, and two most-influential paper awards, the latter for studies of DSLs.

Zusammenfassung

Shows methods, design patterns, guidelines, and QA practices for defining high-level languages to build better software

Gives a unified language-independent account, covering object-oriented, functional, model-, and grammar-based paradigms

Includes many examples from industry and from open-source projects along with 277 programming and modeling exercises

Inhaltsverzeichnis
- 1. Using Modeling Languages. - 2. Building Modeling Languages. - 3. Domain Analysis and Abstract Syntax. - 4. Concrete Syntax. - 5. Static Semantics. - 6. Static Semantics with Type Systems. - 7. Model and Program Transformation. - 8. Interpretation. - 9. Code Generation. - 10. Internal Domain-Specific Languages. - 11. Software Product Lines. - 12. Feature Modeling. - 13. Model and Language Variability.
Details
Erscheinungsjahr: 2023
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: xix
485 S.
1 s/w Illustr.
485 p. 1 illus.
ISBN-13: 9783031236686
ISBN-10: 3031236688
Sprache: Englisch
Ausstattung / Beilage: Paperback
Einband: Kartoniert / Broschiert
Autor: Berger, Thorsten
W¿sowski, Andrzej
Auflage: 1st ed. 2023
Hersteller: Springer Nature Switzerland
Springer International Publishing
Springer International Publishing AG
Maße: 240 x 168 x 28 mm
Von/Mit: Thorsten Berger (u. a.)
Erscheinungsdatum: 02.02.2023
Gewicht: 0,837 kg
Artikel-ID: 125821831
Über den Autor

Andrzej W¿sowski is a Professor of Software Engineering at the IT University of Copenhagen in Denmark. He has previously held visiting positions at Aalborg University (Denmark), INRIA Rennes (France), and University of Waterloo (Canada). His research and teaching concerns building better software in concrete software domains, where raising the level of abstraction is often necessary. He used, designed, and evolved domain specific languages for embedded systems, operating systems, robotics, data analytics, variability management, and safety engineering. He is an editorial board member of the International Journal on Software and Systems Modeling (SoSyM), has been General Chair of the ACM/IEEE International Conference on Model Driven Engineering Languages and System, is a Steering Committee Chair of International Conference on Fundamental Approaches to Software Engineering (FASE), and member of the steering committee of European joint Conferences on Theory and Practice of Software.

Thorsten Berger is a Professor in Computer Science at Ruhr University Bochum in Germany, with previous positions at Chalmers | University of Gothenburg (Sweden), University of Waterloo (Canada), IT University of Copenhagen (Denmark), and Leipzig University (Germany). His research focuses on automating software engineering for the next generation of intelligent, autonomous, and variant-rich software systems. Since automation requires abstraction, and abstraction requires language, he has built many DSLs, as well has he taught building DSLs for model-driven software engineering in graduate courses. His research was supported by highly ranked grants, such as a Starting Grant from the Swedish Research Council and a fellowship from the Royal Swedish Academy of Sciences and the Wallenberg Foundation, one of the highest recognitions for researchers in Sweden. He received two best-paper awards, three distinguished reviewer awards, and two most-influential paper awards, the latter for studies of DSLs.

Zusammenfassung

Shows methods, design patterns, guidelines, and QA practices for defining high-level languages to build better software

Gives a unified language-independent account, covering object-oriented, functional, model-, and grammar-based paradigms

Includes many examples from industry and from open-source projects along with 277 programming and modeling exercises

Inhaltsverzeichnis
- 1. Using Modeling Languages. - 2. Building Modeling Languages. - 3. Domain Analysis and Abstract Syntax. - 4. Concrete Syntax. - 5. Static Semantics. - 6. Static Semantics with Type Systems. - 7. Model and Program Transformation. - 8. Interpretation. - 9. Code Generation. - 10. Internal Domain-Specific Languages. - 11. Software Product Lines. - 12. Feature Modeling. - 13. Model and Language Variability.
Details
Erscheinungsjahr: 2023
Genre: Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: xix
485 S.
1 s/w Illustr.
485 p. 1 illus.
ISBN-13: 9783031236686
ISBN-10: 3031236688
Sprache: Englisch
Ausstattung / Beilage: Paperback
Einband: Kartoniert / Broschiert
Autor: Berger, Thorsten
W¿sowski, Andrzej
Auflage: 1st ed. 2023
Hersteller: Springer Nature Switzerland
Springer International Publishing
Springer International Publishing AG
Maße: 240 x 168 x 28 mm
Von/Mit: Thorsten Berger (u. a.)
Erscheinungsdatum: 02.02.2023
Gewicht: 0,837 kg
Artikel-ID: 125821831
Warnhinweis

Ähnliche Produkte

Ähnliche Produkte