arch:role-of-dsl-in-domain-analysis

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
arch:role-of-dsl-in-domain-analysis [2021/10/17 20:56] aavolkov_3arch:role-of-dsl-in-domain-analysis [2026/08/29 07:59] (current) – external edit 127.0.0.1
Line 14: Line 14:
  
 In this essay the role of domain specific languages on domain analysis will be discussed. In this essay the role of domain specific languages on domain analysis will be discussed.
- 
  
 ===== Opportunities and Risks ===== ===== Opportunities and Risks =====
Line 30: Line 29:
  
 The disadvantages of the use of a DSL are: The disadvantages of the use of a DSL are:
 +
   * DSL programs rather costly in terms of design, implementation and maintenance.   * DSL programs rather costly in terms of design, implementation and maintenance.
   * DSL users need to be specially educated to know specific language.   * DSL users need to be specially educated to know specific language.
Line 40: Line 40:
  
 The development of a domain-specific language includes the following steps [12, 13]: The development of a domain-specific language includes the following steps [12, 13]:
 +
   * Analysis    * Analysis 
 +
     - Identification of the problem domain.     - Identification of the problem domain.
-    - Gathering all relevant data and knowledge for particular domain.  +    - Gathering all relevant data and knowledge for particular domain. 
-    - Grouping the knowledge in a handful of semantic notions and operations on them. +    - Grouping the knowledge in a handful of semantic notions and operations on them.
     - Design a DSL that precisely describes applications domain.     - Design a DSL that precisely describes applications domain.
   * Implementation    * Implementation 
-    - Develop a library that implements the designed DSL. + 
 +    - Develop a library that implements the designed DSL.
     - Design and implement a compiler that converts DSL programs to a sequence of library calls.     - Design and implement a compiler that converts DSL programs to a sequence of library calls.
   * Use    * Use 
 +
     - Write DSL programs for all desired applications and compile them.     - Write DSL programs for all desired applications and compile them.
  
Line 82: Line 86:
  
 Domain analysis uses domain-specific language as a methodology for producing domain models. The domain-specific language allows programs to be concise, enhance productivity, reliability, maintainability, and portability. On the other hand, DSL programs come with costs of design, implementation and maintenance. The entry threshold to working with DSL is also higher then in general purpose languages. Overall, in some cases it seems a decent solution for producing domain models in domain analysis. Domain analysis uses domain-specific language as a methodology for producing domain models. The domain-specific language allows programs to be concise, enhance productivity, reliability, maintainability, and portability. On the other hand, DSL programs come with costs of design, implementation and maintenance. The entry threshold to working with DSL is also higher then in general purpose languages. Overall, in some cases it seems a decent solution for producing domain models in domain analysis.
- 
- 
- 
  
 ===== References ===== ===== References =====
Line 105: Line 106:
   - R. N. Taylor, W. Tracz, and L. Coglianese. Software development using domain-specific software architectures. ACM SIGSOFT Software Engineering Notes, 20(5):27–37, 1995.   - R. N. Taylor, W. Tracz, and L. Coglianese. Software development using domain-specific software architectures. ACM SIGSOFT Software Engineering Notes, 20(5):27–37, 1995.
   - J. L. Bentley. Programming pearls: Little languages. Communications of the ACM, 29(8):711–721, August 1986   - J. L. Bentley. Programming pearls: Little languages. Communications of the ACM, 29(8):711–721, August 1986
- 
  • arch/role-of-dsl-in-domain-analysis.1634504202.txt.gz
  • Last modified: 2026/08/29 07:59
  • (external edit)