The IFML book – OMG’s Interaction Flow Modeling Language explained

After almost one year of work, the result of our efforts finally came to light in late December 2014. Since it was almost Christmas time, we decided to wait 2014 for the launch. But now, here we are.
OMG Press and Morgan Kauffman published our book:

Interaction Flow Modeling Language:
Model-Driven UI Engineering of Web and Mobile Apps with IFML
Additionally, I can announce officially we will have a launch event at the next OMG meeting in Reston, VA, USA, in March 2015.
The book introduces the reader to the novel OMG standard Interaction Flow Modeling Language (IFML). Authors Marco Brambilla and Piero Fraternali are also authors of the IFML standard and wrote this book to explain the main concepts of the language. They effectively illustrate how IFML can be applied in practice to the specification and implementation of complex web and mobile applications, featuring rich interfaces, both browser based and native, client side components and widgets, and connections to data sources, business logic and services.
The book provides you with unique insight into the benefits of engineering web and mobile applications with an agile model driven approach. Concepts are explained through intuitive examples, drawn from real-world applications. The authors accompany you in the voyage from visual specifications of requirements to design and code production. The book distills more than twenty years of practice and provides a mix of methodological principles and concrete and immediately applicable techniques. Dr. Richard M. Soley, chairman of the OMG, wrote the foreword of the book.

You can buy the book in paperback (on Amazon or any other bookstore) or electronic format (Kindle on Amazon; PDF e-book on Elsevier store).

If you are looking for some basic introduction to model-driven engineering, you can check out this book: Model-Driven Software Engineering in Practice (by Brambilla, Cabot and Wimmer).

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Web Information Retrieval – the book

We are finally ready to announce our new book:

Web Information Retrieval

Publisher: Springer Verlag
Series: Data-Centric Systems and Applications
Authors: Stefano Ceri, Alessandro Bozzon, Marco Brambilla, Emanuele Della Valle, Piero Fraternali, Silvia Quarteroni.
282 pages, 120 illustrations.

 

The book will be launched at VLDB in August 2013, but you are able to preorder it on the Springer Web site or on Amazon.

The book is intended as an introduction to information retrieval and its application to the Web context. It takes the readers from the foundations of modern information retrieval to the most advanced challenges of Web Information Retrieval (IR). To this end, their book is divided into 3 parts.

  • The first part addresses the principles of IR and provides a systematic and compact description of basic information retrieval techniques (including binary, vector space and probabilistic models as well as natural language search processing) before focusing on its application to the Web.
  • The second part addresses the foundational aspects of Web IR by discussing the general architecture of search engines (with a focus on the crawling and indexing processes), describing link analysis methods (specifically Page Rank and HITS), addressing recommendation and diversification, and finally presenting advertising in search (the main source of revenues for search engines).
  • The third and final part describes advanced aspects of Web search, each chapter providing a self-contained, up-to-date survey on current Web research directions. Topics in this part include meta-search and multi-domain search, semantic search, search in the context of multimedia data, and crowd search.

If you are interested in buying it, I have 20% discount coupons valid until July 20th. Please drop me an email at marco.brambilla@polimi.it or tweet your request to @marcobrambi.

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Gems on MDE and UML by Jean Bézivin (and others)

I’d like to share and write down in a more permanent way some thoughts and messages I recollected from yesterday’s twitter interactions with Jean Bézivin on Model Driven Engineering (MDE) and UML.
I’m sure future generations will appreciate my writeup of these small, hidden gems that otherwise would have gone lost in the Twitter flurry 🙂 .

All this was started by my post on Quora basically saying that Model-driven Engineering is more than UML.Jean’s (serial) response is reported here:

  1. Sometimes MDE is the opposite of UML.
  2. UML favours visual modeling; MDE treats visual and textual modeling on par.
  3. UML favours General Purpose Modeling Languages. MDE promotes Domain Specific Modeling Languages.
  4. UML favours huge metamodels to be filtered; MDE promotes small metamodels to be composed.

And along this line I’d like to mention two other important contributions:

Thanks Jean for your vision!

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

My new book on Model-Driven Software Engineering

Model-Driven Software Engineering in Practice. Book cover
Model-Driven Software Engineering in Practice.
See more on www.mdse-book.com.

I’m really proud to announce that a huge joint effort with Jordi Cabot and Manuel Wimmer has finnally reached his end. Our new book on model-driven software engineering, on which we have been working for almost one year, is finally published!

First of all, I wish to extend my thanks to my coauthors for the wonderful teamwork and to Richard Soley, OMG Chairman, who accepted to write the foreword of the book. I actually found it one of the most inspiring outlooks on the field I’ve read.

The book discusses how model-based approaches can improve the daily practice of software professionals. Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE) practices have proved to increase efficiency and effectiveness in software development, as demonstrated by various quantitative and qualitative studies. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis.

The aim of this book is to provide you with an agile and flexible tool to introduce you to the MDSE world.

This allows you to quickly understand its basic principles and techniques and to choose the right set of MDSE instruments for your needs so that you can start to benefit from MDSE right away.
As such, the book is not addressing only the hard-core software modelers, but also BPM practitioners, enterprise system consultants and analysts, and so on. Indeed, the book is targeted to a diverse set of readers, spanning: professionals, CTOs, CIOs, and IT team managers that need to have a bird’s eye vision on the matter, so as to take the appropriate decisions when it comes to choosing the best development techniques for their company or team; software and business analysts, developers, or designers that expect to use MDSE for improving everyday work productivity, either by applying the basic modeling techniques and notations or by defining new domain-specific modeling languages and applying end-to-end MDSE practices in the software factory; and academic teachers and students to address undergrad and postgrad courses on MDSE.

The book is organized into two main parts.

The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios and current standards, like the well-known MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDSE in existing development processes.

The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDSE projects.

In addition to the contents of the book, more resources are provided on the book’s website we are currently setting up. There you can find the detailed TOC, the sources of the examples presented in the book, and the teaching materials we will build to support training activities based on the book.

If you want to buy the Model-Driven Software Engineering in Practice book, you can find it on Amazon or on the Morgan&Claypool website (printed and electronic versions available).

If you read and like the book, we will be glad if you post a review on Amazon!

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

Touch base on Model Driven Software Engineering: MDE, MDD, MDA and (other) stuff. What about a new book?

I think it’s time for Model Driven Software Engineering practitioners (and lurkers) to touch base, see where we are and where we are heading to, and finally spread the world.

That’s why I felt the need of a comprehensive and agile reference on the topic, and having not found one that fits the needs of both developers and designers, and of both enterprise and academia, I decided, together with Jordi Cabot and Manuel Wimmer, to start working on a new Model Driven Software Engineering book to be published next Spring by Morgan&Claypool.

The choice of the publisher and the series is very much in line with our philosophy of providing an agile, easy to fetch reference book, at a reasonable price, and available all over the world.Several students will actually be able to get it for free, if their institution is affiliated with the M&C subscription program.

Our book will approach the topic of MDE from a high level perspective, and will proceed by describing the various techniques, methods, languages and technologies in this field with a pragmatic and hands-on style. The book will target people with no previous knowledge on MDE with the goal of giving them a clear idea of what MDE is, what it is good for and how to apply it.
We believe the book will be interesting for professionals (software developers, project managers, CTOs,..), university students in academic courses, and consultants on MDE topics.
Some of the topics we will cover in the book are:

  • an introduction to MDE and the plethora of acronyms that surround it (MDD, MDA, MOF, GML, DSL) 
  • an overview to the General Modeling Languages (GML) approach
  • the Domain Specific (Modeling) Languages (DSL / DSML) approach, with all its variant and application issues
  • the model transformations concepts and languages, including model-to-model and model-to-text transformations and code generation techniques
  • the basics of the supporting infrastructure for MDE
All the topics will be illustrated through a running example in a very pragmatic way, so as to help readers to easily grasp the complexity of MDE. We will describe the full MDE-based development process (from high-level models to the final running applications, but covering also maintenance, reengineering, and so on). Readers will be able to easily test and execute the examples. The reference platform for them will be the Eclipse Modeling Framework (EMF) build on top of the well-known Eclipse open source platform, but references to other tools and platforms will be provided too.

We would be glad to get your opinion on this initiative and to tell us what you would like to see in the book or any other comment that can be useful while we are writing it. The TOC has been already defined (based on the topics above), but we can think of extending/reducing some parts  if we see you are interested in specific topics!
Feel free to comment and propose ideas here or on Jordi’s blog.

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

The continuum of Social BPM

Considering the different perspectives and interpretations of the Social BPM term that I came across in these months, I decided that time had come to make some clarification in this domain. I tried to come out with a shared definition and a common understanding on it, but I finally gave up because of the extremely diverse interpretations I found.
Instead, I ended up splitting the domain into several levels of adoption, which in my opinion represent pretty well the current state of the discussion. All the interpretations I found, and also the existing implementations of the approach, fall into one or the other level. I think that having a clear definition of a spectrum of possibilities let people and tools position themselves properly and avoid misunderstandings in thediscussions, hence I consider it a valuable contribution per se.
The continuum of Social BPM adoption I propose is the following:

Social BPM Spectrum

At the top of the spectrum, Closed BPM denotes the traditional approach supported by state-of-the-practice BPM suites. The schema of the process is decided centrally and deployed to an execution platform (e.g., a BPEL engine or a proprietary runtime). Tasks are defined rigidly, the process actors are preregistered, and allocation of actors to task follows statically defined assignment and escalation rules. The communication among the actors is channeled through the task execution interfaces, with the exception of notifications, which can be delivered through informal channels, like email and SMS.

At the next level Participatory Design opens the process design to multiple actors. Either the stakeholders can actually participate to the definition of the process model or multiple process versions are fused into one shared process model. The latter technique is relevant, for example, after merger and acquisition, when companies have to align different versions of the same process.

Participatory enactment shifts the focus of socialization from design to enactment. Although actors are fixed, as in closed BPM, the communication is not restricted to the input and output of activities but typical functions of social tools are integrated into the process enactment application to support collateral communications, like following up the status of tasks, commenting on the result of task execution, voting on quality of service, etc.

Social enactment entails opening the process execution (at least in part) to actors that are not known at process deployment time and allowing the collective execution of a task. Social task execution can take a variety of forms: from the most structured, like the use of crowd-sourcing platforms for microtasks execution, to less controlled forms, like community-based product and content rating, cooperative software development and testing, etc. The common denominator of social task execution is the capability to launch a task to be executed by an open-ended community of performers and to monitor its progress until completion.

Finally, Process Mining is the less structured approach, where activities are executed freely and the process constraints are recovered a posteriori, by observing the behavior of the actors, e.g., inspecting execution traces.

While the latter is not really social BPM (I would say it’s process discovery), I think that the other levels clarify the possible different understandings that are currently discussed in the BPM community. What do you think of this classification?

Our book chapter on the Social BPM Handbook expands this discussion and presents a model-driven approach to the problem.
To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

A Model-driven Approach to Social BPM Applications

Together with Piero Fraternali and Carmen Vaca Ruiz I’ve recently written a chapter published within the Social BPM Handbook.

The book is published by Future Strategies in association with the Workflow Management Coalition (WfMC) in the BPM and Workflow Handbook Series and will be launched at Social Business Forum 2011 on June 8, 2011 in Milan, Italy (if you want to meet us, we will be there). The book will be on display also in the WebRatio booth at BPM Europe in London, from June 8 to June 10 (WebRatio is sponsoring the event).
The details on the book are available online, including the complete Introduction containing full Table of Contents and Abstracts of each chapter. The book is a valuable resource in the field and gathers the contributions of several experts including Clay Richardson, Keith Swenson, Nathaniel Palmer, Sandy Kemsley, Max J. Pucher (see the post on his chapter), Keith Harrison-Broninski, and many others (most of them are also listed in my Prominent BPM Bloggers post).

The title of our chapter is: A Model-driven Approach to Social BPM Applications.
It addresses the design and development of BPM solutions that encompass communication with social tools, open-ended communities of performers, and allocation and execution of tasks to actors not known at process design time, through interactions with social network platforms. The core of the proposed approach is threefold:
  • At the methodological level, providing a framework for understanding the ways to incorporate social interactions in business processes.
  • At the notational level, verifying the capacity of a mainstream process modeling language (BPMN 2.0) to express social interactions and cover Social BPM requirements.
  • At the technical level, exploiting model-driven software engineering techniques to produce applications enacting the social process directly from the (extended) BPMN process schema.
The main contributions of the chapter can be summarized as follows:
  • A classification of Social BPM adoption levels.
  • An extension of BPMN enabling social activities, events and conditional process flows.
  • An extension of the WebML (Web Modeling Language) for expressing Web applications interacting with social platforms, through abstract operations represented as components and design patterns.
  • A technical framework for generating Social BPM applications directly from specifications encoded in the social extension of BPMN 2.0, based on model transformations and on a runtime architecture integrating business process execution and social task enactment, implemented in a commercial tool suite called WebRatio BPM.

    If you want to know more, you can contact me or buy the book directly online. To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

    New Book on Search Computing

    The new Springer LNCS book (volume 5950)

    Search Computing – Challenges and Directions

    edited by Stefano Ceri and Marco Brambilla is in print.

    A preview of the book (with interactive table of contents) is now available. Publication of paper version of the book is scheduled for March 2010.