The annual meeting of the special interest group on “software architecture” of the German Computer Science Society called “Architekturen 2014” was held at ABB Ladenburg. The meeting’s main theme was “Architectures for Industry 4.0“. The fourth industrial revolution is expected from a reorganization of industrial production processes to exploit the capabilities of cyber-physical systems. A dozen of invited talks from researchers and practitioners gave various perspectives on the topic and how it will affect software architectures.
The latest issue of the magazine “IEEE Software” features our article on architecture sustainability: “At ABB, we’re measuring and tracking the architecture sustainability of a large-scale, distributed industrial control system currently under development that’s based on Microsoft technologies and includes a layered architecture. A former version of the system grew to several million LOC and suffered from architecture erosion and high maintenance costs. We adopted a multiperspective approach called Morphosis to avoid such a situation from occurring again. Morphosis focuses on requirements, architecture design, and source code. It includes evolution scenario analysis, scoring of technology choices, architecture compliance checks, and tracking of architecture-level code metrics. This article reports our experiences with tracking selected sustainability measurements over the course of two years.”
A couple of recent studies assessed the state of model-driven engineering (MDE) and the UML in practice. Hutchinson et al. (ICSE2011) noticed for example that a lot of MDE success is actually hidden and that MDE adoption is often rather driven by evangelists than hard business considerations. Petre (ICSE2013) focused on the UML and found for 50 software professionals that 70 percent do not use the UML. Unfortunately, most of the studies known to me have some methodical flaws, such as improper selection of the sample population. Maybe it is time for a systematic review and comparison of all the available empirical studies and approaches in industry?
ABB uses model-driven approaches in various areas, e.g., architecture documentation, code generation for PLC software, simulation, and even testing. Also, ABB Corporate Research has quite some history of experimenting with model-driven techniques:
- platform-independent model and code generation with ArcStyler, based on the MDA initiative (Interactive Objects success story, 2002)
- UML models to describe higher-level design for safety critical embedded systems (Empirical Software Engineering Journal, 2006)
- work on the OPC UA information model (Springer Book, 2009)
- model-based testing of embedded systems (EU-Project D-MINT, 2010)
- program transformation with srcML (ICSM, 2011)
- reliability prediction based on Markov Models (ISSRE, 2010)
- performance prediction for an industrial control system, based on the Eclipse modeling framework (ICSE, EU-Project Q-ImPrESS, 2011)
- DSL for constructing OPC UA Queries and Event Filters (ECMFA, 2012)
- model transformations for analytical purposes (MASCOTS 2012, ICPE 2013)
- model-based design space exploration for distributed systems (ICPE, 2012)
Current research in this area concerns for example architecture decision modeling (collaboration project with University of Groningen) or using IEC 61499 for modeling control logic.
ABB is currently investigating cloud computing and big data technologies in the context of power and automation. Cloud computing is already common for customer relationship management systems or human resource management systems, but industrial automation is still in the process of moving to the cloud. As an early example, ABB’s SCADA system for oil&gas applications, SCADAvantage, can now be purchased as hosted version in a GlobaLogix data center.
Big data processing amongst other things involves crossing structured and unstructured data to create new insights for customers. Unstructured data can for example be video streams or social media output. ABB’s Asset Health Center is one of the first solutions for processing big data for smart grids. ABB is executing several research projects on cloud computing and big data, providing great opportunities for scientific and industrial research beyond the buzzwords. We are hiring PhD-level professionals!
We got a paper accepted at the Industry Track of the 17th International Software Product Line Conference (SPLC2013) to be held August 26th-30th in Tokyo, Japan: In the paper, we describe how we applied existing domain analysis approaches for software product line engineering and tailored them to include a feature analysis as well as architecture evaluation. We report our experiences from applying the approach in two subdomains of industrial automation.
Architecture maps reconstructed from several industrial software systems during a domain analysis.
ABB’s breakthrough developing an HVDC circuit breaker now led to an inclusion to MIT Technology Review’s list of 50 disruptive companies 2013 along with companies such as Apple, SpaceX, and Facebook. The HVDC breaker enables building direct current grids, whereas before only point-to-point lines were possible. This may lead to widespread use of renewable energy.
The latest issue of ABB’s corporate technical journal “ABB Review” features the theme “Software”. With around 3,000 software developers in 40 countries worldwide and impacting about one quarter of ABB’s revenue, there is no doubt that ABB is a major software company. The theme issue provides an overview on some of ABB’s latest activites for embedded, system, and enterprise software as well as software processes. Check out how we prepare our controllers for the multi-core challenge and how we use performance modelling to plan the capacity and software architectures of our back-end IT.
Because much of the software was, until recently, embedded in other products, ABB was not recognized as being an obvious software company. This changed with the acquisition of enterprise software companies such as Ventyx and Mincom, rendering ABB much more visible on the software scene.
Here are the slides from my talk at WICSA 2012:
A new paper was accepted for a working session at WICSA 2012 in Helsinki: “Managing the cost-effective evolution of industrial software systems is a challenging task because of their complexity and long lifetimes. We have applied several recent sustainability evaluation and improvement approaches to the software architecture of a large industrial software system from ABB. We combined our selection of approaches in a lightweight method called MORPHOSIS“.
The MORPHOSIS Method
Our paper “An industrial case study of performance and cost design space exploration” has won an ICPE 2012 Best Paper Award. It describes how PerOpteryx was applied for design space exploration on a web-based system from ABB.