Representing Social BPM and WebML at the BPMN workshop 2011

Tomorrow (November 21st) I’ll present two contributions to the 3rd international BPMN workshop in Luzern, Switzerland.
My first speech will present our proposed notation for representing Social Business Processes within Social BPM scenarios. Social networking is more and more considered as crucial for helping organizations harness the value of informal relationships and weak ties, without compromising the consolidated business practices embedded in conventional BPM solutions. However, no appropriate notation has been devised for specifying social aspects within business process models. We propose a first attempt towards the extension of business process notations with social features. In particular, we devise an extension of the BPMN notation for capturing social requirements. Such extension does not alter the semantics of the language: it includes a set of new event types and task types, together with some annotation for the pool/lane levels. It actually exploits the extensibility features of BPMN 2.0. Our notation enables the description of social behaviours within BPMN diagrams. To demonstrate the applicability of the notation, we implement it within the WebRatio BPM editor and we provide a code generation framework that automatically produces a process enactment Web application connected with mainstream social platforms.The presentation is available on SlideShare:

My second speech is on Execution Semantics of BPMN through MDE Web Application Generation, using BPMN and WebML. I describe our pragmatic approach based on Model Driven Engineering (MDE) principles for implementing the execution semantics of BPMN. The approach is implemented in WebRatio and is based on a two-step model transformation that transforms BPMN models into Web application models specified according to the WebML notation and then into running Web applications. Thanks to the proposed chain of model transformations it is also possible to fine tune the final application in several ways by refining the intermediate WebML application models. The presentation is available on SlideShare:

More information on the workshop can be found at: http://www.bpmn-workshop.org/.
In particular, the program of the day is available here.

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

Seminar on Social BPM at SMAU 2011 Milano

Just to keep track of the events I’ve been involved recently, here is a quick summary of the seminar I gave together with Stefano Butti at SMAU Milano 2011. The topic was Social BPM. You can find here some picture, an interview (in Italian) and the slides I used (in English).

Other pictures of the event are available on the WebRatio site.
The presentation I gave at SMAU is available on SlideShare:

I also gave a short interview at the exhibition, which has been published on YouTube:

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

10 years of WebRatio (and 15 of WebML)

This is a quick visual summary of the event held at Villa Grumello, Como, Italy, on October 14th, 2011 for the celebration of the 10 years of WebRatio:

Further pictures of the event are available on the WebRatio blog. Some of the ideas I presented there are described in my previous post.
The presentation I gave at the 10-year event is available on SlideShare:

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

The WebML Innovation Cycle: presentation

This is the presentatio I gave at the 10 Years celebration of WebRatio:

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

10 years of WebRatio: thinking about our path to industrialization

Tomorrow we will celebrate 10 years of WebRatio: this is a good occasion for thinking about the path that led from a university research project to a recognized modeling language (WebML) and a solid, industrialized version of a toolsuite (WebRatio).
The main ingredient of our history are basically:
– a substrate for cross-fertilization coming from European Research projects (W3I3, WebSI, Cooper, BPM4People, …)
– valuable inputs and requirements from customers (both final customers and software integrators)
– a strong research team that continuously worked on innovating the approach
– the teaching activities within the university
– and the professional developers and analysts at Web Models that work hard for making a good product out of the rough ideas and experiments produced in the university.

These ingredients allowed more than 10 years of evolution of the language and the tool. I tried to summarized the virtuous cycle of our experience in the following picture:

While research provides innovation to both teaching and industrialization, and finally produces the upto date version of the language and methodology.
The tool vendor provides the tool itself and also requirements coming from real industrial customers. The tool is extremely useful for teaching and research purposes not only within our group, but throughout the world (thanks to an academic program that allows education institutions to get free licenses of the tool).
The role of customer is crucial in this picture, because it’s from their input (business, technical and UI requirements) that we extract the actual needs of the industry. The whole innovation cycle start there.
Furthermore, customers provide feedback and feasibility/acceptability check upon our findings and solutions.

This virtuous cycle has been able to carry the core idea of the WebML language through 10 years of history in the product (and 15 years of history of the language). The lesson learned is that, if you have a core concept which is flexible and innovable, a good strategy can lead to continuous evolution, improvement and expansion of the idea. In these years the language underwent a huge number of incremental additions:

  • support of web services
  • support of business processes
  • support of semantic web features
  • support of RIA – AJAX features

If you want to get a flavour of the experience, you may check out this paper, published in John Mylopoulos Festschrift by Springer:S. Ceri, M. Brambilla, P. Fraternali: “The History of WebML Lessons Learned from 10 Years of Model-Driven Development of Web Applications“. In book: Conceptual Modeling: Foundations and Applications, Essays in honor of John Mylopoulos, Springer LNCS, Festschrift series, vol. 5600, 2009, pp. 273-292

As I already commented on modeling-languages.com, our experience is quite similar to the one of the ATL research group in Nantes.

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

BPMN and Design Patterns for Engineering Social BPM Solutions

Our paper “BPMN and Design Patterns for Engineering Social BPM Solutions” (authored by Marco Brambilla, Piero Fraternali, and Carmen Vaca) has been presented today, August 29th, 2011, at the 4th Workshop on Business Process Management and Social Software (BPMS2’11), co-located with BPM 2011, in Clermont-Ferrand, France.
This paper presents a process design methodology, supported by the WebRatio tool suite, for addressing the extension of business processes  with social features. The social process design exploits an extension of BPMN for capturing social requirements, a gallery of social BPM design patterns that represent reusable solutions to recurrent process socialization requirements, and a model-to-model and mode-to-code transformation technology that automatically produces a process enactment Web
application connected with mainstream social platforms.
The full paper can be downloaded from here.
The presentation that was given is reported below (together with an embedded demo video of the implemented prototype).

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

WebML going mainstream? The path to standardization

As you may know, I’m involved as WebML scientific advisor with Web Models, the company that produces the WebRatio toolsuite. Among the various activities pursued by the company, with the support of Politecnico di Milano, we can count the evolution and promotion of the WebML language. Within this stream of work, the company recently decided to investigate the standardization options for the WebML language (see the recent post by Stefano Butti in the WebRatio blog on this) and asked me to join the effort.
In this post I’ll quickly report on our recent involvement with OMG and about how and why we started thinking about making WebML (Web Modeling Language) a formal standard.
With the aim of proposing WebML as a possible standard for the user interaction design for web applications (and beyond), Stefano Butti and I already attended a first OMG technical meeting in Arlington, VA, where we gave a 5 minute elevator pitch advocating our ideas.
We got an enthusiastic reception of our ideas and some good feedback from the OMG members already in this early stage. There is a wide and strong consensus on the need of a standard language for dealing with visual user interfaces, user interactions, and so on. Past initiatives (such as the Conallen proposal) have basically failed in gathering interest and adoption at the industrial level, and therefore a big gap still remains to be filled. 
From a technical and scientific perspective, we feel that our contribution can fit very well into the overall OMG vision, as WebML can perfectly integrate with and complement languages well established as international standards such as UML or the domain-specific ones like SOAml, SysML, BPMN and so on (actually, integration with BPMN has been already accomplished both at the language and at the tool implementation levels).
The problem of defining a generalized standard for user interaction design is definitely challenging, but we think we will be able to provide some good value on this. The current version of WebML is consolidated through more than 10 years of experience in the field; we have a solid modeling toolsuite already implemented, commercially available (and downloadable for free); and we can exhibit a bunch of big customers and industrial success stories to support us.
On the other side, we don’t want the upcoming standard (and the associated standardization process) to be something supported only by ourselves. We want to gather interest on the problem and to collect contributions, ideas, and feedback on the solution as broad as possible. The partnership with OMG is crucial because it will foster the discussion among the big players in the software and modeling market.  Indeed, I would prefer to have a lot of tool vendors agree on a common standard, than come out with our own personal proposal.
That’s why in the next months I will participate to the upcoming OMG meetings to gather interest and consensus on the topic. The final aim is to submit a standardization proposal (hopefully supported by a consortium of tool vendors and customers as large as possible) and for doing this we foresee two possible paths within the OMG procedures: to go for a RFC (Request For Comments), in which we basically propose WebML as a possible standard and we gather opinions on it; or to opt for an open RFP (Request  For Proposals), in which we outline the requirements for such a solution and we collect interest and proposals. Based on what I said before, we are currently oriented to a RFP. Anyway, the choice between RFC and RFP will be discussed within the ADTF group (Analysis and Design Task Force) in the next OMG meeting in Salt Lake City, on June 22. We will present WebML, our desiderata and the requirements we foresee for standardization, and select together with the other task force members the best option. We expect that the name of the standard will change (the current option is IFML – Interaction Flow Modeling Language).
If you are interested in this and/or want to join/support the initiative, please contact me and we will be glad to share our ideas.

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

Multi-faceted BPM: Turning a business process model into software automation

Turning a business process model into the specification, design and implementation of a software solution for process enactment is a non trivial task. It might be considered as not so relevant by business analysts (that typically focus more on BPR and BP optimization), but I think it’s a crucial issue anyway.
Indeed, the specified processes can be a mix of new functionality to be developed and interactions with pre-existing systems and the user’s activities must be supported through effective and usable interfaces, possibly compliant with the visual identity and interaction style of other corporate applications. 
Furthermore, the business requirements embodied in the process models, as well as the technical context in which the underlying applications are deployed, are subject to evolution. This may cause severe alignment problems when trying to keep the business process and the application in sync.
I think that business process models per se are not enough for representing the complexity of real world software applications that implement them; therefore other design dimensions must be taken into account in the analysis, design, and implementation of applications. 
The gap between process modeling and application development  (aka, the business-IT gap) can be alleviated by increasing the degree of automation in the design, implementation and maintenance of applications derived from process models. The automation framework should support the semi-automatic translation of the process model into running applications, be flexible enough to incorporate different architectural and interaction requirements, and apply not only to the initial deployment of the application but also to its evolution and maintenance.  An outstanding difficulty in providing such an automation framework is the semantic distance between the process model and the running application: the former dictates roles, activities and business constraints at a very abstract level, irrespective of how these are supported by computing tools; the latter embodies very low-level details, where business, architecture, and interaction aspects are blended together and hard to customize and evolve separately. As an example, the same user’s activity specified in the process model could be enacted in a variety of ways: by means of a wizard, by form editing, by using a legacy application interface, and so on. 
With WebML and WebRatio we propose an integrated design approach to BPM that comprises modeling of business processes, application structure, master data, and user interaction, together with automatic model transformations among them. In this way, it is possible to work at different levels of abstraction and get quick prototypes to be discussed with the customers, but also generate production applications to be delivered as finalized systems. Indeed, the models allow the designers and analysts to work on orthogonal aspects of the design, and to fine tune the final application in several ways, e.g., by integrating the visual identity of the organization, plugging in new components, or connecting the business process to legacy applications via Web Services. 
The basic design flow we propose is the following:
This is in line with and extends the vision of integrated BPM and MDM (Master data management) design proposed by Clay Richardson (Forrester) and studied by several research and industrial experts, including Rick Hull (IBM Research), ISIS Papyrus and Pallas Athena. 
You can try our solution by downloading the free WebRatio tool at http://www.webratio.com .

Video: Introduction to WebRatio

In case you didn’t see it, here is the short introductory video about WebRatio, in which a speaker highlights the main features of the MDD tool based on WebML:

You can also find some audio lessons on WebML on my official web site.

User gateways in BPMN?

I’ve come across the concerns of Keith Swenson and Anatoly Belychook on the missing expressive power of BPMN with respect to the description of human decisions in business processes. Bruce Silver has tackled the problem too.
I (together with my research group and the WebRatio team) definitely share their concern. After some discussions, experiments, and on-the-field experiences, we decided to go the pragmatic way: we explicitly modeled the human decision (thus challenging the BPMN orthodoxy, I hope we won’t be killed for this:) according to a “proprietary” notation which is however in line with the BPMN 2.0 notation for tasks.
Concretely, we defined:

  • user gateways for describing user decisions
  • automatic/service gateways for describing decisions taken according to a rule (this is the standard semantics for BPMN gateways) or performed by a service

To give a flavor of the idea, here are two samples from our “BPMN+” diagrams drawn in WebRatio:

  • User gateway (notice the small human icon)
User Gateway in WebRatio
  • Service gateway (notice the small gear icon)

Service Gateway in WebRatio

We are successfully using this notation in several projects, but we would also be glad to receive some feedback from the community. Does it solve the issue discussed by the experts above? Is it so irrespective to standards?
Let us know!