Back close

Course Detail

Course Name Domain Specific Languages
Course Code 23CSE456
Program B. Tech. in Computer Science and Engineering (CSE)
Credits 3
Campus Amritapuri ,Coimbatore,Bengaluru, Amaravati, Chennai

Syllabus

Unit I

Introduction to DSL

An introductory example. Introduction to DSLs -Terminologies – General Purpose language to DSL – Modelling & Model-driven development – Benefits of using DSL – Challenges – Applications of DSLs. Using Domain-Specific Languages – Defining DSL – DSL Lifecycle – What Makes a Good DSL Design – Differentiation from other approaches.

Unit II

DSL Design

Conceptual Foundations – Program, Language and Domains – Model Purpose – Structure of Program and Languages – Parsing vs Projection. Design dimensions – Expressivity – Coverage – Semantics and Execution – Separation of Concerns – Completeness – Language Modularity Concrete Syntax. Fundamental Paradigms – Structure – Behavior – Combinations. Process issues – DSL Developments – Using DSLs. Concrete and Abstract syntax.

Unit III

DSL Implementation

Implementing DSLs – Architecture of DSL Processing – The Workings of a Parser – Grammars, Syntax, and Semantics – Parsing Data – Macros – Testing – Handling Errors – Migrating DSLs. Internal DSL and External DSL implementation. Choosing between internal and external DSL. Alternative computational models – Decision Table – Production Rule System – State Machine – Dependency Network – Choosing a Model. Code generation. A Zoo of DSLs.

Objectives and Outcomes

Course Objectives

  • The main objective of the course is to impart a solid overview of the state of the art of today’s domain specific languages (DSLs).
  • This includes introduction to some existing domain specific languages, their design and implementation.

Course Outcomes

CO1: To understand the basic concepts of Domain specific languages.

CO2: To understand the conceptual foundations of designing Domain specific Languages.

CO3: To understand the implementation of internal and external DSLs.

CO4: Explore some existing DSLs.

CO-PO Mapping

 PO/PSO

PO1

PO2

PO3

PO4

PO5

PO6

PO7

PO8

PO9

PO10

PO11

PO12

PSO1

PSO2

CO

CO1

3

3

2

2

2

CO2

3

3

3

3

3

2

2

2

2

CO3

3

3

3

3

3

3

2

2

2

CO4

3

3

3

3

3

3

2

2

2

Evaluation Pattern

Evaluation Pattern: 70:30

Assessment

Internal

End Semester

MidTerm Exam

20

 

Continuous Assessment – Theory (*CAT)

10

 

Continuous Assessment – Lab (*CAL)

40

 

**End Semester

 

30 (50 Marks; 2 hours exam)

*CAT – Can be Quizzes, Assignments, and Reports

*CAL – Can be Lab Assessments, Project, and Report

**End Semester can be theory examination/ lab-based examination/ project presentation

Text Books / References

Reference(s)

Lorenzo Bettini, “Implementing Domain-Specific Languages with Xtext and Xtend”2nd edition, 2016.

Debasish Ghosh, “DSL in Action”, Foreword by Jonas Boner,2010.

Markus Voelter, “DSL Engineering- Designing, Implementing and Using Domain-Specific Languages”,2013.

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now