Software Language Engineering: Creating Domain-Specific by Anneke Kleppe

By Anneke Kleppe

Software program practitioners are speedily gaining knowledge of the substantial price of Domain-Specific Languages (DSLs) in fixing difficulties inside of sincerely definable challenge domain names. builders are utilising DSLs to enhance productiveness and caliber in quite a lot of parts, similar to finance, wrestle simulation, macro scripting, photo iteration, and extra. yet in the past, there were few useful assets that specify how DSLs paintings and the way to build them for optimum use.   software program Language Engineering fills that want. Written through specialist DSL advisor Anneke Kleppe, this is often the 1st accomplished consultant to profitable DSL layout. Kleppe systematically introduces and explains each element of a good language specification, together with its description of ideas, how these strategies are denoted, and what these strategies suggest on the subject of the matter area. Kleppe conscientiously illuminates sturdy layout procedure, exhibiting find out how to maximize the flexibleness of the languages you create. She additionally demonstrates robust strategies 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 comprises a number of examples, an illustrative working case research, and insights and heritage info drawn from Kleppe’s modern paintings as a DSL researcher.   particular subject matters lined comprise   studying the kinds of difficulties that DSLs can resolve, and while to exploit them evaluating DSLs with general-purpose languages, frameworks, APIs, and different methods figuring out the jobs and instruments to be had to language clients and engineers developing every one portion of a DSL specification Modeling either concrete and summary syntax knowing and describing language semantics Defining textual and visible languages in line with object-oriented metamodeling and graph changes utilizing metamodels and linked instruments to generate grammars Integrating object-oriented modeling with graph concept construction code turbines for brand spanking new languages aiding multilanguage types and courses   This publication offers software program engineers with the entire assistance they should create DSLs that resolve genuine difficulties extra quickly, and with higher-quality code.

Show description

Read or Download Software Language Engineering: Creating Domain-Specific Languages Using Metamodels PDF

Best systems analysis & design books

Architectures for E-Business Systems: Building the Foundation for Tomorrow's Success

As dot. com businesses grapple with inflexible industry stipulations and we hold listening to how the massive expertise gamers are being punished on Wall road, it turns into effortless to think about the web as a fad. the web frenzy can have subsided, yet curiosity within the web as a enterprise and advertising device continues to be robust.

Operating System Concepts, 6th Edition

Celebrating its twentieth anniversary, Silberschatz: working platforms ideas, 6th variation, keeps to supply a superior theoretical starting place for realizing working platforms. The 6th variation deals stronger conceptual insurance and extra content material to bridge the distance among thoughts and genuine implementations.

Additional info for Software Language Engineering: Creating Domain-Specific Languages Using Metamodels

Sample text

In other words, what remains of interest for software languages at a higher level of abstraction, and what is not? To formulate an answer to this question, we need to realize that ultimately all software runs on a combination of memory and central processing unit, (CPU) power, a combination known as hardware. All software is executed by CPU instructions that act on binary numbers. However, specifying a mogram in terms of CPU instructions and binary numbers is cumbersome. Most computer scientists feel the need to abstract away from the hardware level.

But first, we need a definition of what a language specification is. Definition 4-1 (Language Specification) A language specification of language L is the set of rules according to which the linguistic utterances of L are structured, optionally combined with a description of the intended meaning of the linguistic utterances. A language specification should at least make clear what is and is not a syntactically valid mogram in that language. In my opinion, a language description should also include a description of what a mogram means or is supposed to do, that is, its semantics.

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. 4. 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.

Download PDF sample

Rated 4.54 of 5 – based on 26 votes