Answer:
1. Domain Specific Language
Domain specific languages is used in specializing the particular application domain. It is the widely used language for the common domains such as HTML. The domain specific languages is commonly used by these softwares such as XEmacs, GNU Emacs and it can be sub divided into different kind of languages such as domain specific programming languages, modelling languages and domain specific markup languages. It is particularly used for single application and it also called as mini language.
The DSL is the specific programming language and it designed for specific domain, it is used to specify express solutions to problems. It broken up into two ways such as freestanding domain specific languages and embedded domain specific languages. The Freestanding domain specific languages has not extension to the particular host language and it will providing native code implementation in general purpose language. The embedded domain specific languages is the extension to the host language. It will be invoking the host languages and it is implemented as Lisp Macros. Domain specific languages examples are Post script, CeeGee language, Macro language, structured query language, CRobots and voice application languages. It is mainly used for creating process, specifically for ignoring the problems in the particular domain and it will only solve the problems from outside. It is also used in business areas such as large insurance enterprise, billing, Calculation and simulation (Olukotun, 2012).
The domain specific languages creation process have two ways such as internal domain specific languages and external domain specific languages. Creation of internal domain specific languages is used in the java programming language. The java language examined by Domain specific language tool and it introduces the basic concepts of internal DSLs. The internal domain specific languages is used to create the application and it will have the main language without the requirement of interpreters and the compliers. DSL designing is used to define the domain class for each domain, such as lamp and web page and also for defining the domain relationship such as wire and hyperlink (Martinfowler.com, 2017).
2. Design goals
The Domain specific language approach involves in both the opportunities and the risks and then the well design domain specific language is used for managing and finding the balance between risks and opportunities. It also have some important design goals such as less comprehensive, domain specific languages and it should have minimal redundancy and more expressive. The well designed domain specific languages is used to improve the productivity and also for the domain communication improvement (Fowler, 2011).
3. Domain Specific Language Feature
The process of parts identification for the application is called Domain-specific development. By using this language, the construction and deployment is finished by the specific developers. This language is used in particular applications. To develop this language, the source code will be initiated using the models. The developers use the generated source code for the development of application.
Domain specific language has some features as discussed below,
- Domain model
- Notation
- Serialization
- Artifact generation
- Integration with visual studio
Domain model
Domain specific language is the based on the relationship between the grammar and set of elements. The validity of this combination will be defined by the language. The circular inheritance of the language should be alerted. It refers to, a single class is derived from another class and vice versa. To communicate the business logic, some Constraints should be used. It says single person should not depend on himself. The constraints are been used by the domain specific language. It is used to produce various kinds of limitations (Msdn.microsoft.com, 2017).
Notation
The specified set of elements are elaborated for representing the constraints used in domain specific languages. The notations will be containing various shapes. This shapes illustrates the connectors and the elements. The relationship represents the graphical surface diagram.
Serialization
The formation of domain specific languages can be loaded, edited, saved and closed in this serialization. This language uses tools like XML format. It defines the customization of this language serialization (Raja and Lakshmanan, 2010).
Artifact Generation
The major use of domain specific language is to artifact creation process. For example an XML file, source code. The domain specific language tools also used to produce the artifacts, when the model is changed.
Integration with Visual Studio
The tool used in domain specific language is arranged in Visual Studio. The controls and the visual studio windows are elaborated. The behavior of toolbox items, menu command and also the elements used by the user are customized.
4. Design and Implementation
Domain specific language is one of the language which is used for achieving specific goals with design and implementation. It can be one of the visual language and it can be created with one frame works like Eclipse or any other programming languages with textual expressions. Grep command is used as a regular expression with command lines and it matches the patterns of text. The utility of Sed is used to match the syntax that matches the expression. The small languages’ are combined together in the shell and it is used for performing specific tasks.
The difference between the scripting languages and domain specific languages is blurred. The domain specific languages has lackage in accessing file system, controlling intercrosses and some other functions that are not characterizing the features of the programming language. The domain specific language will not compile the executable codes. Though, it has other media objects.
Csound is used to compile the audio files and the ray tracing domain is used to compile the particular languages like POV. These languages will be generating the Graphic files. SQL language is used for making the tasks interesting and it is a deemed domain specific language. It has specific domain functions and it is manipulated with the other applications. SQL language has many keywords and the functions that are in the form of scripting languages. So this language has some own specific rights, because of the database is manipulated with programming language. To become a mastery in this language it requires high level of prevalence in database manipulation. The other issue in this domain specific language is, it exposes API and it can be accessed from any other languages .Because of this, it can be able to execute the program in separate process with the programming libraries.
5. References
Aycock, J. (2002). The Design and Implementation of SPARK, a Toolkit for Implementing Domain-Specific Languages. Journal of Computing and Information Technology, 10(1), p.55.
Fister, I., Fister, I., Mernik, M. and Brest, J. (2011). Design and implementation of domain-specific language easytime. Computer Languages, Systems & Structures, 37(4), pp.151-167.
Fowler, M. (2011). Domain-specific languages. 1st ed. Upper Saddle River, NJ: Addison-Wesley.
Martinfowler.com. (2017). Domain Specific Languages. [online] Available at: https://martinfowler.com/books/dsl.html [Accessed 11 Jan. 2017].
Msdn.microsoft.com. (2017). About Domain-Specific Languages. [online] Available at: https://msdn.microsoft.com/en-us/library/bb126278.aspx [Accessed 11 Jan. 2017].
Olukotun, K. (2012). High performance embedded domain specific languages. ACM SIGPLAN Notices, 47(9), p.139.
Preschern, C., Kajtazovic, N. and Kreiner, C. (2014). Evaluation of Domain Modeling Decisions for Two Identical Domain Specific Languages. Lecture Notes on Software Engineering, pp.37-41.
Raja, A. and Lakshmanan, D. (2010). Domain Specific Languages. International Journal of Computer Applications, 1(21), pp.105-111.