<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Application Generation - Domain Specific Modeling</title>
			<link>http://www.pbell.com/index.cfm</link>
			<description>A series of occasional musings on architecting, securing, optimizing and generating web based applications. By Peter Bell.</description>
			<language>en-us</language>
			<pubDate>Thu, 20 Jun 2013 05:52:16 -0400</pubDate>
			<lastBuildDate>Tue, 22 Dec 2009 08:02:00 -0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>test@test.com</managingEditor>
			<webMaster>test@test.com</webMaster>
			
			
			
			
			
			<item>
				<title>First Article Published in InfoQ</title>
				<link>http://www.pbell.com/index.cfm/2009/12/22/First-Article-Published-in-InfoQ</link>
				<description>
				
				w00t I have just had my first article published in InfoQ :-)

It&apos;s on &lt;a href=&quot;http://www.infoq.com/articles/dsl-evolution&quot;&gt;Domain Specific Language Evolution&lt;/a&gt;.
				
				</description>
				
				<category>Domain Specific Modeling</category>
				
				<category>Domain Specific Languages</category>
				
				<pubDate>Tue, 22 Dec 2009 08:02:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/12/22/First-Article-Published-in-InfoQ</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Transformation Based MetaModeling (what to do when your DSLs change)</title>
				<link>http://www.pbell.com/index.cfm/2009/6/25/Transformation-Based-MetaModeling-what-to-do-when-your-DSLs-change</link>
				<description>
				
				Generally the biggest issue with metamodeling is DSL evolution. You have a collection of DSLs that you use for building applications. However, you find an case where your DSL is not sufficiently expressive. Perhaps you have an attribute/property that really needs to be a class/element/concept with its own sub-properties. However, you already have lots of statements in the DSL, so what do you do? Generally there are three approaches . . .
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<category>DSL Evolution</category>
				
				<category>Domain Specific Languages</category>
				
				<pubDate>Thu, 25 Jun 2009 16:15:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/25/Transformation-Based-MetaModeling-what-to-do-when-your-DSLs-change</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Creating a Database Schema for DSM</title>
				<link>http://www.pbell.com/index.cfm/2009/6/25/Creating-a-Database-Schema-for-DSM</link>
				<description>
				
				We have a &lt;a href=&quot;http://www.pbell.com/index.cfm/2009/6/24/Models-Meta-Models-and-MetaMeta-Models-oh-My&quot;&gt;meta-metamodel&lt;/a&gt; and a sample &lt;a href=&quot;http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-Getting-Practical--A-Sample-Metamodel&quot;&gt;metamodel&lt;/a&gt;. Let&apos;s start by creating some tables for storing them and then look at how we could generalize the generation of tables for each metamodel to contain model statements . . .
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<pubDate>Thu, 25 Jun 2009 13:21:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/25/Creating-a-Database-Schema-for-DSM</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>DSM/SPL: Getting Practical - A Sample Metamodel</title>
				<link>http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-Getting-Practical--A-Sample-Metamodel</link>
				<description>
				
				So, I&apos;ve decided to continue (at least for now) with a &lt;a href=&quot;http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-Concrete-Syntaxes-for-Model-Reuse&quot;&gt;database for storing my meta models and models&lt;/a&gt; using a &lt;a href=&quot;http://www.pbell.com/index.cfm/2009/6/24/Models-Meta-Models-and-MetaMeta-Models-oh-My&quot;&gt;meta-metamodel&lt;/a&gt; based on a subset of &lt;a href=&quot;http://download.eclipse.org/modeling/emf/emf/javadoc/2.5.0/org/eclipse/emf/ecore/package-summary.html#details&quot;&gt;ecore&lt;/a&gt; from the &lt;a href=&quot;http://www.eclipse.org/modeling/emf/?project=emf&quot;&gt;EMF&lt;/a&gt; project. The next step is to come up with some example metamodels to see what we&apos;d need to do to implement them and to create a storage mechanism for both the metamodels and their associated models. So I&apos;m going to start with a set of simplistic languages for generating web applications using a subset of what I currently have in SystemsForge . . .
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<pubDate>Thu, 25 Jun 2009 12:28:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-Getting-Practical--A-Sample-Metamodel</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>DSM/SPL: Concrete Syntaxes for Model Reuse</title>
				<link>http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-Concrete-Syntaxes-for-Model-Reuse</link>
				<description>
				
				There are lots of great tools for domain specific modeling - particularly the &lt;a href=&quot;http://www.openarchitectureware.org/&quot;&gt;openArchitectureWare&lt;/a&gt; toolkit within Eclipse, &lt;a href=&quot;http://www.metacase.com/mep/&quot;&gt;MetaEdit+&lt;/a&gt; and the rapidly improving &lt;a href=&quot;http://www.domainspecificdevelopment.com/&quot;&gt;DSL tools from Microsoft&lt;/a&gt;). There are also promising &lt;a href=&quot;http://martinfowler.com/articles/languageWorkbench.html&quot;&gt;language workbenches&lt;/a&gt; from both a prominent ex Microsofter (I&apos;ll start linking to them again when they actually ship a public beta :-) ) and the &lt;a href=&quot;http://www.jetbrains.com/mps/index.html&quot;&gt;MPS&lt;/a&gt; from JetBrains (the guys behind IntelliJ and Resharper) which was presented at &lt;a href=&quot;http://www.codegeneration.net/cg2009/&quot;&gt;Code Generation&lt;/a&gt; the other week in Cambridge.

However, when you start to look at support for re-use of models and model statements, none of the existing tools are designed out of the box to support efficient model reuse across projects. This posting will look at various concrete syntaxes for model storage and editing and their suitability for efficient model and &lt;a href=&quot;http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-What-is-a-Model-Statement&quot;&gt;model statement&lt;/a&gt; reuse . . .
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<category>Software Product Line</category>
				
				<pubDate>Thu, 25 Jun 2009 11:13:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-Concrete-Syntaxes-for-Model-Reuse</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>DSM/SPL: What is a Model Statement?</title>
				<link>http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-What-is-a-Model-Statement</link>
				<description>
				
				I seem to have a worrying habit of making up my own terms. Whether it&apos;s the &quot;Iterating Business Object&quot; in the CFML world, &quot;mixin injection&quot; in LightWire or now &quot;model statement&quot; which seemed to confuse people who know a lot more about DSM and SPLs than I do (which suggests it&apos;s not a common term in the industry). So, I guess I need to explain my term as I&apos;m yet to find a better word for it and it&apos;s a very important concept when you try to reuse models across a software product line . . .
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<category>Software Product Line</category>
				
				<pubDate>Thu, 25 Jun 2009 10:40:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/25/DSMSPL-What-is-a-Model-Statement</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Domain Specific Modeling: Choosing a Meta-metamodel</title>
				<link>http://www.pbell.com/index.cfm/2009/6/25/Domain-Specific-Modeling-Choosing-a-Metametamodel</link>
				<description>
				
				If you want to develop external Domain Specific Languages, one of the first choices you need to make - and understand - is what meta-metamodel you&apos;re going to use and how that&apos;s going to grow with your needs. Most people start developing external DSLs by choosing a concrete syntax and/or toolkit (database tables, XML, Xtext, MetaEdit+, Microsoft DSL Tools, etc.) and that isn&apos;t &lt;em&gt;always&lt;/em&gt; the best approach . . .

 &lt;em&gt;(If you&apos;re not sure what I&apos;m talking about when I mention meta-metamodels, you might want to look &lt;a href=&quot;http://www.pbell.com/index.cfm/2009/6/24/Models-Meta-Models-and-MetaMeta-Models-oh-My&quot;&gt;here&lt;/a&gt;.
)&lt;/em&gt;
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<category>Domain Specific Languages</category>
				
				<pubDate>Thu, 25 Jun 2009 10:35:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/25/Domain-Specific-Modeling-Choosing-a-Metametamodel</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Models, Meta Models and Meta-Meta Models, oh My!</title>
				<link>http://www.pbell.com/index.cfm/2009/6/24/Models-Meta-Models-and-MetaMeta-Models-oh-My</link>
				<description>
				
				When you first start to get involved with Domain Specific Modeling, some of the terminology can get confusing (especially when it isn&apos;t used consistently). One of the areas that seems to confuse many people is the difference between models, meta-models and meta-meta models. This posting shows examples of each and at the same time works up a usable meta-meta model for simple code generation.
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<pubDate>Wed, 24 Jun 2009 10:27:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/24/Models-Meta-Models-and-MetaMeta-Models-oh-My</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Webinar series on DSM</title>
				<link>http://www.pbell.com/index.cfm/2009/3/4/Webinar-series-on-DSM</link>
				<description>
				
				If you&apos;re interested in understanding more about the benefits of code generation, domain specific modeling and model driven development, JP Tolvanen from &lt;a href=&quot;http://www.metacase.com/&quot;&gt;MetaCase&lt;/a&gt; is doing a webinar series starting on March 10th, 19th and 24th. 

The first webinar will cover:

&lt;ul&gt;
&lt;li&gt;Why and how the productivity of software development can be improved&lt;/li&gt;
&lt;li&gt;Industry experiences (EADS, Lucent, Nokia)&lt;/li&gt;
&lt;li&gt;What analysts say (Bloor, Burton, Cutter, Gartner)&lt;/li&gt;
&lt;li&gt;How to introduce Domain-Specific Modeling into an organization&lt;/li&gt;

&lt;/ul&gt;

JP is an excellent speaker and really knows what he is talking about. Check out the details &lt;a href=&quot;http://www.metacase.com/webinar/WebinarFeb2009.html&quot;&gt;here&lt;/a&gt;.
				
				</description>
				
				<category>Application Generation</category>
				
				<category>Code Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<pubDate>Wed, 04 Mar 2009 11:23:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/3/4/Webinar-series-on-DSM</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Domain Specific Modeling - Key Vendors (and last nights deck)</title>
				<link>http://www.pbell.com/index.cfm/2009/1/8/Domain-Specific-Modeling--Key-Vendors-and-last-nights-deck</link>
				<description>
				
				If you&apos;re interested in code generation and/or domain specific modeling, there are some vendors you really need to check out - if only to understand how comprehensive the tooling offerings are starting to become and what it takes to do DSM well. 

This post lists some of the key DSM vendors together with a very quick summary of why you might want to check each one out . . .
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Presentations</category>
				
				<category>Code Generation</category>
				
				<category>Domain Specific Modeling</category>
				
				<pubDate>Thu, 08 Jan 2009 14:07:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/1/8/Domain-Specific-Modeling--Key-Vendors-and-last-nights-deck</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Presenting on Domain Specific Modeling at Domain Driven Design group tomorrow</title>
				<link>http://www.pbell.com/index.cfm/2009/1/6/Presenting-on-Domain-Specific-Modeling-at-Domain-Driven-Design-group-tomorrow</link>
				<description>
				
				Tomorrow I&apos;ll be presenting to the Domain Driven Design group in New York. The focus will be on the synergies between DDD and Domain Specific Modeling/Code Generation. DDD provides a solid framework for developing languages (they call them Ubiquitous Languages), and with DDD the Movie, it&apos;s clear that Eric Evans, Vlad Gitlevich et al are also bringing an appreciation of &quot;soft skills&quot; that has long been missing from developer education/training.

At the same time, Domain Specific Modeling has a lot to say about the practicalities of implementing executable domain languages (they call them Domain Specific Languages).

Eric is very clear in the DDD book that a UL does not need to be executable, and that sometimes ambiguities within a UL will make it more valuable to the domain experts for capturing requirements than a more formal language that is less usable or comprehensible by the people who know the business domain being modeled. However, there are plenty of cases where a UL *can* be executable and the question then is how we can take the experiences within the DDD and DSM domains and map them across the Domain Boundary to make it easier to elicit and then implement requirements more efficiently.

This is something I&apos;ve been thinking a lot about since I first read the DDD book, and conversations with Eric Evans, Martin Fowler, Dan North, Vlad Gitlevich, Markus Voelter and others at ooPSLA &apos;07 in Montreal really convinced me that this is an important space.

Hopefully the presentation will provide a good starting point for the experienced team that always attend the DDD events (really, you should go just to meet the people - a pretty impressive bunch). I&apos;m then looking forward to a discussion phase where people can share their experiences in both DDD and DSM and we can discuss some rules of thumb for moving from UL&apos;s to DSLs.

Feel free to &lt;a href=&quot;http://www.meetup.com/dddnyc/calendar/9275953/&quot;&gt;come along&lt;/a&gt;!
				
				</description>
				
				<category>Presentations</category>
				
				<category>Domain Driven Design</category>
				
				<category>Domain Specific Modeling</category>
				
				<category>Domain Specific Languages</category>
				
				<pubDate>Tue, 06 Jan 2009 10:16:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/1/6/Presenting-on-Domain-Specific-Modeling-at-Domain-Driven-Design-group-tomorrow</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Presenting at NYC Domain Driven Design group next week - on Domain Specific Modeling</title>
				<link>http://www.pbell.com/index.cfm/2008/12/30/Presenting-at-NYC-Domain-Driven-Design-group-next-week--on-Domain-Specific-Modeling</link>
				<description>
				
				Well, if you ever wanted to check out the NYC Domain Driven Design group (which I thoroughly recommend - great group, great people), this is a chance to also find out a little more about Domain Specific Modeling and how DDD and DSM can work together to create a Ubiquitous Language and then to use that to generate your apps.

&lt;a href=&quot;http://www.meetup.com/dddnyc/calendar/9275953/&quot;&gt;Here are the full details&lt;/a&gt;. It&apos;s Wednesday of next week (January 7th) at 6.30pm at the Microsoft offices on 6th Avenue. Sign up using the Meetup if you can come!

Anyone planning on coming?
				
				</description>
				
				<category>Presentations</category>
				
				<category>Domain Driven Design</category>
				
				<category>Domain Specific Modeling</category>
				
				<category>Domain Specific Languages</category>
				
				<pubDate>Tue, 30 Dec 2008 23:48:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2008/12/30/Presenting-at-NYC-Domain-Driven-Design-group-next-week--on-Domain-Specific-Modeling</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Best Practices for Model-Driven Software Development</title>
				<link>http://www.pbell.com/index.cfm/2008/7/10/Best-Practices-for-ModelDriven-Software-Development</link>
				<description>
				
				I just wanted to point out a nice &lt;a href=&quot;http://www.infoq.com/articles/model-driven-dev-best-practices&quot;&gt;posting&lt;/a&gt; at InfoQ. In the posting, Sven Efftinge and his colleagues reiterate some good best practices if you&apos;re getting started with code generation/model driven  development.

Sven also presented a great hands on tutorial on &lt;a href=&quot;http://www.openarchitectureware.org/&quot;&gt;openArchitectureWare&lt;/a&gt; at &lt;a href=&quot;http://www.codegeneration.net/conference/&quot;&gt;Code Generation 2008&lt;/a&gt; last month in Cambridge. For anyone who is serious about Domain Specific Modeling, along with &lt;a href=&quot;http://www.metacase.com/mep/&quot;&gt;MetaEdit+&lt;/a&gt;, it&apos;s one of the core toolkits you should evaluate. It&apos;s Eclipse based and while it isn&apos;t quite as easy to get up to speed with as MetaEdit+ and doesn&apos;t have the same tight integration and built in support for metamodel evolution, it provides a really wide range of tools supporting multuple projections of your DSLs and M2M as well as M2T engines so it&apos;s a great toolkit for building larger DSM solutions.
				
				</description>
				
				<category>Domain Specific Modeling</category>
				
				<pubDate>Thu, 10 Jul 2008 10:32:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2008/7/10/Best-Practices-for-ModelDriven-Software-Development</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>A Great Example of Creating a DSL</title>
				<link>http://www.pbell.com/index.cfm/2008/3/4/A-Great-Example-of-Creating-a-DSL</link>
				<description>
				
				&lt;a href=&quot;http://www.voelter.de/&quot;&gt;Markus Voelter&lt;/a&gt; just had a &lt;a href=&quot;http://www.infoq.com/articles/architecture-as-language-a-story&quot;&gt;great paper&lt;/a&gt; published at InfoQ. In it he works up a DSL for describing the architecture of a distributed system. It&apos;s slightly different from the usual examples but shows exactly the power and value in developing a &lt;a href=&quot;http://domaindrivendesign.org/discussion/messageboardarchive/UbiquitousLanguage.html&quot;&gt;Ubiquitous Language&lt;/a&gt; that is sufficiently formal to be used to generate code.
				
				</description>
				
				<category>Domain Specific Modeling</category>
				
				<category>Domain Specific Languages</category>
				
				<pubDate>Tue, 04 Mar 2008 08:11:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2008/3/4/A-Great-Example-of-Creating-a-DSL</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>DSLs - What Happens When Your Grammar/Meta model Changes?</title>
				<link>http://www.pbell.com/index.cfm/2007/10/3/DSLs--What-Happens-When-Your-GrammarMeta-model-Changes</link>
				<description>
				
				As you start getting into using Domain Specific Languages, one of the biggest issues is how to handle legacy statements in your DSL as your grammar evolves . . .

I&apos;m actually presenting a paper at the &lt;a href=&quot;http://www.dsmforum.org/events/DSM07/index.html&quot;&gt;DSM Workshop at OOPSLA&lt;/a&gt; on our approach to solving the problem (categorizing different types of grammar transformations to allow for the automatic transformation of statements within the language). However, I just saw a really nice &lt;a href=&quot;http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3368861814&quot;&gt;posting&lt;/a&gt; on how MetaEdit+ handles this. Well worth checking out the &lt;a hef=&quot;http://www.metacase.com/papers/DSM_Part3_ModifyMetamodel.html&quot;&gt;video&lt;/a&gt; to get an idea of how powerful the system is. Very cool stuff!
				
				</description>
				
				<category>Domain Specific Modeling</category>
				
				<category>Domain Specific Languages</category>
				
				<pubDate>Wed, 03 Oct 2007 08:28:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2007/10/3/DSLs--What-Happens-When-Your-GrammarMeta-model-Changes</guid>
				
			</item>
			
		 	
			</channel></rss>
	

