Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1.1 Introduction

The development of complex high-tech systems often endures tremendous pressure to get the job done. Frequently, the proposition “faster, better, cheaper” is put forward. Many manufacturers of high-tech systems are in a continuous rush to meet deadlines in offering the right product for the right cost at the right time. Innovation cycles must be kept short, mainly due to price erosion after having introduced a new product in the market. Accordingly, there is an imperative to simultaneously push new products and features onto the market while responding to evolving customer expectations regarding new applications and product improvements. Technology investments are most effective for a portfolio of products rather than for independent products. This entails the development of architectures and components that lend themselves to a series of products, often called a product family [5]. These architectures and components allow an adequate market response. However, because of legacy configurations and inflexible architectures, a product family approach has the risk of creating products that are rigid and brittle. The way to avoid this risk is to improve system evolvability [4], i.e. the ability to evolve in response to evolution of technology, competition, and customer expectations. Systems should be easily modifiable to take advance of new hardware and software technologies and to respond quickly to changing customer expectations.

Market and technology dynamics pose yet other challenges. For example, the unpredictability of changes in a system’s environment and the change in use of a product pose increased evolvability requirements. Current development approaches specify the functionality of a system at design-time. The system is developed to operate reliably within a well-specified range of conditions; e.g. in terms of environmental conditions such as humidity and temperature, product performance limitations, or energy consumption. Such approaches are not adequate to develop systems that adapt to environmental or usage changes.

A viable answer to these new challenges is system adaptivity, i.e. the ability of the system to adapt itself to changes in its environment, system usage, etc. An adaptivity approach maximises a system’s life-time value for various stakeholders. This is achieved by an extension of the system’s operational range.

The key issue in adaptivity is to keep the system in an operational mode that allows it to perform its function in an optimal manner. The adaptivity strategy must not lead to inappropriate or unpredictable system behaviour. The main research question therefore is how to detect in what manner to adapt the product behaviour in its operational space and how to put this adaptivity into effect. The challenges of creating adaptive systems are manifold.

  • What are appropriate approaches to model and analyse the adaptable properties of the system in its environment?

  • What and how to measure the system during operation?

  • What are the guidelines, approaches, and constructs to develop adaptive systems?

  • How to define an adaptivity strategy, based on the measurements, adaptivity possibilities, product environment, etc.?

  • How to control software and hardware to adapt the system’s behaviour according to the defined strategy?

  • System adaptivity may lead to unpredictable emergent behaviour. How to guarantee correct system behaviour?

1.2 Professional Printing Systems

Professional printers are high-tech embedded systems that have to work in a wide variety of environmental circumstances: e.g. they have to deal with different temperatures, humidity levels, and outlet power levels. Printing technology takes a set of blank media and a digital file as input and produces a printed document as output. The printing process includes a variety of technologies including inkjet and dry toner. Over the past years, digital printing technology has become mature and the market for digitally printed documents has become very diverse. The market includes home printing with low-cost printers, office printing, and professional printing. The media on which is printed is diverse in terms of size, mass, thickness, roughness, coating, finishing, etc. Printer manufacturers need to have in-depth understanding of the characteristics of each digital printing market segment to position the right product at the right cost-of-ownership in the right segment of the market.

The professional printer market involves systems that produce, distribute, and manage documents. Documents may be printed in colour or black-and-white and in a variety of formats (i.e. small or wide). Customers are typically found in offices, education, industry, and the graphics industry. As such, the market of professional printers starts at the top of the low-cost office printers and ranges up to offset lithography printers (e.g. used for printing of newspapers). Some examples of professional printers are shown in Fig. 1.1.

Fig. 1.1
figure 1

Examples of professional printers. Top left: Océ ColorWave 650 wide-format colour printer. Top Right: Océ VarioPrint DP black-and-white production printer. Bottom: Canon ImagePress C7010VPS colour production printer (Pictures from http://www.oce.com/ and http://cap.canon.nl/)

For professional printer manufacturers, market reputation is typically based on productivity (effective number of pages per minute), reliability (always operational), quality consistency (constant high quality and colour consistency), ease of use, and a competitive cost-of-ownership. In this environment, they have to anticipate changing market requirements, changing market conditions of their clients, competitor developments, and emerging market opportunities. Any company that plays this competitive game successfully, in terms of investment, innovation lead-time, life-cycle costs (development, manufacturing, service), and cost-of-ownership of the product, will emerge as a winner. Trends that have emerged in the professional printing market over recent year include the following.

  • Print-on-demand. Quick turnaround and responsiveness to customer printing needs. This is enabled by electronic file submission. In-line finishing extends the capabilities to print complete products in a single pass, when, where, and how the customer demands.

  • Variable data printing. Digital printing allows printed materials to include information elements (images, graphs, charts) amidst static regions (text) that needs different processing, e.g. by providing localised high-quality output.

  • Distribute and print. Electronic distribution of files and printing close to the point of need reduces postal or manual transport, thereby reducing distribution costs by moving the point of production closer to the point of delivery.

  • Colour. There is a continuous focus on value and attributes of printing. Colour is an added value that provides a clear differentiator with respect to black-and-white printing. Today, most research and industry exposure concerns full colour. However, it is the associated cost price that still keeps the black-and-white market dominant. It is expected that in the near future the turn-over point from black-and-white to colour will be reached. A similar turn-over point has already been passed in the home printing market many years ago.

  • Higher print quality expectations. Printer manufacturers are challenged to produce printed documents with the appropriate printing characteristics at an acceptable price. The professional printing market has a high demand for print consistency and print quality. There are many external and internal parameters that influence consistency and quality (e.g. humidity, temperature, speed) and they have to be controlled. The end user demands need to be balanced with the possibilities and restrictions imposed by the printer technology and implementation. Certainly at the high end of the printing market, where digital printing starts to compete with offset printing, the quality standards set forth by the offset industry, provides a key challenge.

  • Media range. In order to offer new and exciting applications and move the market perception away from a commodity service to a value-added process, an increasingly wide range of media must be made available. An increasing range of paper sizes, masses, colour, texture, and finishing is needed. Complex printing jobs may include several media stocks in one pass requiring a wide media range concurrently within a print job.

Many of these trends influence the architecture and design of professional printing systems, requiring architectures and designs that can cope with change. Change is required during design-time due to changing market requirements. Moreover, change is required at run-time; e.g. to cope with changes in the environment that influence the print quality and consistency or to cope with other media. Furthermore, gradual change is needed to cope with wear of system components.

1.3 The Octopus Project

To address the adaptivity challenges listed in Sect. 1.1, the Embedded Systems Institute started the Octopus project in July 2007. The Octopus project has been carried out according to the industry-as-laboratory philosophy [3]: to obtain results that can be usefully applied in an industrial setting, the project has been conducted in the context of a concrete industrial case. The Octopus project has been conducted within the professional printing domain, which was introduced in Sect. 1.2. Océ-Technologies B.V., manufacturer of professional printing systems, has acted as the carrying industrial partner of the Octopus project. The other partners in the Octopus project have been Delft University of Technology, Eindhoven University of Technology, Radboud University Nijmegen, and the University of Twente.

The Octopus project has taken up research into the development of adaptive embedded systems. Its research has addressed the following topics with a special attention for system adaptivity:

  • Strategies for component-level and system-level control;

  • Methods and tooling that support model-based systems architecting and design;

  • Methods and tooling that allow model-driven design-space exploration; and

  • Methods for model-driven software engineering and code generation.

To obtain industrially relevant research results, the Octopus project has paid attention to validation of its results in an industrial context. Océ’s professional printing domain has been used to assess the industrial applicability of the methods and tools developed within the Octopus project.

1.4 Reading Guide

This book describes the results of the Octopus project. As its title Model-Based Design of Adaptive Embedded Systems suggests, the Octopus project has yielded methods and tools that support model-based development of adaptive embedded systems. As a system’s control software generally provides the capability of a system to adapt itself, the results in the book are mainly applicable to the development of software-intensive embedded systems. Examples of such systems are the professional digital document printers, which we have chosen as the industrial carrier of the Octopus research. Although these systems have been selected as a means to validate the methods and tools developed within the Octopus project, the project’s results are applicable in a much broader context.

This book has nine chapters, of which Chaps. 2 through 8, form the core of the book. Chapter 2 defines the notion of adaptivity and addresses its importance and the challenges coming from the development of adaptive embedded systems. This is done according to the Business, Architecture, Processes, Organisation (BAPO) principle [5]. Chapter 2 identifies the trade-offs that are to be made and techniques to be used in the development of adaptive systems. It provides many examples of these trade-offs and techniques both within and outside this book.

Techniques and tools developed in the Octopus project are described in Chaps. 3 through 8. Each of these chapters provides a survey of an important aspect in the development of adaptive embedded systems and introduces techniques to handle this aspect. These surveys are generally accessible, meaning that detailed (mathematical) proofs and treatments have been omitted. Each of the book chapters is self-contained; in other words, they are understandable independently from the other chapters. The focus of chapters is on validation in an industrial context. Therefore, the chapters follow the high-level method, which relates industrial problems and goals to academic research questions and the corresponding (industrial) validation of (academic) research results. This research methodology was developed within the BodeRC project [1], an earlier industry-as-laboratory project of the Embedded Systems Institute and Océ.

1.4.1 Control of Adaptive Embedded Systems

The results of the Octopus project can be grouped into two main categories. The first category matches the Architecture aspect of BAPO (as explained in Chap. 2). It addresses the control of adaptive embedded systems. Adaptive embedded systems have to be able to deal with a large variety of different inputs. For instance, professional printers need to handle many different media and even more different documents. In addition, they have to function within a wide range of environmental circumstances, e.g. temperature, humidity, and outlet power level. Typically, an embedded system has many parameters with which it can adapt its behaviour. The challenge of controlling the dynamic configuration of these parameters taking into account all physical constraints is addressed in Chaps. 35 of this book.

Chapter 3 considers the control of professional inkjet printers. In particular, it studies the control of these printers’ inkjet printheads. To allow a consistent high print quality for any bitmap, the printheads’ nozzles must be able to generate a constant-size ink drop at any moment. A printhead nozzle has to correct for different printing speeds, bitmaps to be printed, and vibrations from itself and its neighbouring nozzles. This challenge is addressed by model-based design of robust nozzle-actuation pulses that effectively optimise the nozzles’ jetting behaviour without the need for additional measurement equipment.

Where Chap. 3 addresses component-level control techniques, Chap. 4 considers system-level control strategies. It describes and compares four adaptive control approaches: model-reference adaptive control, gain scheduling robust control, model predictive control, and Gaussian stochastic control. The complex heating behaviour of a professional toner printer is used to assess the industrial applicability of the different strategies. The chapter describes how such a printer can adapt itself to changes of the environment temperature, the media type, and available outlet power.

Control engineering, as discussed in Chaps. 3 and 4, is an important discipline in the development of (adaptive) embedded systems involving physical processes. The success of control engineering greatly depends on the availability of an accurate model describing these processes. Chapter 5 considers situations where such an accurate physical model is not available: it describes how one can apply probabilistic reasoning to deal with incomplete knowledge. The chapter presents methods to create a probabilistic model from measured data and use the created model for stochastic control. This is illustrated in the professional printing domain using a media-recognition case and an engine speed control case for a professional toner printer.

1.4.2 Architecting and Design of Adaptive Embedded Systems

The second category of Octopus project results involve methods and tools for architecting and designing adaptive embedded systems. This category corresponds to the Process aspect of BAPO (see Chap. 2) and is covered by Chaps. 68 of this book. The first of these chapters, i.e. Chap. 6, describes architecting and design results. The chapter describes a method and a corresponding tool to support the architectural phase of adaptable system development in a systematic and model-based manner. The method distinguishes static decomposition and dynamic behaviour of the system to assist architects in systematically generating and selecting subsystem decomposition candidates. Together, the method and tool define and verify candidate architectures of the target system, and manage the interactions across engineering disciplines. The chapter demonstrates the usage of the described architectural tooling for a production toner printer.

As the complexity of embedded systems increases, so does the number of possibilities to implement these systems in hardware and software. Chapter 7 considers systematic support during the early phases of design to cope with this complexity. It describes the Octopus tool set for model-driven design-space exploration. The tooling applies the Y-chart paradigm [2], which advocates a separation between application software functionality, hardware platform implementation choices, and the mapping of software functionality onto the hardware platform. The chapter shows how the Octopus tool set can be used to quickly specify and analyse design alternatives. As a result, the tool set enables fast design-space exploration for software-intensive embedded systems. Two running examples are used to demonstrate the developed tooling: a high-end colour printer with a general-purpose hardware platform and a black-and-white production printer with a custom-built hardware platform.

Adaptivity is a system property, which is generally enabled by its embedded control software. Adaptivity can be achieved by the close cooperation of different software components. Unfortunately, this has a negative effect on the complexity and maintainability of the embedded software. Chapter 8 proposes a systematic, model-driven approach for the development of adaptive embedded software that does not sacrifice the quality of the software system. The approach involves the usage of domain-specific languages in which a part of the system can be specified and from which the corresponding control software can be generated automatically. The model-driven software engineering approach is demonstrated using two cases in the professional printing domain. The first case involves a scheduling domain-specific language from which scheduling code can be generated. The second introduces a domain-specific language for multi-objective optimisation used to make on-line trade-offs between different system qualities given the available resources (e.g. available outlet power).

1.4.3 Conclusion

The last chapter of this book, i.e. Chap. 9, is a reflective chapter. This chapter summarises and evaluates the results of the Octopus project. Moreover, it evaluates the Octopus project itself. Chapter 9 considers the impact of the project on its partners and the lessons learned regarding the organisation of industry-as-laboratory projects.

After Chap. 9, there are two appendices. Appendix A lists the Octopus project partners and Appendix B provides an overview of the project’s publications.