Explore chapters and articles related to this topic
vmStrat Domain Specific Language
Published in Vincent G. Duffy, Advances in Applied Human Modeling and Simulation, 2012
Jonathan Ozik, Nicholson T. Collier, Michael J. North, W.R. Rivera
One aspect of vmStrat is a domain specific language (DSL) focusing on the domain of dynamic strategy in geopolitical settings. DSLs are increasingly used to enable subject matter experts in a variety of fields to take advantage of the power and convenience afforded by advancements in computation (see e.g., Fowler et al. 2010, Dearle 2010). A DSL is a language, along with associated idioms and concepts, developed for a particular area of application. A DSL can simplify programming in a given area by focusing on the concepts and constructs relevant to that domain. DSLs can also introduce paradigm-changing research methodologies into areas that have not traditionally relied on computation.
Robot Programming
Published in Marina Indri, Roberto Oboe, Mechatronics and Robotics, 2020
Christian Schlegel, Dennis Stampfer, Alex Lotz, Matthias Lutz
A domain-specific language (DSL) is a programming or modeling language dedicated to a particular problem domain that offers specific notations and abstractions, which, at the same time, decrease the coding complexity and increase programmer productivity within that domain. DSLs based on good architectural patterns offer a high-level way for domain users to specify the functionality of their system at the right level of abstraction. DSLs and models have historically been used for programming complex systems and have become a separate field of study.
HART Device Networks
Published in Richard Zurawski, Industrial Communication Technology Handbook, 2017
The DDL language is a domain-specific language (DSL). A DSL is a programming language that’s targeted at a specific problem; other programming languages such as C++ are more general purpose. A DSL contains the syntax and semantics that model concepts at the same level of abstraction that the problem domain offers. In this case, since the domain is devices, the DSL DDL is designed specifically to support all aspects of device description and management.
Data and model-based triple V product development framework and methodology
Published in Enterprise Information Systems, 2022
Qing Li, Hailong Wei, Chao Yu, Shuangshuang Wang
The triple V framework is a highly abstract and generalised framework. As mentioned in section 2, the Harmony methodology can be replaced with MagicGrid methodology to form the methodology of the proposed triple V framework. The successful mapping from two different MBSE methodology, MagicGrid and Harmony, to the proposed framework implies the accuracy and the variability for different system design and specification processes. Moreover, for other product development domains, such as mechanics, electronics, fluidics, etc., there are domain-specific languages for product development to choose other than SysML used in Harmony (Morkevicius et al. (2020)). A domain-specific language is a programming language or modelling language with limited expressive ability specific to a certain domain. It can improve development effectiveness through simplifying the problem’s complexity and eliminating misunderstandings between domain stakeholders(Wöhrer and Zdun (2020); Da Silva et al. (2018)). Some domain-specific languages for different domains are listed in Table 2. Different languages can be used for corresponding domains, which also reflects the variability of the constructed framework.
ALAS: agent-oriented domain-specific language for the development of intelligent distributed non-axiomatic reasoning agents
Published in Enterprise Information Systems, 2018
Dejan Sredojević, Milan Vidaković, Mirjana Ivanović
Often, the scope of the agent’s execution relates to various specific domains where in comparison to General-Purpose Languages (GPLs), Domain-Specific Languages (DSLs) have the following advantage: a DSL is a specialized computer language focused on a particular domain and designed for a specific task. This is in contrast to GPLs like C, Python, Java that are designed to let programmers write any sort of program with any sort of logic they need (Wikipedia 2017b; Fowler 2010). DSLs are used for programming in specific domains where GPL cannot solve the necessary tasks (or can, but with a lot of effort). Compared to GPLs, DSLs are more concise, more productive, code can be written more quickly, they are easier to maintain, and they are easier to reason about (Hudak 1998). The basic features that each DSL should provide are the appropriate levels of abstraction, describing logical and natural solutions but also the hiding of complexity (Kosar et al. 2010).
A rewriting system for convex optimization problems
Published in Journal of Control and Decision, 2018
Akshay Agrawal, Robin Verschueren, Steven Diamond, Stephen Boyd
A DSL is a language that is designed for a particular application domain (Mernik, Heering, & Sloane, 2005); familiar examples include MATLAB and SQL. DSLs for convex optimization are languages designed for specifying convex optimization problems in natural, human-readable forms, and they obtain solutions to problems on their users’ behalf by invoking numerical solvers; popular ones include Yalmip (Löfberg, 2004), CVX (Grant & Boyd, 2014), Convex.jl (Udell et al., 2014) and CVXPY (Diamond & Boyd, 2016a). These DSLs do support some non-convex regimes (e.g. combinatorial optimization), and there also exist DSLs for non-linear optimization (see Boyd & Vandenberghe, 2004, §1.4, for a definition), including GAMS (Brook, Kendrick, & Meeraus, 1988), AMPL (Fourer, Gay, & Kernighan, 1990) and JuMP (Dunning, Huchette, & Lubin, 2017); here, however, we limit our discussion to convexity.