TUTORIALS


The main conference attendees can receive a 20% discount on the price of tutorials.

Tutorial timetable:

Tuesday, 22 June 2010
 8:30-9:00  REGISTRATION
 9:00-10:30  MORNING SESSION 1
 10:30-11:00  COFFEE BREAK
 11:00-12:30  MORNING SESSION 2


T1: Effective Model Driven Engineering Patterns Principles and Practices in Action
T2: (canceled) Porting and Using Squawk Java Virtual Machine on Open Source Lego Mindstorms NXT
T3: (canceled) Leveraging business success with BPMN
T4: (canceled) Generative Software Development
T6: (canceled) Semantic Web Technologies: Tools, Cases and Lessons Learned
T7: (canceled) Exploring typed language design in Haskell


TUTORIAL 1
Effective Model Driven Engineering Patterns Principles and Practices in Action


Speakers
  • Bruce Trask
  • Angel Roman

Abstract
Model Driven Engineering (MDE) brings together multiple technologies and critical innovations and formalizes them into the next wave of software development methods. This tutorial will cover the basic patterns principles and practices of MDE. The three main MDE categories include the development of Domain Specific Languages (DSL), Domain Specific Editors (including Domain Specific Visual Languages) and, Domain Specific Transformation Engines or Generators. Expressed in terms of language development technology, these mirror the development of the Abstract Syntax, Concrete Syntax and Semantics of a new Domain Specific Language. This tutorial will cover the basic effective patterns, principles and practices for developing these MDE software artifacts. The tutorial will show how to apply these concepts as effective means with which to both raise levels of abstraction and domain specificity and thus increase power and value of tools and languages that allow developers to tackle the complexities of today’s software systems. It will also show how to effectively leverage abstraction without sacrificing the ability to robustly and precisely refine these abstractions to solve real world problems. Additionally, this tutorial will cover the exact details of how to leverage the Eclipse Modeling Framework (EMF), the Eclipse Graphical Editor Framework (GEF), and the Eclipse Graphical Modeling Framework (GMF), to support the development of these three areas. These three frameworks provide a unique and integrated platform in which to learn the basics of Model Driven Engineering in full application not just in theory. Conversely, Model Driven Engineering provides an effective context in which to learn how to apply the power of these integrated Eclipse Frameworks developed to support MDE.

Outline
1. MDE Core Concepts
  1.1 MDE Basics – “Programming with Models”
  1.2 The Anatomy of MDE
  1.3 Applying MDE using Eclipse
2. Eclipse MDE Tutorial
  2.1 Eclipse as an MDE Platform
  2.2 Eclipse as an Meta Modeling Environment
  2.3 Eclipse as an Editor development environment - GEF
  2.4 Using Eclipse as a Generative Engine
  2.5 Providing a Generative Bridge between EMF and GEF: GMF

Objectives
Examples of General Purpose Programming Languages and Modeling tools failing to provide sufficient power in the face of increasing platform and system complexity abound. Model Driven Engineering has shown to be an effective means with which to both raise levels of abstraction and domain specificity and thus increase power and value of tools and languages that allow developers to tackle this complexity. With Model Driven Engineering one can effectively leverage abstraction without sacrificing the ability to robustly and precisely refine these abstractions to solve real world problems. These techniques are particularly applicable to many of today’s distributed applications some of which can be described as embedded, real-time, distributed, object-oriented, portable, heterogeneous, multithreaded, high performance, dynamic, resource-constrained, safety-critical, secure, networked, component based, fault-tolerant and dynamic. Tackling these systems requires a maximum of tooling and language technology. As with any software solution, Model Driven Engineering itself however introduces new complexities. This tutorial will discuss what these are and how to address them in a way that allows Model Driven Engineering approaches to be the viable next wave for software development.

Target Audience
The typical or expected participants are those persons involved with software development who have particular interest in tackling the increased complexities of today’s software systems, reducing the abstraction gap between today's requirements and the tools used to implement them, and in learning practical techniques of Model Driven Development and Generative Techniques. These participants are expected to be either from industry or academia or both. We see benefits to all attendees as follows. Those that are currently struggling with fielding new industrial strength complex systems will learn about new critical innovations that help them immediately in tackling the complexities of there systems. Attendees will see these concepts in action using some ready-for-prime-time MDE and Generative frameworks and tools. The tutorial is specifically designed with the intention of application of the principles and techniques presented. Using Eclipse as a platform allows users to get started right away using these powerful and free open source frameworks.

Pre-requirements for attending the tutorial
Attendees should be familiar with the basics of Object-Orientation and with programming at different levels of abstraction.

Level
Introductory/Intermediate

Duration
Half Day.

About The Speakers
Bruce Trask has been developing complex Distributed Real-Time Embedded systems for over 20 years specializing in MDE as applied to these systems in the last 7 years. He has also been teaching C++, Object Orientation, Design Patterns, UML, CORBA and Framework courses for over 10 years. He has lead multiple study groups in the New York, New Jersey, Connecticut area on various topics ranging from design patterns to middleware. He is a regular speaker/presenter at international software industry conferences. He has delivered tutorials at the OMG. Bruce Trask is the CEO of MDE Systems Inc.

Angel Roman is the Chief Software Architect of MDE Systems and an expert on the Eclipse Development environment and its application frameworks. He has presented at various industry conferences on topics such as Software Defined Radios and MDE Technologies. He has been involved with projects concerning Eclipse Development, Embedded Linux Systems and OSGi.

Both Bruce and Angel have extensive experience fielding real-world MDE and Generative Systems and Tools using various forms of domain specific languages.