BrainDump
  Home arrow BrainDump arrow Build a Domain Specific Language with DSL ...
ASP Free Forums 
.NET  
ASP  
ASP Code  
ASP.NET  
ASP.NET Code  
BrainDump  
C#  
Code Examples  
Database  
Database Code  
IIS  
Microsoft Access  
MS SQL Server  
Silverlight  
Visual Basic.NET  
Windows Scripting  
Windows Security  
XML  
Mobile Linux 
App Generation ROI 
IBM® developerWorks 
ASP Web Hosting  
ASP.NET Web Hosting 
Windows Web Hosting
 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
BRAINDUMP

Build a Domain Specific Language with DSL Tools
By: MSDN Virtual Labs
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 4 stars4 stars4 stars4 stars4 stars / 8
    2006-01-19

    Table of Contents:
  • Build a Domain Specific Language with DSL Tools
  • Design a service-oriented system
  • Build a Domain Model for Business Entities
  • Build a Domain Model for Business Entities
  • Map the Notation to the Domain Model
  • Generate the Code for the Designer and Build the solution

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    Build a Domain Specific Language with DSL Tools


    (Page 1 of 6 )

    This article, the first of two parts, will teach you how to build a visual designer with code generation. You will learn about the files that are used to define the concepts and notation for a Domain Specific Language, and many other details. In the second part, you will put the designer built in this part to work.

    Objectives

    For the purpose of this walkthrough, you will use the Domain Specific Language Tools for Visual Studio 2005 to build a graphical designer integrated into Visual Studio for your own domain specific language. The Domain Specific Language Tools ship as a separate download for Visual Studio. The DSL Tools are an SDK that allows you to use Microsoft’s generic modeling platform to build visual modeling tools that run inside of Visual Studio. The SDK contains code generation tools that will generate a running designer based on an XML description.

    This lab explores how the Microsoft DSL Tools for Visual Studio 2005 can be used to build a visual designer with code generation. In this lab, you will learn more about the files that are used to define the concepts and notation for a Domain Specific Language, and the process that takes these files and generates a complete Visual Studio designer for that language. You will learn some of the options for defining different aspects of the concepts and notation, and how the notation is mapped to the concepts. You will see the various components that make up a complete Visual Studio designer, how these components are generated from the definition files, and understand how the designer solution is built. Finally, you will run the generated designer, and learn how to generate code and reports from the models that you create with it.

    Estimated Time to Complete This Lab

    60 Minutes

    Exercise 1

    Using the Distributed System Designers to Build and Validate Service-Oriented Systems

    Scenario

    The Sample Domain Specific Language: A Business Entity Language (BEL)

    Visual domain specific languages can be used to specify business requirements. A common diagram type used in this area is Business Entity Diagrams. These diagram show the entities involved in a business process. Let’s assume we define a small domain specific language to capture the information we get from a conversation with a subject expert of a banking application.

    We define a shape called “Business Entity”. Each entity has a set of attributes. For example, the business entity “bank account” might have attributes like “amount” and “credit line”. Business entities are related to each other, and we represent these relationships by lines between the business entity shapes. For example, the business entity “bank account” will be related to the business entity “customer”.

    In addition to the structure of the business entities we define another shape called “business rule”, which captures parts of the business logic. We use the rules to describe how business entities are used together. For example, we have a business entity called “account” and we have a business entity called “transaction”, and we describe the business rules about how a transaction, which involves two accounts, gets approved.

    For the hands-on lab we define a very simple version of the Business Entity language. A real production version would of course be much more fully-featured and integrated into the overall development lifecycle. Different artifacts might be generated from the completed language, including database definitions, message formats, and user interfaces for the business entities, and skeletons for business logic from the rules. In the lab you’ll see how to use the business entity model to generate a simple HTML report and a WinForms-based user interface.

           Tasks                     Detailed Steps

    More BrainDump Articles
    More By MSDN Virtual Labs


       · We hope you've enjoyed this article from MSDN Labs! Be sure to check back next week...
       · I would like to see more of this as this article does not seem to deal with...
       · How/Where can we login into the Virtual Lab, and can you give the URL where we can...
       · How/Where can we login into the Virtual Lab, can you please give the url to build...
     

    BRAINDUMP ARTICLES

    - Introduction to Office Live Workspace
    - Using MS Excel for One-way Analysis of Varia...
    - Comparing Data Sets Using Statistical Analys...
    - Import Blogger Posts into WordPress Using Wi...
    - Download WordPress from an FTP Server and Ru...
    - Install and Run WordPress in XAMPP Local Host
    - What Windows 7 Brings to the Table
    - Virtualization and Sandbox Detection
    - Advanced Firebug Techniques in Windows XP Ho...
    - Editing CSS with Firebug in Windows XP Home
    - Using Firebug in Windows XP Home
    - Migrating to Exchange Server 2007
    - Using System Restore on a Non-Bootable PC
    - Finding Logged on Users and More Scripting S...
    - Developing Macro Commands in MS Excel





    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 5 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek