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).

Canonical XMI, MEF, IMM, SIMF, FACESEM. Highlights from the Salt Lake City OMG ADTF meeting, June 2011


I attended the OMG meeting in Salt Lake City from June 22 to June 24. Here are a few highlights from the Analysis and Design Task Force (ADTF) meeting I attended on Wednesday 22.

An RFC for a canonical XMI format
Pete Rivett is issuing today a RFC for a canonical XMI format at OMG.
I think this is an extremely valuable proposal, because you all know that the complete XMI syntax  is so complex and open that basically allow to define so many “XMI dialects” that it’s actually impossible to talk about interoperability of XMI documents among different tools.
Among the various aspects addressed by the proposal, the most crucial are:

  • a set of constraints reducing the number of options in the headline formats: a root XMI element is required, all properties must be specified as XML elements except for the ones in XMI namespace  (e.g., xmi:id), uuids are mandatory, and so on
  • the compliance levels that are allowed are: Canonical XMI Schema, Canonical XMI Export, and Canonical XMI Import

IMM – Information Management MetamodelPete Rivett also discussed IMM, a (revised) proposal to an RFP for bridging and mapping different specification languages covering the information management at large.
In particular, the scope of IMM covers: the business world (ER), the data base world (Relational),  the application world (XML Schema, UML, LDAP), traceability, and other models (ontologies, Semantics of Business Vocabulary and Rules).
The work on this is huge and ongoing (e.g., the LDAP coverage is completely missing)

SIMF – Semantic Information Modeling for Federation RFP
Cory Casanave proposed an RFP called SIMF that addresses “the data problem”, i.e., the issue of federating different systems and architectures that should share the same information. This includes all the issues of information sharing, interoperability, shared services, and so on. It might be considered the problem of the decade in terms of impact, cost, and volume both in private enterprises and public administrations.
In terms of CIM/PIM/PSM layers, SIMF focuses on CIM/PIM, by defining models and mappings between levels and within each level. SIMF comprises a kernel model, a kernel of Common Logic.
SIMF includes a language for specifying Conceptual Domain Models (CDM) and a language to express Logical Information Model (LIM) for describing data context, data structures and viewpoints. There  might be overlap between CDM and LIM. Model Bridging Relations (MBR) aims at semantically relate similar information concepts.
Expected submissions shall provide both visual and textual concrete sintaxes for CDM, LIM and MBR.
SIMF itself should be federated.
The feedback on this proposal highlighted that more than a standard on this (which is partly covered by other standards already) a set of other artefacts are needed: a methodology, possibly a book, and some tools. We will see..

WebML and a RFP for User Interaction Modeling
Stefano Butti and I presented our experience with WebML and WebRatio and we opened a discussion on the need and the scope required for a user interaction modeling language. More details on this initiative can be found in my previous post here and Stefano Butti’s post here.
The slides we presented this time are publicly available and can be browsed below. Other information on the outcome of the discussion in Salt Lake City is available in another Stefano’s post here.WebML for OMG

Once again, we got good feedback from the audience. Based on this, we decided to:

  • opt for an RFP process
  • work on and circulate a first version of the RFP in the upcoming summer and discuss/issue the RFP in the next meeting
  • focus the RFP on general Web, Mobile and interactive “business” GUIs

Metamodel Extension Facility RFP

Steve Cook (Microsoft) presented the MEF proposal. The motivation of this stands  Profiles have a lot of drawbacks: ambiguous purpose wrt metamodels, poor integration with OCL, weak expressive power (e.g., stereotypes do not support all features of MOF classes), applicability only to UML (e.g., BPMN is out), filtering not used, and so on.
The RFP is quite challenging because the proposals should not overlap with MOF, support fixed-model tools, and also MOF-based tools.
A quick summary by Steve himself is available on his blog.

Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP
Ed Seidewitz presented a revised version of the RFP proposed at last meeting as ESSENCE. The RFP is co-authored by Ivar Jacobson and Arne Berre too.

Ed Seidewitz presenting at OMG ADTF in Salt Lake City.

The bottom line here is to foster specification of software engineering processes by providing a simple, easy to use specification language that is more agile than the existing proposals (like the SPEM and ISO ones). This would help practitioners design their own SE processes, without the need of involving expert methodologists (and consequent long and expensive design cycles).
Personally, I think this is definitely needed in the software engineering community and also for teaching purposes.

Other topics that have been addressed include: Web Architectures for ODM (by Elisa Kendall), creating an OMG standard UML profile for NIEM RFP (by Vijay Mehra and David Bray), Common Terminology Services Release 2 (Harold Solbrig), and Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP (Ed Seidewitz, Arne J. Berre, and Ivar Jacobson).

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

Image of Salt Lake City: CC by Kwong Yee Cheng 

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.

WebML and WebRatio – seminar at Politecnico di Bari

Yesterday, November 24, I gave a seminar at Politecnico di Bari. Here are the slides (just an excerpt from another, broader slideset I prepared)

Interview with Stefano Butti (WebRatio) on modeling-languages.com


 
Jordi Cabot has published an interesting interview to Stefano Butti, the CEO of WebRatio, on his blog (modeling-languages.com). It collects a nice set of insights and stories on MDD, WebML, and BPM, together with an overview of the history of the tool, its objectives and its current status.
Read the interview now.

You may also vote it on DZone.

Again on BPM posting. Responses to Sandy Kemsley

Maintaining Consistency Across BPM Initiatives’ Content(November 3, Enterprise Irregulars)

In response to a writeup by Sandy Kemsley on a user experince on MDD+BPM at Bank of America.
Dear Sandy,
Thank you so much for sharing this writeup and comment.
Being a researcher on MDD and BPM, I’m glad to see that this recipe is getting more and more attention in the industry.
Being also a (software) analyst and a partner in a tool vendor company (WebRatio) I agree with you that pushing this combination of methodologies to the customers can be painful, because customers are rather conservative in terms of innovation and do not trust tools and approaches that are not in the orthodox mainstream.
However, we also had some really good success stories in making big customers adopt these approaches (see for instance our experiences we shared at BPM 2010 in Hoboken and that will also be published in an upcoming book edited by M. Rosemann and M. zur Muehlen. Presentation here: http://www.slideshare.net/mbrambil/web-ratio-bpmindustrialcasesbpm2010 ).
I share with you the concern about setting up weird combinations of tools for addressing BPM with a MDD approach.
In WebRatio, it took us 10 years to come up with a coherent suite of modeling, transformation, and code generation facilities that integrate in a seamless way BPM, data modeling, application modeling, quick prototyping, and code generation for production applications.
Since MDD is a very neat and conceptual approach, I think appropriate toolsuites that correctly deal with the models and their relationship is crucial for granting full benefits of a virtuous model-driven lifecycle.

Enabling Smarter BPM through Business Entities with Lifecycles (November 3, Column2 blog by Sandy Kemsley)

In response to a writeup by Sandy Kemsley on Rick Hull work on integrated  BP and data modeling at IBM T.J. Watson.
Thanks for this overview on Rick’s work. I think this is a crucial change of paradigm that companies will embrace sooner or later.
It doesn’t make any sense to consider data and processes as separate realms, with different kings and armies fighting at their borders.
I also have been doing integrated modeling of different aspects of applications for a while, not limited to BP and data models, but comprising also other aspects like user role modeling, application logic modeling, user interaction modeling, and so on. In our approach we envision an integrated model driven development (MDD) approach covering all these aspects and providing automatic alignment and quick prototyping.
I strongly believe that model integration, alignment and continuous cross-validation down to the implementation is the only response to the complex needs of today’s enterprises.
Here is an overview of what we do:
http://www.slideshare.net/stefano_butti/webratio-a-mdd-approach-to-bpm-4872510
And a summary of MDD responses to current BPM trends (including MDM integration):
http://www.slideshare.net/mbrambil/webratio-bpm-trends-and-challenges
I would be glad to get feedback on this.

Iterative Development in BPM Applications Using Traceability (November 3,Column2 blog by Sandy Kemsley)

Dear Sandy,
thanks for this post too. I appreciate your work, I think it’s big value for the BPM community.
I think traceability is crucial, but may not be enough. What we really need is coherency and alignment of models. The complexity of modern enterprise applications requires several models to describe all the relevant aspects. Design tools should be aware of this and *grant* alignment by construction.
This could be fairly easy for models that deal with the same level of abstraction, while it could be much more difficult when alignment is needed between business and IT models of course.
Furthermore (maybe even more crucial), alignment should be granted between models and implementation.
In my experience, all this can be achieved only through well engineered model-driven development (MDD) approaches.