Author: Anneke Kleppe
Publisher: Pearson Education
ISBN: 0321606469
Category : Computers
Languages : en
Pages : 377
Book Description
Software practitioners are rapidly discovering the immense value of Domain-Specific Languages (DSLs) in solving problems within clearly definable problem domains. Developers are applying DSLs to improve productivity and quality in a wide range of areas, such as finance, combat simulation, macro scripting, image generation, and more. But until now, there have been few practical resources that explain how DSLs work and how to construct them for optimal use. Software Language Engineering fills that need. Written by expert DSL consultant Anneke Kleppe, this is the first comprehensive guide to successful DSL design. Kleppe systematically introduces and explains every ingredient of an effective language specification, including its description of concepts, how those concepts are denoted, and what those concepts mean in relation to the problem domain. Kleppe carefully illuminates good design strategy, showing how to maximize the flexibility of the languages you create. She also demonstrates powerful techniques for creating new DSLs that cooperate well with general-purpose languages and leverage their power. Completely tool-independent, this book can serve as the primary resource for readers using Microsoft DSL tools, the Eclipse Modeling Framework, openArchitectureWare, or any other DSL toolset. It contains multiple examples, an illustrative running case study, and insights and background information drawn from Kleppe’s leading-edge work as a DSL researcher. Specific topics covered include Discovering the types of problems that DSLs can solve, and when to use them Comparing DSLs with general-purpose languages, frameworks, APIs, and other approaches Understanding the roles and tools available to language users and engineers Creating each component of a DSL specification Modeling both concrete and abstract syntax Understanding and describing language semantics Defining textual and visual languages based on object-oriented metamodeling and graph transformations Using metamodels and associated tools to generate grammars Integrating object-oriented modeling with graph theory Building code generators for new languages Supporting multilanguage models and programs This book provides software engineers with all the guidance they need to create DSLs that solve real problems more rapidly, and with higher-quality code.
Software Language Engineering
Software Language Engineering
Author: Benoit Combemale
Publisher: Springer
ISBN: 9783319112442
Category : Computers
Languages : en
Pages : 0
Book Description
This book constitutes the refereed proceedings of the 7th International Conference on Software Language Engineering, SLE 2014, held in Västerås, Sweden, in September 2014. The 19 revised full papers presented together with 1 invited paper were carefully reviewed and selected from 61 initial submissions. The papers observe software languages from different and yet complementary perspectives: programming languages, model driven engineering, domain specific languages, semantic web, and from different technological spaces: context-free grammars, object-oriented modeling frameworks, rich data, structured data, object-oriented programming, functional programming, logic programming, term-rewriting, attribute grammars, algebraic specification, etc.
Publisher: Springer
ISBN: 9783319112442
Category : Computers
Languages : en
Pages : 0
Book Description
This book constitutes the refereed proceedings of the 7th International Conference on Software Language Engineering, SLE 2014, held in Västerås, Sweden, in September 2014. The 19 revised full papers presented together with 1 invited paper were carefully reviewed and selected from 61 initial submissions. The papers observe software languages from different and yet complementary perspectives: programming languages, model driven engineering, domain specific languages, semantic web, and from different technological spaces: context-free grammars, object-oriented modeling frameworks, rich data, structured data, object-oriented programming, functional programming, logic programming, term-rewriting, attribute grammars, algebraic specification, etc.
Software Engineering at Google
Author: Titus Winters
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Publisher: O'Reilly Media
ISBN: 1492082767
Category : Computers
Languages : en
Pages : 602
Book Description
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
Software Language Engineering
Author: Mark van den Brand
Publisher: Springer Science & Business Media
ISBN: 3642121063
Category : Computers
Languages : en
Pages : 396
Book Description
This book constitutes the thoroughly refereed post-conference proceedings of the Second International Conference on Software Language Engineering, SLE 2009, held in Denver, CO, USA, in October 2009. The 15 revised full papers and 6 revised short paper presented together with 2 tool demonstration papers were carefully reviewed and selected from 75 initial submissions. The papers are organized in topical sections on language and model evolution, variability and product lines, parsing, compilation, and demo, modularity in languages, and metamodeling and demo.
Publisher: Springer Science & Business Media
ISBN: 3642121063
Category : Computers
Languages : en
Pages : 396
Book Description
This book constitutes the thoroughly refereed post-conference proceedings of the Second International Conference on Software Language Engineering, SLE 2009, held in Denver, CO, USA, in October 2009. The 15 revised full papers and 6 revised short paper presented together with 2 tool demonstration papers were carefully reviewed and selected from 75 initial submissions. The papers are organized in topical sections on language and model evolution, variability and product lines, parsing, compilation, and demo, modularity in languages, and metamodeling and demo.
Software Language Engineering
Author: Dragan Gaševic
Publisher: Springer Science & Business Media
ISBN: 3642004334
Category : Business & Economics
Languages : en
Pages : 354
Book Description
This book constitutes the thoroughly refereed post-conference proceedings of the First International Conference on Software Language Engineering, SLE 2008, held in Toulouse, France, in September 2008. The 16 revised full papers and 1 revised short paper presented together with 1 tool demonstration paper and 2 keynote lectures were carefully reviewed and selected from 106 initial submissions. The papers are organized in topical sections on language and tool analysis and evaluation, concrete and abstract syntax, language engineering techniques, language integration and transformation, language implementation and analysis, as well as language engineering pearls.
Publisher: Springer Science & Business Media
ISBN: 3642004334
Category : Business & Economics
Languages : en
Pages : 354
Book Description
This book constitutes the thoroughly refereed post-conference proceedings of the First International Conference on Software Language Engineering, SLE 2008, held in Toulouse, France, in September 2008. The 16 revised full papers and 1 revised short paper presented together with 1 tool demonstration paper and 2 keynote lectures were carefully reviewed and selected from 106 initial submissions. The papers are organized in topical sections on language and tool analysis and evaluation, concrete and abstract syntax, language engineering techniques, language integration and transformation, language implementation and analysis, as well as language engineering pearls.
Software Engineering in C
Author: Peter A. Darnell
Publisher: Springer Science & Business Media
ISBN: 1468403087
Category : Computers
Languages : en
Pages : 633
Book Description
The author starts with the premise that C is an excellent language for software engineering projects. The book con- centrates on programming style,particularly readability, maintainability, and portability. Documents the proposed ANSI Standard, which is expected to be ratified in 1987. This book is designed as a text for both beginner and inter- mediate-level programmers.
Publisher: Springer Science & Business Media
ISBN: 1468403087
Category : Computers
Languages : en
Pages : 633
Book Description
The author starts with the premise that C is an excellent language for software engineering projects. The book con- centrates on programming style,particularly readability, maintainability, and portability. Documents the proposed ANSI Standard, which is expected to be ratified in 1987. This book is designed as a text for both beginner and inter- mediate-level programmers.
Software Language Engineering
Author: Benoit Combemale
Publisher: Springer
ISBN: 3319112457
Category : Computers
Languages : en
Pages : 365
Book Description
This book constitutes the refereed proceedings of the 7th International Conference on Software Language Engineering, SLE 2014, held in Västerås, Sweden, in September 2014. The 19 revised full papers presented together with 1 invited paper were carefully reviewed and selected from 61 initial submissions. The papers observe software languages from different and yet complementary perspectives: programming languages, model driven engineering, domain specific languages, semantic web, and from different technological spaces: context-free grammars, object-oriented modeling frameworks, rich data, structured data, object-oriented programming, functional programming, logic programming, term-rewriting, attribute grammars, algebraic specification, etc.
Publisher: Springer
ISBN: 3319112457
Category : Computers
Languages : en
Pages : 365
Book Description
This book constitutes the refereed proceedings of the 7th International Conference on Software Language Engineering, SLE 2014, held in Västerås, Sweden, in September 2014. The 19 revised full papers presented together with 1 invited paper were carefully reviewed and selected from 61 initial submissions. The papers observe software languages from different and yet complementary perspectives: programming languages, model driven engineering, domain specific languages, semantic web, and from different technological spaces: context-free grammars, object-oriented modeling frameworks, rich data, structured data, object-oriented programming, functional programming, logic programming, term-rewriting, attribute grammars, algebraic specification, etc.
Software Languages
Author: Ralf Lämmel
Publisher: Springer
ISBN: 3319908006
Category : Computers
Languages : en
Pages : 448
Book Description
This book identifies, defines and illustrates the fundamental concepts and engineering techniques relevant to applications of software languages in software development. It presents software languages primarily from a software engineering perspective, i.e., it addresses how to parse, analyze, transform, generate, format, and otherwise process software artifacts in different software languages, as they appear in software development. To this end, it covers a wide range of software languages – most notably programming languages, domain-specific languages, modeling languages, exchange formats, and specifically also language definition languages. Further, different languages are leveraged to illustrate software language engineering concepts and techniques. The functional programming language Haskell dominates the book, while the mainstream programming languages Python and Java are additionally used for illustration. By doing this, the book collects and organizes scattered knowledge from software language engineering, focusing on application areas such as software analysis (software reverse engineering), software transformation (software re-engineering), software composition (modularity), and domain-specific languages. It is designed as a textbook for independent study as well as for bachelor’s (advanced level) or master’s university courses in Computer Science. An additional website provides complementary material, for example, lecture slides and videos. This book is a valuable resource for anyone wanting to understand the fundamental concepts and important engineering principles underlying software languages, allowing them to acquire much of the operational intelligence needed for dealing with software languages in software development practice. This is an important skill set for software engineers, as languages are increasingly permeating software development.
Publisher: Springer
ISBN: 3319908006
Category : Computers
Languages : en
Pages : 448
Book Description
This book identifies, defines and illustrates the fundamental concepts and engineering techniques relevant to applications of software languages in software development. It presents software languages primarily from a software engineering perspective, i.e., it addresses how to parse, analyze, transform, generate, format, and otherwise process software artifacts in different software languages, as they appear in software development. To this end, it covers a wide range of software languages – most notably programming languages, domain-specific languages, modeling languages, exchange formats, and specifically also language definition languages. Further, different languages are leveraged to illustrate software language engineering concepts and techniques. The functional programming language Haskell dominates the book, while the mainstream programming languages Python and Java are additionally used for illustration. By doing this, the book collects and organizes scattered knowledge from software language engineering, focusing on application areas such as software analysis (software reverse engineering), software transformation (software re-engineering), software composition (modularity), and domain-specific languages. It is designed as a textbook for independent study as well as for bachelor’s (advanced level) or master’s university courses in Computer Science. An additional website provides complementary material, for example, lecture slides and videos. This book is a valuable resource for anyone wanting to understand the fundamental concepts and important engineering principles underlying software languages, allowing them to acquire much of the operational intelligence needed for dealing with software languages in software development practice. This is an important skill set for software engineers, as languages are increasingly permeating software development.
Software Language Engineering
Author: Brian Malloy
Publisher: Springer
ISBN: 3642194400
Category : Computers
Languages : en
Pages : 428
Book Description
This book constitutes the thoroughly refereed post-proceedings of the Third International Conference on Software Language Engineering, SLE 2010, held in Eindhoven, The Netherlands, in October 2010. The 24 papers presented were carefully reviewed and selected from 79 submissions. The book also contains the abstracts of two invited talks. The papers are grouped in topical sections on grammarware, metamodeling, evolution, programming, and domain-specific languages. The short papers and demos included deal with modeling and transformations and translations.
Publisher: Springer
ISBN: 3642194400
Category : Computers
Languages : en
Pages : 428
Book Description
This book constitutes the thoroughly refereed post-proceedings of the Third International Conference on Software Language Engineering, SLE 2010, held in Eindhoven, The Netherlands, in October 2010. The 24 papers presented were carefully reviewed and selected from 79 submissions. The book also contains the abstracts of two invited talks. The papers are grouped in topical sections on grammarware, metamodeling, evolution, programming, and domain-specific languages. The short papers and demos included deal with modeling and transformations and translations.
Software Engineering 2
Author: Dines Bjørner
Publisher: Springer Science & Business Media
ISBN: 354033193X
Category : Computers
Languages : en
Pages : 780
Book Description
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches. This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages. This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.
Publisher: Springer Science & Business Media
ISBN: 354033193X
Category : Computers
Languages : en
Pages : 780
Book Description
The art, craft, discipline, logic, practice and science of developing large-scale software products needs a professional base. The textbooks in this three-volume set combine informal, engineeringly sound approaches with the rigor of formal, mathematics-based approaches. This volume covers the basic principles and techniques of specifying systems and languages. It deals with modelling the semiotics (pragmatics, semantics and syntax of systems and languages), modelling spatial and simple temporal phenomena, and such specialized topics as modularity (incl. UML class diagrams), Petri nets, live sequence charts, statecharts, and temporal logics, including the duration calculus. Finally, the book presents techniques for interpreter and compiler development of functional, imperative, modular and parallel programming languages. This book is targeted at late undergraduate to early graduate university students, and researchers of programming methodologies. Vol. 1 of this series is a prerequisite text.