<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Application Generation - Application Generation</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>Sat, 25 May 2013 15:42:37 -0400</pubDate>
			<lastBuildDate>Thu, 15 Oct 2009 11:13: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>Free One Day Conference Pass - Practical Product Lines 2009 - Amsterdam</title>
				<link>http://www.pbell.com/index.cfm/2009/10/15/Free-One-Day-Conference-Pass--Practical-Product-Lines-2009--Amsterdam</link>
				<description>
				
				If you are in or near Amsterdam and would like to attend the inaugural &lt;a href=&quot;http://practicalproductlines.org/ppl2009/&quot;&gt;Practical Product Lines&lt;/a&gt; conference, drop me a line before end of business tomorrow and I should be able to get you a pass. It can be for either the 20th or the 21st, but why *wouldn&apos;t* you come on the Tuesday and catch my &lt;a href=&quot;http://practicalproductlines.org/ppl2009/sessioninfo.php?session=2&quot;&gt;case study&lt;/a&gt;?!

I&apos;m really excited about the conference. For anyone involved in building multiple applications which have commonalities between them, software product lines can provide huge benefits in terms of efficiently reusing everything from specifications to workflows to contracts to tests and code. It&apos;s great to see a practitioner focused conference and the lineup of speakers suggests it&apos;s going to be a great experience!
				
				</description>
				
				<category>Application Generation</category>
				
				<category>Code Generation</category>
				
				<category>conferences</category>
				
				<pubDate>Thu, 15 Oct 2009 11:13:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/10/15/Free-One-Day-Conference-Pass--Practical-Product-Lines-2009--Amsterdam</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>Funding a Software Product Line</title>
				<link>http://www.pbell.com/index.cfm/2009/6/25/Funding-a-Software-Product-Line</link>
				<description>
				
				There&apos;s pretty broad consensus and plenty of studies showing substantial business benefits from developing a software product line, but the question is usually how to fund the development . . .
				 [More]
				</description>
				
				<category>Application Generation</category>
				
				<category>Software Product Line</category>
				
				<pubDate>Thu, 25 Jun 2009 10:30:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/25/Funding-a-Software-Product-Line</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>Series: Software Product Lines</title>
				<link>http://www.pbell.com/index.cfm/2009/6/23/Series-Software-Product-Lines</link>
				<description>
				
				Over the next few weeks I&apos;ll be posting a series on software product lines - what are they, why you should care, and what are some best practices for implementing them successfully. I&apos;ve been really focused over the last couple of years on getting up to speed on everything from project methodologies (particularly lean and agile including concepts like emergent design and fields like complex adaptive systems), development best practices (especially the appropriate use of testing)  and developer tools (git, Hudson, xUnit, Selenium, and even a greater familiarity with the command line and TextMate). I&apos;m now ready to bring it all together along with a better understanding of Domain Specific Modeling to make a number of changes to my in-house software product line. 

Perhaps the biggest surprise is how little I plan to change in terms of the overall approach. The more that I look at other approaches, the more I appreciate the system I&apos;ve built as a really nice fit for my use case, but I&apos;m looking forward to a lot of smaller refinements based on the last couple of years of learning.

Oh, and the bad news is I&apos;ve just flown back to the US, so yes, there are *lots* of postings. The good news? I&apos;ll try to spread them out and I probably won&apos;t be flying anywhere for at least a month or two, so hopefully I won&apos;t go on another blogging binge for a while!

Want to know more about the practical application of software product lines? There is a &lt;a href=&quot;http://www.practicalproductlines.org/ppl2009/&quot;&gt;new conference&lt;/a&gt; devoted to the topic - from the team who brought you &lt;a href=&quot;http://www.codegeneration.net/cg2009/&quot;&gt;Code Generation&lt;/a&gt;. Check it out!
				
				</description>
				
				<category>Application Generation</category>
				
				<category>Software Product Line</category>
				
				<pubDate>Tue, 23 Jun 2009 10:45:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/23/Series-Software-Product-Lines</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Practical Product Lines Conference Coming Up</title>
				<link>http://www.pbell.com/index.cfm/2009/6/23/Practical-Product-Lines-Conference-Coming-Up</link>
				<description>
				
				Are you interested in doing a better job or reusing elements between projects? If so you really should check out the &lt;a href=&quot;http://www.practicalproductlines.org/ppl2009/&quot;&gt;Practical Product Lines conference&lt;/a&gt; in Amsterdam this fall. Run by the team behind the &lt;a href=&quot;http://www.codegeneration.net/cg2009/&quot;&gt;Code Generation&lt;/a&gt; conferences, it&apos;s one of the few practitioner conferences focused on software product lines.

The call for speakers closes on Friday, so why not put together a &lt;a href=&quot;http://www.practicalproductlines.org/ppl2009/speak.php&quot;&gt;proposal&lt;/a&gt;?
				
				</description>
				
				<category>Application Generation</category>
				
				<category>conferences</category>
				
				<pubDate>Tue, 23 Jun 2009 10:35:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/23/Practical-Product-Lines-Conference-Coming-Up</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Code Generation 2009 - Excellent as Always</title>
				<link>http://www.pbell.com/index.cfm/2009/6/23/Code-Generation-2009--Excellent-as-Always</link>
				<description>
				
				I&apos;ve been attending the annual Code Generation conference every year since the inaugural event in 2007. Held in Cambridge, England, I really believe it is the best practitioner conference for learning about best practices in code generation, domain specific languages and domain specific modeling. 

This year was excellent as always. From the keynotes (Markus Voelter tag teaming with Steve Kelly to provide a really great overview/introduction to best practices in model driven development) through the hands on sessions (unfortunately I missed Eelco Vissers lab on Stratego, but the MetaEdit+ and XText hands on were excellent) to the experience reports and tutorials (including a great presentation on RGen by Martin Thiede and one on template specialization by Kathleen Dollard), it really provided a great overview of best practices in the industry.

I&apos;d especially like to thank Steve Cook, Markus Voelter, JP Tolvanen, Jos Warmer and (as a last minute substitution) Laurie Tratt who all appeared on my &quot;Future of DSM&quot; panel at the end of the conference. I&apos;d also like to thank everyone who chose to run a BoF session.

Thanks Mark, Andy and Mags for all the hard work, and I look forward to seeing everyone again next year! I&apos;d thoroughly recommend anyone interested in code generation to put Code Generation 2010 on their calendar for next June.
				
				</description>
				
				<category>Application Generation</category>
				
				<category>conferences</category>
				
				<pubDate>Tue, 23 Jun 2009 10:30:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/6/23/Code-Generation-2009--Excellent-as-Always</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Code Generation 2009 - Coming Up Soon!</title>
				<link>http://www.pbell.com/index.cfm/2009/5/29/Code-Generation-2009--Coming-Up-Soon</link>
				<description>
				
				With the huge interest in code generation and domain specific languages, if you&apos;ll be in the UK in June you really owe it to yourself to make it to what is the premier practitioner conference on code generation and domain specific modeling. 

&lt;a href=&quot;http://www.codegeneration.net/cg2009/&quot;&gt;Code Generation&lt;/a&gt; is held in Cambridge, England at the Murray Edwards College from 16th-18th June. It has a great &lt;a href=&quot;http://www.codegeneration.net/cg2009/programme.php&quot;&gt;program&lt;/a&gt; and Steve Kelly/Markus Voelter keynoting. 

If you want to build your applications more quickly, this is where you&apos;ll learn how to do it. And there&apos;s still time to &lt;a href=&quot;http://www.codegeneration.net/cg2009/booking.php&quot;&gt;register&lt;/a&gt; . . .

There is a late booking fee in June, so today, tomorrow or Sunday would be really good days to book and save yourself a few pounds . . .

In addition, OMG, IASA, ACCU, BCS SPA, Embedded Masterclass, DSL Devcon, Cambridge Wireless and Skills Matter Community members are all eligible for a 10% discount on conference fees.

Hopefully I&apos;ll see you there?
				
				</description>
				
				<category>Application Generation</category>
				
				<pubDate>Fri, 29 May 2009 12:38:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/5/29/Code-Generation-2009--Coming-Up-Soon</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>Code Generation 2009 - Early Bird Ends Soon</title>
				<link>http://www.pbell.com/index.cfm/2009/3/20/Code-Generation-2009--Early-Bird-Ends-Soon</link>
				<description>
				
				I know I&apos;ve been &lt;a href=&quot;http://www.pbell.com/index.cfm/2009/3/20/No-Fluff-Just-Stuff-Boston--First-Thoughts&quot;&gt;gushing&lt;/a&gt; about NFJS this weekend, but I want to do a shout out for &lt;a href=&quot;&quot;&gt;Code Generation 2009&lt;/a&gt; as the early bird is ending on March 31st.

I see so many people making the same simple mistakes when writing code generators and other tooling for building applications more quickly. Code Generation really is the premier practitioner conference for anyone interested in developing applications more quickly through code gen, domain specific modeling and software product lines. I&apos;m also really excited by the &lt;a href=&quot;http://www.metacase.com/blogs/stevek/blogView&quot;&gt;keynote&lt;/a&gt; &lt;a href=&quot;http://www.voelter.de/&quot;&gt;speakers&lt;/a&gt; this year. Steve and Markus really are two of the top minds in DSM/code gen, but at the same time they&apos;re practical and good communicators. The keynotes are going to be great. 

We&apos;ve also pulled together an excellent &lt;a href=&quot;http://www.codegeneration.net/cg2009/programme.php&quot;&gt;program&lt;/a&gt; from a lot of great submissions and I&apos;m certainly looking forwards to getting some more experience with &lt;a href=&quot;http://www.metacase.com/mep/&quot;&gt;MetaEdit+&lt;/a&gt; and &lt;a href=&quot;http://www.openarchitectureware.org/&quot;&gt;openArchitectureWare&lt;/a&gt; as well as to see what Microsoft is up to these days with their DSL tools and to learn from the various other presentations and case studies. And as always I&apos;m looking forwards to the &quot;informal&quot; learnings in the bars in the evenings. I&apos;ll be leading a &lt;a href=&quot;http://www.codegeneration.net/cg2009/sessioninfo.php?session=42&quot;&gt;panel&lt;/a&gt; at the end of the conference on &quot;The State of the Art in Domain Specific Modeling&quot; which I think (given the panelists I have so far) could be a really interesting sesison.

If you&apos;re going to be in the UK, the entire conference is £485.00 + VAT and shorter packages start from £195.00 + VAT. Really, when you compare it to the cost of writing code by hand or developing and maintaining a badly architected or conceived generator, it&apos;s an excellent investment.

I hope to see some of you there.
				
				</description>
				
				<category>Application Generation</category>
				
				<category>Code Generation</category>
				
				<category>conferences</category>
				
				<pubDate>Fri, 20 Mar 2009 23:46:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/3/20/Code-Generation-2009--Early-Bird-Ends-Soon</guid>
				
			</item>
			
		 	
			
			
			<item>
				<title>New SystemsForge Website Launched!</title>
				<link>http://www.pbell.com/index.cfm/2009/3/16/New-SystemsForge-Website-Launched</link>
				<description>
				
				I&apos;m glad to say we have finally got round to launching a new website for &lt;a href=&quot;http://www.systemsforge.com&quot;&gt;SystemsForge&lt;/a&gt;. The new site provides an overview of the services that we provide to both our &lt;a href=&quot;http://www.systemsforge.com/services/for-designers.html&quot;&gt;design partners&lt;/a&gt; (a wholesale, white labeled, outsourced website programming solution) and to &lt;a href=&quot;http://www.systemsforge.com/services/for-developers.html&quot;&gt;programming teams&lt;/a&gt; (JumpStart, agile/best practices coaching and programming services), why people would &lt;a href=&quot;http://www.systemsforge.com/why-us.html&quot;&gt;choose us&lt;/a&gt;, and some of the parts of our &lt;a href=&quot;http://www.systemsforge.com/process.html&quot;&gt;process&lt;/a&gt; that we think are important.

Thanks to &lt;a href=&quot;http://www.spoonandforkstudio.com&quot;&gt;spoon+fork&lt;/a&gt;, one of our great design partners who did the logo and the site identity - they really did an excellent job and if there&apos;s anything you don&apos;t like visually, it was probably a decision we made against their recommendations!

There is also a &lt;a href=&quot;http://www.systemsforge.com/whats-new.html&quot;&gt;what&apos;s new&lt;/a&gt; section I&apos;ll be back filling with more information on my presentations and publications when I get a chance, and our latest &lt;a href=&quot;http://www.systemsforge.com/contact-us.html&quot;&gt;contact details&lt;/a&gt;. 

Any input appreciated!
				
				</description>
				
				<category>Application Generation</category>
				
				<pubDate>Mon, 16 Mar 2009 14:41:00 -0400</pubDate>
				<guid>http://www.pbell.com/index.cfm/2009/3/16/New-SystemsForge-Website-Launched</guid>
				
			</item>
			
		 	
			</channel></rss>
	

