By Anneke Kleppe
Software program practitioners are swiftly researching the massive price of Domain-Specific Languages (DSLs) in fixing difficulties inside of basically definable challenge domain names. builders are making use of DSLs to enhance productiveness and caliber in a variety of parts, comparable to finance, strive against simulation, macro scripting, photograph new release, and extra. yet before, there were few useful assets that designate how DSLs paintings and the way to build them for optimum use. software program Language Engineering fills that desire. Written by way of specialist DSL advisor Anneke Kleppe, this can be the 1st complete advisor to profitable DSL layout. Kleppe systematically introduces and explains each factor of an efficient language specification, together with its description of strategies, how these thoughts are denoted, and what these suggestions suggest in terms of the matter area. Kleppe rigorously illuminates strong layout method, exhibiting the right way to maximize the pliability of the languages you create. She additionally demonstrates robust options for growing new DSLs that cooperate good with general-purpose languages and leverage their strength. thoroughly tool-independent, this booklet can function the first source for readers utilizing Microsoft DSL instruments, the Eclipse Modeling Framework, openArchitectureWare, or the other DSL toolset. It includes a number of examples, an illustrative operating case learn, and insights and historical past info drawn from Kleppe’s modern paintings as a DSL researcher. particular issues coated contain learning the categories of difficulties that DSLs can remedy, and while to exploit them evaluating DSLs with general-purpose languages, frameworks, APIs, and different techniques figuring out the jobs and instruments on hand to language clients and engineers growing every one element of a DSL specification Modeling either concrete and summary syntax realizing and describing language semantics Defining textual and visible languages in keeping with object-oriented metamodeling and graph adjustments utilizing metamodels and linked instruments to generate grammars Integrating object-oriented modeling with graph thought construction code turbines for brand new languages aiding multilanguage types and courses This publication presents software program engineers with all of the counsel they should create DSLs that clear up actual difficulties extra speedily, and with higher-quality code.
Read Online or Download Software Language Engineering: Creating Domain-Specific Languages Using Metamodels PDF
Similar systems analysis & design books
In a realistic consultant to company structure, six best specialists current necessary technical, strategy, and company perception into each point of firm structure. you can find start-to-finish counsel for architecting powerful process, software program, and service-oriented architectures; utilizing product traces to streamline company software program layout; leveraging robust agile modeling concepts; extending the Unified technique to the entire software program lifecycle; architecting presentation degrees and person adventure; and using the technical path of the complete firm.
Cadle and Yeates' venture administration for info platforms is acceptable for undergraduate scholars learning venture administration in the IT surroundings. This entire and sensible booklet is a superb place to begin for any scholars of venture administration for info structures, whether or not they are from a computing or a company heritage, at undergraduate or masters point.
CRYSTAL experiences® 2008 authentic consultant no matter if you’re a DBA, information warehousing or enterprise intelligence expert, reporting expert, or developer, this e-book has the solutions you wish. via hands-on examples, you’ll systematically grasp Crystal studies and Xcelsius 2008’s strongest good points for growing, allotting, and supplying content material.
- Utility-Based Learning from Data
- Bayesian Artificial Intelligence
- Refactoring. Ruby Edition
- Research-Based Web Design & Usability Guidelines
Additional resources for Software Language Engineering: Creating Domain-Specific Languages Using Metamodels
Create an abstract syntax model, taking into account references to other languages. 2. Generate a concrete syntax model, and experiment with some example mograms. 3. Revise the abstract syntax model and reiterate. 4. Create a semantics. 5. Revise the abstract syntax model and reiterate, possibly changing the concrete syntax model(s) as well. 6. Create the tools that support the language user. 7. Devise a way to handle different versions of the language, because many enthusiastic users will demand changes, and some will want to stick to older versions.
An Example To illustrate the various elements in a language specification, let‘s take a look at an example that will be familiar to many people: the language of mathematical expressions. The model in Figure 4-3 is a specification of the abstract syntax of this language. The model contains no hints on what a mathematical expression should look like; that is, it does not contain information on the concrete syntax. Figure 4-3. Mathematical-expression language ASM Figure 4-4(a) shows various concrete forms of a mathematical expression—a mogram of this language.
The essence of abstract syntax is that a mogram cannot be experienced in its abstract form. Whenever you see or read a mogram, it has (again obtained) a concrete form (Figure 4-2). From Chapter 1, you might recall that languages can have multiple syntaxes. Actually, languages can have multiple concrete syntaxes. But no matter how the mogram is represented to a language user, its abstract form is the same. The abstract form is the unification of several concrete forms, as detailed in Chapter 6. Figure 4-2.
Software Language Engineering: Creating Domain-Specific Languages Using Metamodels by Anneke Kleppe