Developing a Complex External DSL

The use of a domain-specific language, or DSL, is becoming a realistic and even necessary solution for software developers on all sorts of projects. You've heard about DSLs, and you may know that DSLs are divided into a few different styles, internal and external. But what is an internal DSL and external DSL? When would you decide to use one or the other? And, primarily, how would you go about developing a complex external DSL? This presentation answers these questions, with a focus on developing a complex external DSL.

Learn about the important distinction between internal DSLs and external DSLs and why you would use one or the other, or both. Following this basic foundation, details on the development of a complex external DSL are presented. Covered are subjects such as, how complex might a language become and how complexity is managed; conceptualizing and designing a language syntax; understanding, designing, and developing the metamodel; defining a multi-model parser; understanding, designing, and developing the output artifact generator.


About Vaughn Vernon

Vaughn Vernon

Vaughn Vernon is a veteran software developer with more than 25 years of experience in system, application, and toolkit architecture, design, and development. Vaughn brings a unique mix of business and technology talent to every project. Vaughn's experience spans architecture, domain-driven design, and construction of COTS and custom component-based frameworks and business applications across a wide variety of industries. Vaughn founded a software product and consulting organization in the 1980s that served over 5,000 customers. He has consulted with General Dynamics in the aerospace industry, for Fresenius Medical Care and Gambro Healthcare in the acute renal care field. He has consulted with national clients such as AT&T and Compaq (HP), as well as internationally with Emirates Airlines in the UAE and ProActivity in Israel. Vaughn lead software development efforts for an insurance-services startup that became part of WebMD.

More About Vaughn »