Modeling, Modeling, Modeling: From Web to Enterprise to Crowd to Social

This is our perspective on the world: it’s all about modeling. 

So, why is it that model-driven engineering is not taking over the whole technological and social eco-system?

Let me make the case that it is.

A Comprehensive Guide Through the Italian Database Research Over the Last 25 YearsIn the occasion of the 25th edition of the Italian Symposium of Database Systems (SEBD 2017) we (Stefano Ceri and I) have been asked to write a retrospective on the last years of database and systems research from our perspective, published in a dedicated volume by Springer. After some brainstorming, we agreed that it all boils down to this: modeling, modeling, modeling.

Long time ago, in the past century, the International DB Research Community used to meet for assessing new research directions, starting the meetings with 2-minutes gong shows  to tell each one’s opinion and influencing follow-up discussion. Bruce Lindsay from IBM had just been quoted for his message:

There are 3 important things in data management: performance, performance, performance.

Stefano Ceri had a chance to speak out immediately after and to give a syntactically similar but semantically orthogonal message:

There are 3 important things in data management: modeling, modeling, modeling.

Data management is continuously evolving for serving the needs of an increasingly connected society. New challenges apply not only to systems and technology, but also to the models and abstractions for capturing new application requirements.

In our retrospective paper, we describe several models and abstractions which have been progressively designed to capture new forms of data-centered interactions in the last twenty five years – a period of huge changes due to the spreading of web-based applications and the increasingly relevant role of social interactions.

We initially focus on Web-based applications for individuals, then discuss applications among enterprises, and this is all about WebML and IFML; then we discuss how these applications may include rankings which are computed using services or using crowds, and this is related to our work on crowdsourcing (liquid query and crowdsearcher tool); we conclude with hints to a recent research discussing how social sources can be used for capturing emerging knowledge (the social knowledge extractor perspective and tooling).

162940660.KcsktUrP

All in all, modeling as a cognitive tool is all around us, and is growing in terms of potential impact thanks to formal cognification.

It’s also true that model-driven engineering is not necessarily the tool of choice for this to happen. Why? As technician, we always tend to blame the customer for not understanding our product. But maybe we should look into ourselves and the kind of tools (conceptual and technical) the MDE community is offering. I’m pretty sure we could find plenty of space for improvement.

Any idea on how to do this?

 

Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns

This is the summary of a joint contribution with Eric Umuhoza to ICEIS 2017 on Model-driven Development of User Interfaces for IoT via Domain-specific Components & Patterns.
Internet of Things technologies and applications are evolving and continuously gaining traction in all fields and environments, including homes, cities, services, industry and commercial enterprises. However, still many problems need to be addressed.
For instance, the IoT vision is mainly focused on the technological and infrastructure aspect, and on the management and analysis of the huge amount of generated data, while so far the development of front-end and user interfaces for IoT has not played a relevant role in research.
On the contrary, we believe that user interfaces in the IoT ecosystem they can play a key role in the acceptance of solutions by final adopters.
In this paper we present a model-driven approach to the design of IoT interfaces, by defining a specific visual design language and design patterns for IoT applications, and we show them at work. The language we propose is defined as an extension of the OMG standard language called IFML.

The slides of this talk are available online on Slideshare as usual:

Advanced Software Engineering past exam solutions

Here you find a couple of past exams.

Exam of 02-09-2013: a modeling language for defining user interfaces of mobile applications.

Description: advanced-software-eng-exam-2013-09-02

Exam of 17-09-2013: language for high level models of computer hardware architectures.

Description: advanced-software-eng-exam-2013-09-17

Pattern-Based Specification of Crowdsourcing Applications – ICWE 2014 best paper

I’m really proud to announce that our paper “Pattern-Based Specification of Crowdsourcing Applications” has received the BEST PAPER award at ICWE 2014 (International Conference on Web Engineering), held in Toulouse in July 2014. The paper was authored by Alessandro Bozzon, Marco Brambilla, Stefano Ceri, Andrea Mauri, and Riccardo Volonterio.

The work addresses the fact that in many crowd-based applications, the interaction with performers is decomposed in several tasks that, collectively, produce the desired results.
A number of emerging crowd-based applications cover very different scenarios, including opinion mining, multimedia data annotation, localised information gathering, marketing campaigns, expert response gathering, and so on.
In most of these scenarios, applications can be decomposed in tasks that collectively produce their results; Tasks interactions give rise to arbitrarily complex workflows.

In this paper we propose methods and tools for designing crowd-based workflows as interacting tasks.
We describe the modelling concepts that are useful in such framework, including typical workflow patterns, whose function is to decompose a cognitively complex task into simple interacting tasks so that the complex task is co-operatively solved.
We then discuss how workflows and patterns are managed by CrowdSearcher, a system for designing, deploying and monitoring applications on top of crowd-based systems, including social networks and crowdsourcing platforms. Tasks performed by humans consist of simple operations which apply to homogeneous objects; the complexity of aggregating and interpreting task results is embodied within the framework. We show our approach at work on a validation scenario and we report quantitative findings, which highlight the effect of workflow design on the final results.

Here are the slides presented by Alessandro Bozzon during the ICWE conference:

 

Here is Alessandro Bozzon presenting:

and here is the picture of the actual award:

ICWE 2014 Best Paper Award Certificate to Pattern-Based Specification of Crowdsourcing Applications. Bozzon, Brambilla, Ceri, Mauri, Volonterio

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

IFML 1.0: Interaction Flow Modeling Language approved by the OMG

After three years of work, IFML 1.0 is finally approved by the OMG!
The Interaction Flow Modeling Language was actually adopted one year ago, in March 2013, as Beta specification by the Object Management Group (OMG). Since then, the IFML Finalization Task Force worked hard to bring the specification to perfection.

The Object Management Group (OMG) Architecture Board approves the new IFML 1.0 standard on March 2014 in Reston, VA
The OMG Architecture Board gathered for approval of IFML. Among others, you can see Andrew Watson (OMG), Juergen Boldt (OMG), and representatives of IBM, 88Solutions, Adaptive, Fujitsu,  PrismTech and others.

Along the path, we got valuable feedback from implementors of the standard, spanning DSL tool vendors implementing the notation, UML tool vendors implementing the UML profile, and our own developers at WebRatio implementing the commercial industry-strenght modeling tool and code generators, as well as a bunch of opensource IFML editors. We also got feedback from WebRatio customers, which contributed to improve the language notation too.

All this summed up to 77 issues formally submitted to the OMG and subsequently addressed by the task force. The specification document, as well as the machine readable files (XMIs) have been cleaned up and prepared for final publication.
As a last step, the finalized version of the standard has been presented at the ADTF and at the Architecture Board of the OMG during the March technical meeting in Reston, VA, USA.
Version 1.0 is now officially adopted by the OMG. It’s just a matter of a few weeks before the final, copyedited version of the specification will be officially available on the OMG servers.
For documentation purposes, here is a snapshot of the program
Meanwhile, you can have a look at the sneak preview of the final version of IFML. Further details are available on the official www.ifml.org site.

As Stefano Butti, CEO of WebRatio said, IFML is one of the three biggest leaps in WebRatio history (together with the move to the US and the selection of WebRatio as Gartner Cool Vendor). Other vendors have already declared interest and/or started developing some modeling solution based on IFML. We look forward to wide adoption of this new standard, thanks also to the integration with other modeling aspects such as business modeling (with BPMN) and system modeling (with UML, SoaML, SysML, …)!

At the Reston event we also gave away the first copies ever of the very nice IFML Cheat Sheet (or Quick Reference Guide) prepared by WebRatio based on the official specification document.
The cheat sheet is available for free on the learning portal of WebRatio.

IFML CheatSheet - Quick Reference Guide and examples
The IFML cheat sheet: Quick Reference Guide and Examples (on the back side, not shown here).

Here is a small photo gallery of the event location, the WebRatio booth and the program of the AB plenary where IFML was adopted.

Reston
WebRatio boothOMG AB agenda for March 2014

 

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

5th MDA and Agile Modeling Forum, Milano, Sept 30, 2010 – Afternoon Session

In the afternoon session of the 5th MDA and Agile Modeling Forum I got the following messages:

Fabrizio Gheller (Altran)
Need and advntages of applying a stability index to business objects to obtain better overall performances of processes.

Pierfranco Ferronato (Soluta.net)
Wrong perspectives on agile development:

  • Agile as an excuse for avoiding planning and documentation
  • Programers are the only knowledgeable of what happens at the business level
  • Resource lock-in: if that guy leaves, we are dead. He is the only one who knows!

Sometimes there’s the need of joining business and IT, sometimes of splitting them: IT people should not talk business, and business ones should not talk IT .
UML is not a DSL, it’s a NDL: No Domain Language.Spaghetti modelling is not much better than spaghetti programming, and a tool or standard method per se will not solve your problems.
The problem should be split in:

  • configure the business [IT independent]: parameters and success metrics
  • model the business [IT independent]: steps and activities
  • support the business [IT dependent]: new services and semantics

The developer will not write specific code any more, he will write templates.

Roberto Pozzi (IBM Rational)
The usual risk is separation between models and implementations. Diversified tools and languages are needed for allowing communication between business and IT and between planning and solution delivery, down to alignment of the infrastructures that support business services.
Rational System Architect is a toolsuite that provides different modeling views to the enterprise architecture design.
Objective criteria must be defined to keep activities aligned with the objectives. Risk analysis and metrics should be applied to model driven design too, to allow governance of the portfolio of projects.
Eventually, a unified and unique repository should be there for allowing search and reuse of all the assets. Metamodels should guide their classification (as from the “Rational Common Modeling Platform” vision).
IBM is not yet at modeling execution, but for sure model simulation is fully achieved.

Paolo Miola (Tibco)
He discussed the lessons learned from applying Tibco and bp reengineering to a large-scale bpm and bam scenario for Crédit Lyonnais (LCL) part of the Crédit Agricole Group (6,000 backoffice users and 60,000 documents managed daily).

  • First phase: application of BPM and BAM to the scenario
  • Second phase: applying rule-based dynamic job assignment based on workload, context and expertise of the various executors (geographically distributed)

 The objectives are:

  • process visibility: understanding and coding the processes
  • process governance and unified management
  • flexibility
  • resource optimization (in the example scenario: 75% of human resources were spared and reallocated to more core activities)

The next wave for Tibco is predictive behaviour of systems: the two-second advantage: “a little bit of information beforehand is more valuable than all of the information after the event”.

Ernesto Damiani (UniMi)
Interestingly enough, on a set of 200 companies in Lombardy, a lot claim the have or want to have BPM solutions and BPM capabilities, but then 60% of them declare a time-to-implementation of more than 6 months for any BP change (= no flexibility) and 80% declare that no measure of productivity improvement after bpm automation is monitored.
Furthermore, typically, IT division and CIOs have no role in BPM (not only at the modeling level, but also at the procurement and technical level for enactment of models). Effect is that IT performs only support activity to modeling, and costs are allocated to the IT division, while decision is driven by high management.