Page Areas:



Current Submenu:

Additional Information:

Location

Science Park 3

We are located on the second floor of the Computer Science Building (Science Park 3) ...  more of Location (Titel)


Position Indication:

Content

Industry 4.0 and Smart Produktion (Industrie 4.0)

Next Generation Software Technologies:
Smart Engineering for Systems of Systems

Industry 4.0 and Production
(Future and Emerging Enabling Technologies for Production Systems)

Alexander Egyed, Paul Grünbacher, Hanspeter Mössenböck, Reinhold Plösch, Gustav Pomberger, and Rainer Weinreich

Institut für Software Systems Engineering
Institut für Wirtschaftsinformatik - Software Engineering
Institut für Systemsoftware

Keywords

Systems of systems, multi-team engineering, autonomous and interoperable network-based systems, monitoring and analysis of systems of systems, evolution and variability, knowledge management, tool infrastructures.

Motivation

An increasing number of software systems today are systems of systems (SoS) with decentralized control; support for multiple platforms; inherently conflicting requirements; continuous evolution and deployment; as well as heterogeneous, inconsistent, and changing elements. Such systems are often developed and evolved by heterogeneous and globally distributed teams and communities. SoS are typically based on system-of-systems architectures spanning multiple heterogeneous systems. Industrial SoS evolve over many years and need to be continuously adapted to meet customer, market and technology requirements. Terms used in literature to describe SoS include ultra-large-scale systems (Northrop 2006) or software ecosystems (Bosch 2012). SoS comprise multiple heterogeneous systems that are managed independently while interdependencies still need to be managed. For instance, even if the different systems in a SoS can exist independently, they use shared resources to meet the overall system requirements. SoS thus rely on the large-scale integration of independent and self-contained systems to satisfy a global need. SoS are characterized by the heterogeneity of platforms and networks they operate on; the diversity of stakeholders with changing and ephemeral needs; and the dynamicity of their operating environment.

Vision

The development and evolution of SoS has been compared to the “development of cities” while conventional software engineering methods rather support “building a house”. SoS can no longer be planned, engineered, and evolved in a top-down fashion (Northrop et al. 2006). Novel technologies, methods and tools are needed that address SoS characteristics:

Operational and managerial independence of the elements. The systems an SoS comprises are self-contained and useful independently. They are engineered, operated, and managed individually and they maintain their existence independent of the SoS. Understanding the requirements of SoS is challenging as these systems will be developed and used by diverse stakeholders with unavoidably conflicting and changing needs. SoS frequently are ecosystems (Bosch 2012) with heterogeneous users and user communities driving their evolution.

Emerging behavior. The behavior of a SoS cannot be predicted but rather emerges from the combination of the behaviors of the systems it comprises. The principal purposes of the SoS are fulfilled by these behaviors. Advanced features for monitoring the elements of a SoS and diagnosing errors are promising including methods for incorporating the feedback about actual behavior to the overall SoS.

Decentralized and heterogeneous component systems. The scale of SoS means that they will necessarily be engineered, operated, and evolved in a decentralized manner. A SoS will not be constructed from uniform parts but will be integrated from heterogeneous, inconsistent, and changing elements. There will typically be some misfits, especially if the systems are extended or repaired during evolution.

Evolutionary development. A SoS is not created fully formed but comes into existence gradually. Often SoS are developed in stages and by different types of developers. For example, a core platform of a SoS might be developed by experts while adopters build extensions and create specific solutions based on the platform to meet the needs of a market segment. There is also an increasing need to integrate new capabilities into a SoS while it is operating. New and different capabilities will be deployed, and unused capabilities will be dropped; the system will be evolving not in phases, but continuously and incrementally. For instance, it is common to evolve only individual systems instead of the entire SoS.

These characteristics are not independent and imply a change in the fundamental assumptions that underlie today’s software engineering approaches (Boehm 2006).

Approach

New software engineering approaches are necessary to support the development of SoS that go beyond the development of individual software systems. These are discussed next:

Technologies for Multi-Team Engineering
The engineering of a large SoS is an inherently collaborative process that involves diverse engineering teams and heterogeneous engineering tools. While these multi-disciplinary engineering teams have to collaborate continuously, their tools are nearly always independent, single-user applications. The difficulty of keeping the artifacts created with these tools in sync is a well known problem. Yet, no adequate solutions exist. Technologies for Multi-Team Engineering would focus on a novel engineering infrastructure for storing engineering artifacts, navigating, and reusing them. We envision automated support for capturing traceability, supporting distributed collaboration, handling consistency checking or transformation across an entire project, and supporting the evolution of arbitrary engineering artifacts and their meta-models.

Monitoring and analysis of Systems of Systems. Monitoring and analyzing the performance of SoS is challenging because a single operation can cross the boundaries of programming languages, virtual machines, operating systems and servers. Service orientation, cloud computing and load-balanced server farms even add to the problems. SoS are often so complex that it is impossible for single stakeholders to know all the components and features in detail. We therefore envision the automatic extraction of uniform high-level views from low-level components to understand the emerging behavior of SoS. Such views can, for example, be generated from probes that are injected into critical components or interfaces. Constraints will be specified to monitor whether the observed values are within plausible ranges and measures can be taken immediately if in invariant is invalidated. Since SoS mostly work under real-time conditions it is not possible to evaluate the monitored data on the fly. We therefore plan to develop tracing techniques that allow the efficient capturing of events and data and an offline replay of the system behavior for anomaly detection, behavior analysis and model-based testing of SoS.

Technologies for Design, Reuse, and Evolution Support. Evolution is the rule and not the exception in practice due to ever changing requirements, technologies, and markets. Many industrial SoS have a lifetime of 10‐30 years and are facing continuous evolution due to changing software technology, new customer requirements, and new market situations. Software systems face "aging", i.e., they degrade and erode over time due to changes up to a point where their key properties no longer hold. These challenges are specifically relevant in the context of SoS which comprise multiple, heterogeneous software systems that are managed and evolved independently, typically in many variants and versions. Existing software engineering methods and tools give only partial answers to the design, reuse and evolution of SoS. For instance, in SoS customers or external partners often even evolve the systems themselves, e.g., when developing specific extensions. Novel methods are needed to ease upgrading a system or parts of it at reasonable costs if the original system and the deployed system have evolved independently since the original deployment. At the same time users demand flexible systems that can be adapted rapidly and reliably to meet changing requirements, to increase performance, or to update technology. Approaches are needed for designing flexible and evolvable systems that can be composed rapidly and at low cost based on reusable components. In many environments, systems even need to evolve at runtime to ensure their continuous operation. We thus plan to enhance methods for requirements engineering, software architecture, and product lines to better address the characteristics of SoS.

Quality Control for Systems of Systems Development
We envision concepts, models, methods and tools for specifying, extracting and measuring quality related information at both the level of individual systems and system of systems to support quality assessment and quality control processes. This includes the extraction of such information from artifacts and system management data and comprises methods like static code and design analysis, architecture analysis and reviews. Quality control for systems of systems needs to employ techniques of multi-team engineering for achieving and supporting cross-system quality control analyses and processes. The resulting quality models can be integrated with quality data from systems of system monitoring. In addition, current approaches miss a holistic quality view on system components (mechatronic and cyberphysical objects) including mechanical, electrical, pneumatical and software perspectives. Thus we need an integrated model, not only combining different abstraction levels (component, system, systems of systems) for analysing mechatronic systems, but also integrating different mechatronic and cyberphysical perspectives (e.g., mechanical, electrical and software). On a process level, support for cross-system (multi-team) quality analysis and control is required.

Sustainable Systems of Systems
For developing mechatronic systems documentation of design decisions for the various perspectives (e.g., mechanical, electrical and software) is essential. We envision a documentation approach based on knowledge management for supporting decision documentation in a system-of-systems context, including methods and tools for efficiently capturing, maintaining, sharing and reusing decisions and decision rationales. Such an approach requires tracing of design decisions to arbitrary artifacts and models, concepts from multi-team engineering for keeping models consistent, and concepts supporting independent evolution.

Research Methods
As research methods we plan on using a combination of constructive and empirical methods with a strong focus on applied research. We plan to use PLM-based domain analysis, prototyping, and the development of models, languages, tool environments, technologies and infrastructures. Validation with industrial partners is performed using methods like design science and action research. Other validation methods used are case studies, surveys and experiments with industrial experts.

Impact

The next generation software technologies are expected to strongly improve the efficiency of software system development processes and with it the quality of software systems and systems of systems. Key impacts are:

  • Increased collaboration and awareness of engineering teams
  • Increased efficiency and effectiveness of engineering processes
  • Better maintainability through improved visibility and traceability
  • Long-term sustainability and evolvability of systems
  • Increase reusability of engineering artifacts

Improved systems of systems quality has a range of downstream benefits for industry, commerce, society and the scientific community. These indirect impacts are the expected downstream effects of better software engineering:

Industrial and Commercial Opportunities
The industrial and commercial opportunities of smart engineering for companies specialized in industrial engineering are far better predictability and considerably lower engineering costs. Further, companies will be enabled to face the ever increasing challenges of nowadays mechatronic systems like high reliability, security and sustainability.

Impact on Society
The envisioned work would not only help to significantly increase central aspects of mechatronic and cyberphysical systems, but is essential for their functioning. Important aspects to be addressed are reliability, security and sustainability of such systems. As the targeted mechatronic systems (power plants, trains, etc.) are vital and indispensable for society, their proper functioning and high reliability is a major concern of our society.

Scientific Impact
The envision work would be ground breaking from a scientific point of view. Naturally, this work would lead to numerous papers in high-profile, peer-reviewed publications as well as talks in conferences and workshops. This would improve the visibility of JKU/Upper Austria in the scientific community and attract international scholars. This work would also benefit multi-disciplinary research as it integrates mechatronical engineering (from mechanical engineering, electrical engineering, control engineering) and software engineering. In turn, this creates synergies that further benefit our impact in the community.

Competencies

The JKU ranks Top 50 among the software engineering research institutions in the world according to Microsoft Academic Search. The JKU Software Engineering Master’s Study was ranked the best CS program in Austria and the best technical program at the Johannes Kepler University. The JKU Business Informatics Study is the only international accredited study program at the JKU and has been highly ranked among studies in Austria, Germany, and Switzerland. The JKU thus has broad recognitions in both science and teaching in software engineering worldwide.

The Institute for Software Systems Engineering (ISSE), the Institute of System Software (SSW) and the Institute of Business Informatics - Software Engineering (WIN-SE) are part of JKU and leading research institutes on software and systems engineering. The work of the institutes cover a wide area of software engineering, from requirements capture, software and systems architecture and design, testing, to maintenance; including software modeling (consistency, traceability, impact of change), product line engineering (and other forms of variability), requirements engineering, monitoring, software quality, software processes, domain-specific languages, static and dynamic program analysis as well as compilation technology. The institutes collectively employ around 60 researchers, which are supported with grants from Austria, Canada, European Union, and USA – covering both academia and industry. Funding comes from national research grants like the Austrian Science Fund (FWF) and the Austrian Research Promotion Agency (FFG) and from applied research grants from companies such as IBM, Oracle, Siemens, and Trumpf or the SCCH and the ACCM (which are company-funded consortia). The institutes also hosted prestigious Christian Doppler Laboratories (CDL) like the CDL on Software Engineering (WIN-SE, 1992-1999) and the CDL on Automated Software Engineering (SSW, 2005-2012). Currently the ISSE hosts the CDL on Monitoring and Evolution of Very-Large-Scale Software Systems (2013-2020). This lab works on theoretical foundations as well as methods, tools, and infrastructures for managing and supporting the monitoring and evolution of very-large-scale software systems. The lab collaborates with the institute for System Software (SSW) as scientific partner and three industrial partners: Siemens VAI Metals Technologies GmbH is the world’s leading engineering company for metallurgical plants. KEBA AG provides advanced software solutions for industrial, banking, and service automation. Compuware Austria GmbH is a technology leader in the area of application performance management. For details see: http://www.isse.jku.at/, http://www.ssw.jku.at, http://www.se.jku.at

References

  • Boehm B.W. and J. A. Lane: “21st century processes for acquiring 21st century software-intensive systems of systems”. Crosstalk: Journal of Defence Software Engineering, 19(5):4–9, 2006.
  • Jan Bosch: Software ecosystems: Taking software development beyond the boundaries of the organization. Journal of Systems and Software 85(7): 1453-1454 (2012)
  • Alexander Egyed: “Automatically Detecting and Tracking Inconsistencies in Software Design Models,” IEEE Transactions on Software Engineering (TSE), Volume 37, Number 2, March/April 2011, pp. 188-204.
  • Alexander Egyed and David S. Wile: “Support for Managing Design-Time Decisions,” IEEE Transactions on Software Engineering (TSE), Volume 32, Number 5, May 2006. pp. 299-314.
  • Alexander Egyed and Robert Balzer: “Integrating COTS Software into Systems through Instrumentation and Reasoning,” International Journal of Automated Software Engineering (JASE), Volume 13, Number 1, 2006, pp. 41-64.
  • Alexander Egyed and Paul Grünbacher: “Identifying Requirements Conflicts and Cooperation: How Quality Attributes and Automated Traceability Can Help,” IEEE Software, Volume 21, Number 6, November/December 2004, pp. 50-58.
  • Alexander Egyed: “A Scenario-Driven Approach to Trace Dependency Analysis,” IEEE Transactions on Software Engineering (TSE), Volume 29, Number 2, February 2003, pp. 116-132.
  • Gerald Holl, Paul Grünbacher, Rick Rabiser, "A Systematic Review and and Expert Survey on Capabilities Supporting Multi Product Lines", In: Information and Software Technology, vol. 54, no. 8, pp. 828–852, 2012.
  • M. W. Maier: Architecting principles for systems-of-systems. Systems Engineering, 1(4):267–284, 1998.
  • Alois Mayr, Reinhold Plösch, Matthias Saft, "Objective Safety Compliance Checks for Source Code, In: Proceedings of 36th International Conference on Software Engineering (ICSE 2014), Hyderabad, India, 2014.
  • Linda Northrop, Peter Feiler, Richard P. Gabriel, John Goodenough, Rick Linger, Tom Longstaff, Rick Kazman, Mark Klein, Douglas Schmidt, Kevin Sullivan, Kurt Wallnau: “Ultra-Large-Scale Systems – The Software Challenge of the Future”. Carnegie Mellon University, 2006.
  • Vierhauser, Michael; Rabiser, Rick; Grünbacher, Paul, "A Case Study on Testing, Commissioning, and Operation of Very-Large-Scale Software Systems", In: Proceedings 36th Int'l Conference on Software Engineering (ICSE 2014), Hyderabad, India, 2014
  • Vierhauser, Michael; Rabiser, Rick; Grünbacher, Paul; Danner, Christian; Wallner, Stefan; Zeisel, Helmut, "A Flexible Framework for Runtime Monitoring of System-of-Systems Architectures", In: Proceedings 11th Working IEEE/IFIP Conference on Software Architecture (WICSA 2014), Sydney, Australia, 2014.
  • Stefan Wagner, Klaus Lochmann, Lars Heinemann, Michael Kläs, Adam Trendowicz, Reinhold Plösch, Andreas Seidl, Alexander Göb, Jonathan Streit, "The Quamoco Product Quality Modelling and Assessment Approach", In: Proceedings of 34th International Conference on Software Engineering (ICSE 2012), Zurich, June 2-9, 2012
  • Rainer Weinreich, Georg Buchgeher. “Automatic Reference Architecture Conformance Checking for SOA-based Software Systems”. 11th Working IEEE/IFIP Conference on Software Architecture (WICSA 2014), April, 7-11, Sydney, Australia, 2014.
  • Rainer Weinreich, Cornelia Miesbauer, Georg Buchgeher, Thomas Kriechbaum. “Extracting and Facilitating Architecture in Service-Oriented Software Systems”, 2012 Joint IEEE/IFIP Working Conference on Software Architecture & 6th European Conference on Software Architecture (WICSA/ECSA 2012), August 20-24, Helsinki, Finland, IEEE, 2012.
  • Rainer Weinreich, Georg Buchgeher. “Towards Supporting the Software Architecture Life Cycle”, Journal of Systems and Software (JSS), Vol. 85, Issue 3, March 2012.