<?xml version='1.0' encoding='UTF-8' ?>
<feed version="0.2" xmlns="http://purl.org/atom/ns#">
	<title>Juha-Pekka on DSM</title>
	<link>http://www.metacase.com/blogs/jpt/blogView</link>
	<modified>2010-02-12T09:09:35-08:00</modified>
	<id>http://www.metacase.com/blogs/jpt/blogView</id>
	<copyright>Copyright 2005- Juha-Pekka Tolvanen</copyright>
	<generator name="CSTBlogModule">http://www.cincomsmalltalk.com/CincomSmalltalkWiki/CSTBlogModule</generator>
	<entry>
		<title>Domain-Specific Languages and Models - cases from Scandinavia </title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3442228114</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3442228114</id>
		<created>2010-01-29T14:28:34-08:00</created>
		<issued>2010-01-29T14:28:34-08:00</issued>
		<modified>2010-01-29T14:28:34-08:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>I've been working a bit in a European research project, MoSiS, studying and implementing domain-specific languages and generators for various domains. Within the project we have dealt with avionics (military), consumer electronics UI, mobile applications, payroll, seismic acquisition, telecom messaging platform, train control, workflow management as well as office systems. In all cases the DSLs have been implemented to meet the requirements of a single company. </p><p>The project organizes a seminar March 15 in Espoo, Finland, having talks from Nordic partners, SINTEF and ICT-Norway, Combitech from Sweden and Nokia Siemens Networks, VTT and MetaCase from Finland. </p><p>If you want to see practical cases and discuss experiences on creating and using domain-specific modeling languages and generators you are welcome to join the free (!) seminar. Check the <a href="http://www.vtt.fi/files/news/2010/mosis_seminar/invitation_mosis.pdf">program and registration details</a>. Hope to see you in Espoo! </p>
</div>]]></content>
	</entry>
	<entry>
		<title>Survey on MDE success and failure factors - your contribution is valuable</title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3437833473</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3437833473</id>
		<created>2009-12-09T17:44:33-08:00</created>
		<issued>2009-12-09T17:44:33-08:00</issued>
		<modified>2009-12-09T17:44:33-08:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>I'm a big fan of empirical research and hope that everybody having experiences on modeling and code generators could participate in a study lead by Lancaster University. They want to document what factors lead some companies to succeed with MDE whereas others may fail. Please use 15 minutes of your valuable time and fill in the survey at <a href="http://www.surveymonkey.com/s/FGFTS38">http://www.surveymonkey.com/s/FGFTS38</a>. You can check project details at <a href="http://www.comp.lancs.ac.uk/~eamde">http://www.comp.lancs.ac.uk/~eamde</a> </p>
</div>]]></content>
	</entry>
	<entry>
		<title>IASA Webinar on Domain-Specific Modeling: 76 cases of MDD that works</title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3434797063</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3434797063</id>
		<created>2009-11-04T14:17:43-08:00</created>
		<issued>2009-11-04T14:17:43-08:00</issued>
		<modified>2009-11-04T14:17:43-08:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Why do many MDD approaches fail or only produce marginal improvements, when others consistently improve productivity by a factor of 5-10? </p><p>As modeling is a central part of any architecture work, <a href="http://www.iasahome.org">International Association of Software Architects</a> (IASA) has recently identified the need for industry level education in modeling - especially for modeling work where models are put at the center of IT initiatives. </p><p>My colleague <a href="http://www.metacase.com/blogs/stevek/blogView">Steven Kelly</a> is giving the webinar via IASA modeling knowledge community 17th November (15:00-16:30 GMT). He will answer the essential questions on why many modeling efforts fail and how to succeed. The answer is backed by analyzes of 76 cases of Domain-Specific Modeling, spanning 15 years and 4 continents, to find the set of worst practices that reduced productivity and endangered project success. This experience allows him to show the best and worst practices with practical examples, letting you make an informed decision on how to move your modeling to the next level&#8230;. making models work. </p><p>See details and register at webinar <a href="https://www2.gotomeeting.com/register/214594730">registration page</a>. </p>
</div>]]></content>
	</entry>
	<entry>
		<title>Program for the 9th OOPSLA Workshop on Domain-Specific Modeling available</title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3432545558</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3432545558</id>
		<created>2009-10-09T12:52:38-07:00</created>
		<issued>2009-10-09T12:52:38-07:00</issued>
		<modified>2009-10-09T12:52:38-07:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p><img align="right" alt="OOPSLA 2009" src="http://www.metacase.com/blogs/jpt/images/oopsla2009logo.png"/>Can&rsquo;t believe this: The workshop on Domain-Specific Modeling takes place at <a href="http://www.oopsla.org/oopsla2009/">OOPSLA</a> already the ninth time. Perhaps next year we should target something special for the anniversary ;-)</p><p>The <a href="http://www.dsmforum.org/events/DSM09/index.html">papers and program</a> for the workshop are now available. What is particularly special this year is the relatively large number of experience related papers and description of various DSLs - this year many addressing the web. </p>

<p>Hope to see you at the workshop. </p>
</div>]]></content>
	</entry>
	<entry>
		<title>Solving the most common problems faced in modeling efforts</title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3432281556</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3432281556</id>
		<created>2009-10-06T11:32:36-07:00</created>
		<issued>2009-10-06T11:32:36-07:00</issued>
		<modified>2009-10-06T11:32:36-07:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">



<p>Last week I participated at <a href="http://www.ttlry.fi/yhdistykset/sytyke/?x136711=134458769">MDD seminar</a> in Helsinki and the day concluded with a panel titled “MDA vs DSM: either or both”. I have to say that the panelists, David Frankel from SAP, Juha Mykkänen from University of Kuopio and Matti Rossi from Helsinki Business School and I, failed to deliver a debate meeting the promise of the panel title. Nobody was able to explain why we need model-to-model transformations a’la OMG MDA and how the chain of model-to-model transformations (CIM->PIM->PSM->code) where you edit the intermediate models works in practice. In my opinion it creates more problems than solves them. Actually, I wonder what problem it solves. Any experiences? </p><p>I found the panel still highly interesting thanks to Juha Mykkänen as he presented few slides related to a survey they have conducted on the use of modeling in SOA-related process modeling work. What was striking to realize is that domain-specific modeling languages aim to solve at least the three most common problems they identified in process modeling efforts (see Juha’s slide below). </p><p>

<img alt="Solea Project: Problems Faced In Process Modeling Efforts" src="http://www.metacase.com/blogs/jpt/images/ProblemsInProcessModelingEfforts.png"/>

</p><p>Since the majority has difficulties on knowing and restricting the domain as well as knowing how to use modeling languages it is particularly important that someone already experienced within the domain defines a language that guides and helps in modeling work. When looking the top 3 challenges, how DSLs will help then? </p><ul><li>Domain-Specific Languages always define the scope for the particular need and thus help to focus on modeling only the needed parts (of processes). This scoping is impossible to achieve with general purpose languages such as BPMN, UML etc as they don’t clearly state when to stop modeling, what aspects of the processes should be described and how detailed different kind of processes should be described. </li><li>Modeling becomes easier when the language operates with familiar concepts that have already known semantics. For example ‘Spot transaction’ in trading is so much more descriptive than using BPMN ‘Intermediate’ element with value set for 'Trigger’ property and setting Timer for ‘2 banking days’. As a plus, models with DSM became smaller and easier to read, remember, update and validate than models created with general purpose languages. </li><li>Since domain-specific language is built based on the domain and by an experienced person(s) there is no lack of understanding of the domain anymore. Actually, creating a DSL will lead to improved understanding and that is often worth even if you don’t ever use the language! </li></ul><p>The results of the survey are not yet available in more detail since the survey was just finalized but I believe <a href="http://www.uku.fi/solea/english.html">Solea project</a> will publish them in some media. I expect that most of the respondents mentioning domain scoping and domain understanding as major problems have not applied DSL approach but rather used BPMN, UML etc general purpose languages. Let’s see when the results became public… </p></div>]]></content>
	</entry>
	<entry>
		<title>Experiences @ Practical Product Lines</title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3428774950</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3428774950</id>
		<created>2009-08-26T21:29:10-07:00</created>
		<issued>2009-08-26T21:29:10-07:00</issued>
		<modified>2009-08-26T21:29:10-07:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Product line development is a typical place to apply DSM. What I see perhaps the most companies doing in product line space is creating languages that express the <a href="http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3388313102http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3388313102">variability and then generate product variants</a>. My schedule did not permit participation at <a href="http://www.sei.cmu.edu/splc2009/">SPLC conference</a> this week, but luckily there will be another, a practice oriented conference dedicated on product lines, called <a href="http://www.practicalproductlines.org/ppl2009/index.php">Practical Product Lines (PPL)</a>. The word &lsquo;Practical&rsquo; in the name of the conference is worth emphasizing since almost all the speakers have  industry background. I hope there will be space for both conferences: for the research oriented and for the practice oriented views on product lines. </p><p>At PPL, Jan Bosch from Intuit, Dieter Rombach from Fraunhofer IESE, Dirk-Jan Swagerman from FEI and Markus V&ouml;lter from itemis will all give <a href="http://www.practicalproductlines.org/ppl2009/keynotes.php">invited keynotes</a>. I&rsquo;m looking with a particular interest the talk from Jan Bosch since he has created domain-specific languages already in the 90&rsquo;s when working in academia. </p><p>I&rsquo;ll also have an opportunity to contribute. Together with Erik Carlson from ABB we will <a href="http://www.practicalproductlines.org/ppl2009/sessioninfo.php?session=3">present</a> industry experiences when applying domain-specific modeling languages and code generators. Among the various domains in which DSM is used (see some language examples <a href="http://www.metacase.com/cases/dsm_examples.html">here</a>) our session will focus on two product lines within embedded space: train control and consumer devices. We aim to show examples (e.g. <a href="http://www.metacase.com/blogs/jpt/images/TCLExample.png">train control language</a>) as well as discuss the measured benefits, such as quality and <a href="http://www.metacase.com/blogs/jpt/images/ProductivityIncreaseInSomeDeviceProductLines.png">productivity</a>. </p><p>Check the <a href="http://www.practicalproductlines.org/ppl2009/programme.php">program:</a> I hope to see you in Amsterdam.</p>
</div>]]></content>
	</entry>
	<entry>
		<title>Experiences on language design: review of ~100 cases</title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3423818307</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3423818307</id>
		<created>2009-06-30T12:38:27-07:00</created>
		<issued>2009-06-30T12:38:27-07:00</issued>
		<modified>2009-06-30T12:38:27-07:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">
<p><html><html><div xmlns="http://www.w3.org/1999/xhtml">



<p><a href="http://www2.computer.org/portal/web/csdl/abs/mags/so/2009/04/mso200905toc.htm"><img alt="IEEE Software Special Issue on DSM" src="http://www.metacase.com/blogs/jpt/images/IEEESoftwareJulAug2009.jpg" style="margin-right: 4px; float: right"/></a> As more and more domain-specific languages are defined we inevitable start learning-by-doing how to define good languages. Possibilities to extract good principles for language design is naturally reduced when having defined just one DSL, have just few users, or even more so if defining internal DSLs typically for own personal use only. The best would be, of course, to analyze a large portion of domain-specific languages as it allows seeing the bigger picture and therefore better extracting principles for language design. Moreover, the languages should address different domains and being developed and used by many persons. </p> <p>This is exactly what my colleagues at MetaCase, Risto Pohjonen and Steven Kelly have done. In my opinion they did an excellent job by first collecting tens of cases (76 to be precise) which target different domains and generate different kind of code from domain-specific models. After the analysis they interestingly decided to focus on worst practices since in many cases it is easier to learn what to avoid. Among the worst practices identified my picks for top three are using the code/library as source for language constructs, failing to consider language's real-life usage during language construction and not updating the language anymore after successful adoption. </p><p>The article is published in July/August issue of IEEE Software and it is available/can be purchased from IEEE Computer Society Digital Library (DOI: <a href="http://doi.ieeecomputersociety.org/10.1109/MS.2009.109">http://doi.ieeecomputersociety.org/10.1109/MS.2009.109)</a>.</p></div></html></html>
</p></div>]]></content>
	</entry>
	<entry>
		<title>Want to learn how to implement a modeling language from the scratch - and after 3 hours have it done?</title>
		<link>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3421336262</link>
		<id>http://www.metacase.com/blogs/jpt/blogView?showComments=true&amp;entry=3421336262</id>
		<created>2009-06-01T19:11:02-07:00</created>
		<issued>2009-06-01T19:11:02-07:00</issued>
		<modified>2009-06-01T19:11:02-07:00</modified>
		<summary>DSM</summary>
		<author>
			<name>Juha-Pekka Tolvanen</name>
			<url>http://www.metacase.com/blogs/jpt/blogView</url>
			<email>jpt@metacase.com</email>
		</author>
		<content mode="escaped" type="text/html" xml:lang="en-us"><![CDATA[<div xmlns="http://www.w3.org/1999/xhtml">

<p>Learning by doing is perhaps one of the most effective ways to discover and master new practical skills. This year at Code Generation 2009 we are running a hands-on <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=31">session</a> in which participants implement from the scratch a domain-specific modeling language. Our plan is to do language creation iteratively: Develop several versions of the DSL and after using the language we are better equipped to improve the language further. When we finalize, we will see how the DSL became better (powerful, simpler to use, easier to learn). </p><p>The session shows repeatable steps to invent and implement your own modeling language. Participants will use MetaEdit+ (no previous experience required) helping in the process of trying out the ideas and iteratively defining the DSL. MetaEdit+ also provides tooling for the language users with <a href="http://www.metacase.com/featurelist.html">features</a> you expect from modern environments. You can register for the session at<a href="http://www.codegeneration.net/cg2009/index.php"> Code Generation website</a>. </p>
</div>]]></content>
	</entry>
</feed>
