Module Role of Software in Complex Systems

Similar documents
The Tool Box of the System Architect

Roadmapping. Market Products Technology. People Process. time, ca 5 years

Buskerud University College: Program Systems Engineering

Threads of Reasoning in the Medical Imaging Case

by Gerrit Muller University of South-Eastern Norway-NISE

Decomposing the Architect; What are Critical Success Factors?

Buskerud University College: Program Systems. engineering

Tutorial Roadmapping for Strategy Support

UNIT-III LIFE-CYCLE PHASES

Architecture; the building as a product

Towards an MDA-based development methodology 1

Systems Engineering Fundamentals Assignments

The Waferstepper Challenge: Innovation and Reliability despite Complexity

Autonomy, how much human in the loop? Architecting systems for complex contexts

Where does architecture end and technology begin? Rami Razouk The Aerospace Corporation

The Role of the Architect in a Turbulent World

A Multi-Disciplinary Research Approach, Illustrated by the Boderc Project

Systems Engineering Overview. Axel Claudio Alex Gonzalez

Eliciting and Validating Stakeholder Needs

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Why Design for Testability Sooner? 21 October 2008 Bruce Bardell, Technical Fellow Bradley Chief Architect BAE Systems

Strategic Considerations when Introducing Model Based Systems Engineering

Software-Intensive Systems Producibility

Knowledge Enhanced Electronic Logic for Embedded Intelligence

A Knowledge-Centric Approach for Complex Systems. Chris R. Powell 1/29/2015

Reconsidering the Role of Systems Engineering in DoD Software Problems

Introduction to Systems Engineering

CC532 Collaborative System Design

SECTION 2. Computer Applications Technology

Introduction to Software Engineering

Abstract. Justification. Scope. RSC/RelationshipWG/1 8 August 2016 Page 1 of 31. RDA Steering Committee

TERMS OF REFERENCE FOR CONSULTANTS

Foreword The Internet of Things Threats and Opportunities of Improved Visibility

Introducing SoftRadio Radio Management System

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

This is a preview - click here to buy the full publication

AN0503 Using swarm bee LE for Collision Avoidance Systems (CAS)

TRACING THE EVOLUTION OF DESIGN

Legal Aspects of Identity Management and Trust Services

What is a collection in digital libraries?

Real Time Operating Systems Lecture 29.1

products PC Control

Chapter 2 Understanding and Conceptualizing Interaction. Anna Loparev Intro HCI University of Rochester 01/29/2013. Problem space

Strategy for a Digital Preservation Program. Library and Archives Canada

Methodology for Agent-Oriented Software

Introduction to Planets. Hans Hofman Nationaal Archief Netherlands Barcelona, 27 March 2009

Scenario Planning edition 2

2. The Crypto Story So Far

Digital Engineering. Phoenix Integration Conference Ms. Philomena Zimmerman. Deputy Director, Engineering Tools and Environments.

A Survey of Autonomic Computing Systems

WHITE PAPER FACILITY FOCUS: GMP Facility Modernization. By: David M. Marks, P.E.

2. CYBERSPACE Relevance to Sustainability? Critical Features Knowledge Aggregation and Facilitation Revolution Four Cases in the Middle East**

Model Based Design Of Medical Devices

Department of Energy s Legacy Management Program Development

Objectives. Designing, implementing, deploying and operating systems which include hardware, software and people

Possible installation effects on density meter in a fast loop sampling system.

Course Summary. CLASSROOM: On-site Instructor-led Education WEBINAR: Instructor-led On-line Training ON-DEMAND: Virtual Self-Paced Learning

Rapid Prototyping of Computer Systems , , A, , Units Carnegie Mellon University. Course Syllabus Spring 2005

INTERNATIONAL CONFERENCE ON ENGINEERING DESIGN ICED 03 STOCKHOLM, AUGUST 19-21, 2003

Embedded System Hardware - Reconfigurable Hardware -

SAVITRIBAI PHULE PUNE UNIVERSITY

Reverse engineering a legacy software in a complex system: A systems engineering approach

Designing Architectures

CSTA K- 12 Computer Science Standards: Mapped to STEM, Common Core, and Partnership for the 21 st Century Standards

Industry 4.0: the new challenge for the Italian textile machinery industry

In the previous chapters, efficient and new methods and. algorithms have been presented in analog fault diagnosis. Also a

Why is Systems Integration understood so poorly? Reflections on 3 decades of unforeseen failures

The Informal Nature of Systems Engineering

Linear vs. PWM/ Digital Drives

The secret behind mechatronics

Cyber-Physical Systems: Challenges for Systems Engineering

NXP bursts R&D workloads into the cloud with AWS Customer Case Study Commissioned by: Amazon Web Services

Reinventing the Transmit Chain for Next-Generation Multimode Wireless Devices. By: Richard Harlan, Director of Technical Marketing, ParkerVision

AVL X-ion. Adapts. Acquires. Inspires.

Copyright: Conference website: Date deposited:

MANAGING HUMAN-CENTERED DESIGN ARTIFACTS IN DISTRIBUTED DEVELOPMENT ENVIRONMENT WITH KNOWLEDGE STORAGE

Introduction to adoption of lean canvas in software test architecture design

Knowledge Management for Command and Control

UNIT VIII SYSTEM METHODOLOGY 2014

Modeling Physical PCB Effects 5&

Table of Contents SCIENTIFIC INQUIRY AND PROCESS UNDERSTANDING HOW TO MANAGE LEARNING ACTIVITIES TO ENSURE THE SAFETY OF ALL STUDENTS...

HIGH IMPACT INNOVATIONS TRANSFORMING AUSTRALIAN AGRICULTURE

Canadian Technology Accreditation Criteria (CTAC) ELECTROMECHANICAL ENGINEERING TECHNOLOGY - TECHNICIAN Technology Accreditation Canada (TAC)

European Charter for Access to Research Infrastructures - DRAFT

Cognitive Wireless Network : Computer Networking. Overview. Cognitive Wireless Networks

COMMISSION RECOMMENDATION. of on access to and preservation of scientific information. {SWD(2012) 221 final} {SWD(2012) 222 final}

Thriving Systems Theory:

University of Massachusetts Amherst Libraries. Digital Preservation Policy, Version 1.3

Cooperation and Control in Innovation Networks

Human-computer Interaction Research: Future Directions that Matter

Towards Integrated System and Software Modeling for Embedded Systems

Project Example: wissen.de

ARMY RDT&E BUDGET ITEM JUSTIFICATION (R2 Exhibit)

LYNX CE CENTRAL CONTROL FOR NETWORK VP. General Specifications

Towards Sustainable Process Industries: The Role of Control and Optimisation. Klaus H. Sommer, President of A.SPIRE

INTERACTIVE ARCHITECTURAL COMPOSITIONS INTERACTIVE ARCHITECTURAL COMPOSITIONS IN 3D REAL-TIME VIRTUAL ENVIRONMENTS

Digital Engineering and Engineered Resilient Systems (ERS)

Parallel Computing 2020: Preparing for the Post-Moore Era. Marc Snir

Current Challenges for Measuring Innovation, their Implications for Evidence-based Innovation Policy and the Opportunities of Big Data

Real-time Systems in Tokamak Devices. A case study: the JET Tokamak May 25, 2010

Transcription:

Module Role of Software in Complex Systems Frogs vei 41 P.O. Box 235, NO-3603 Kongsberg Norway gaudisite@gmail.com Abstract This module addresses the role of software in complex systems Distribution This article or presentation is written as part of the Gaudí project. The Gaudí project philosophy is to improve by obtaining frequent feedback. Frequent feedback is pursued by an open creation process. This document is published as intermediate or nearly mature version to get feedback. Further distribution is allowed as long as the document remains complete and unchanged. All Gaudí documents are available at: http://www.gaudisite.nl/ version: 1.0 status: preliminary draft July 31, 2014

Contents 1 1 1.1 Introduction............................. 1 1.2 Why is Software a Bottleneck in Product Development?...... 2 1.2.1 Growth of software effort.................. 2 1.2.2 Roles of the disciplines in a system............ 2 1.2.3 Characterization of disciplines............... 4 1.3 System or Software Issues?..................... 5 1.4 Acknowledgments......................... 6

Chapter 1 human user application SW Control control SW digital electronics Feedback analog or power electronics mechanical optical sensor device device legend local automation or safety 1.1 Introduction The relation between the software and system disciplines is difficult in many organizations. The poor relation between the disciplines results in gaps in the design and later in quality problems in the final systems. As a consequence software is in many organizations perceived as a problem and a bottleneck in product creation. Part of the explanation is traditionally physical disciplines, e.g. mechanical, optical, or electrical engineering, dominated system design. Historically the engineers from these physical disciplines were confronted most with the application domain. These engineers have evolved into domain engineers. In the modern world software has a significant impact on many system qualities, as we will show in this chapter. More and more customer value depends on software. Unfortunately, many software engineers have not yet build up sufficient knowledge of the physical aspects of their systems or of the application domain. At the same time the engineers from the physical disciplines, who dominate the system design, do not yet understand the jargon and the concepts from the virtual disciplines (software, digital electronics engineering).

1.2 Why is Software a Bottleneck in Product Development? 1.2.1 Growth of software effort Software is a relative young discipline. The amount of software in systems is growing exponentially. The contribution of different disciplines to the system, measured in effort is shifting continuously. Figure 1.1 shows the growth of effort to make software and the related relative decrease of the other disciplines. 100% relative effort physics/chemistry, etc. mechanics electronics SW 1970 2000 time Figure 1.1: The relative contribution of software effort as function of time 1.2.2 Roles of the disciplines in a system The different disciplines do have an asymmetric relation when we look at the control in systems. Figure 1.2 shows a typical control hierarchy in a system. At the bottom we see the physical disciplines who realize physical devices and sensors. We prefer to keep these physical components independent from each other seen from control perspective. Safety provisions are the major exception to this rule. The physical devices need actuation that is delivered by some analog (power) electronics, e.g. amplifiers. Note that there might be all kinds of conversions in between in the more complex reality, e.g. pressure in a hydraulic system, light in an optics system. Again we prefer to keep the analog electronics mutually independent. The analog electronics is controlled by digital electronics. The control stack continues with control software that sits on top of the digital hardware. Finally, application software determines what the control software should do. Hopefully, the human user is the person who is really in control. page: 2

human user application SW Control control SW digital electronics Feedback analog or power electronics mechanical optical sensor device device legend local automation or safety Figure 1.2: The Control Hierarchy of a system along the Technology dimension Note that in all layers there are several reasons to have short cuts from sensors to control: Safety is always kept as simple and direct as possible, since any complexity introduces new safety risks. A good safety design carefully allocates safety functions to the different layers to achieve the desired safety while achieving the desired control flexibility. Automation can be done on lower layers if this simplifies the overall design. Automation provides value when the higher level work flows are well understood and well defined. Performance is a special case of automation, where the short cut facilitates better performance, for example fast response times. The software technology is in most modern systems the integrating technology, as shown by the control hierarchy. In the next section we will dive somewhat deeper in the relation between system qualities and software technology. In modern systems software technology determines to a high degree most system qualities. The inherent system qualities are often determined by the physical design, but the actually achieved quality is often determined by the way the software is constructed. For example, we can dimension a system with quite powerful motors to ensure high performance, but if the software does not fully utilize the motors, then the system performance is lower than can be expected from the physical design. Similarly for reliability that inherently is determined by the physical design. However, the software control may negatively impact reliability. For example, in a system with pumps, the software used a sequence where one of the pumps regularly ran dry. The consequence was that this pump failed often. page: 3

concrete tangible mature production lead-time abstract intangible immature flexible? material cost Mechanics Analogue / power Electronics Digital Electronics Software Figure 1.3: Characterization of disciplines, ordered along the level of abstraction 1.2.3 Characterization of disciplines Physical disciplines work on aspects that can be touched, the subjects are tangible. Virtual disciplines work on abstract concepts, the subjects are intangible. Figure 1.3 shows the disciplines on an axes of decreasing tangibility and increasing abstractness. Mechanics is one of the older disciplines that is highly tangible. Analog (power) electronics is younger as discipline and less tangible. Digital electronics is again younger. Although the digital electronics itself can be touched, the circuitry itself is much more conceptual and abstract. Figure 1.3 also provides a number of other characterizations that follow the same trend as tangibility and abstractness: maturity The more tangible the more mature a discipline seems to be. Mature means here well known and founded; the discipline has an established and documented body of knowledge. production lead time The physical world is constrained by nature. Processing and production of components have an inherent lead time. Software can be seen as infinitely fast. However, when testing, quality control and configuration management are included in the production lead time, then this lead time becomes strongly dependent on people, processes, and tools. Hence the question mark behind flexible at the right hand side of the figure. material cost Physical systems do have inherent cost in the materials and its processing. These differences in nature, especially production lead time and material cost, cause also differences in other business processes and the approach to life cycle aspects. For many physical components the logistics design is crucial for cycle time, stocks, and cost, where software does have zero reproduction cycle time, cost and infinite stocks. page: 4

1.3 System or Software Issues? Systems can be specified in terms of their functionality and qualities. Most qualities of a system are strongly influenced or even determined by the software design. Figure 1.4 based on [3] shows a checklist for qualities. In this figure all qualities that have a strong or weak relation with the software design are highlighted. usable usability attractiveness responsiveness image quality wearability storability transportability dependable safety security reliability robustness integrity availability effective throughput or productivity interoperable connectivity 3 rd party extendible liable liability testability traceability standards compliance efficient resource utilization cost of ownership consistent reproducibility predictability serviceable serviceability configurability installability future proof evolvability portability upgradability extendibility maintainability logistics friendly manufacturability logistics flexibility lead-time ecological ecological footprint contamination noise disposability down-to-earth attributes cost price power consumption consumption rate (water, air, chemicals, etc.) size, weight accuracy legend weak SW relation strong SW relation Figure 1.4: Quality Checklist annotated with the relation with software During System Design the system is decomposed in subsystems and implementation technologies. The combination of subsystems and technologies together has to realize the qualities. During this step the contribution or the role of a subsystem and implementing technology is determined. Figure 1.5 shows the System level design aspects that are strongly related to software. Figure 1.6 shows a list of mechanisms used by SW engineers. These mechanisms facilitate the system level design aspects mentioned in Figure 1.5. Both Quality Attributes and Design Aspects are System Level issues, however most of these issues are predominantly influenced by the software. The System Architect should: define the system level what, co-design the system level how and be involved with the single technology or subsystem how. Due to the strong Software impact the software architect should: understand/review the system level what, co-design the system level how and design the software how. This requires significant domain know-how of the Software Architect, see [1]. Figures 1.5 and 1.6 contain too many design aspects and software mechanisms to discuss as part of this book. The main purpose of these lists is to show the variety of technology issues to be addressed by the software architect. Many of the design aspects have a many to many relation to the software mechanisms. For example, the design strategies for performance, safety, and security page: 5

Customer objectives Application Functional Conceptual Realization design philosophy per quality attribute granularity, scoping, containment, cohesion, coupling interfaces, allocation, budgets information model (entities, relations, operations) identification, naming static characteristics, dynamic behavior system-level infrastructure software development process, environment, repository, and tools life cycle, configuration management, upgrades, obsolescence feedback tools, for instance monitoring, statistics, and analysis persistence licensing, SW-keys setup sequence, initialization, start-up, shutdown technology choices make, outsource, buy, or interoperability decisions performance, safety, security,... HAL_message_acknowledge_status versus ACK e.g., distributed or centralized control Figure 1.5: System design aspects that are strongly SW related relate to nearly all software mechanisms. Vice versa most software mechanisms penetrate throughout most software and relate back to most of the design aspects. The software part of systems is complex in itself. The software is a construct made by many people, stacking construct on construct. The risk is that software architects spend all their time internally in the software, while they also have to relate the software choices to the context, the system. 1.4 Acknowledgments Jürgen Müller helped to sort out the attributes, aspects, mechanisms et cetera, which helps to position the Software Discipline in the System Development. page: 6

Customer objectives Application Functional Conceptual Realization error handling, exception handling, logging processes, tasks, threads configuration management; packages, components, files, objects, modules, interfaces automated testing: special methods, harness, suites signaling, messaging, callback scheduling, notification, active data, watchdogs, timeouts locking, semaphores, transactions, checkpoints, deadlock detection, rollback identification, naming, data model, registry, configuration database, inheritance, scoping resource management, allocation, fragmentation prevention, garbage collection persistence, caching, versioning, prefetching, lazy evaluation licensing, SW-keys bootstrap, discovery, negotiation, introspection call graphs, message tracing, object tracing, etc. distribution, allocation, transparency; component, client/server, multitier model Figure 1.6: List of Software Mechanisms that are frequently applied to solve the system level design aspects page: 7

Bibliography [1] Philip Kruchten. The software architect- and the software architecture team. In Software Architecture; TC2 First Working IFIP Conference on Software Architecture (WICSA1), pages 565 583. IFIP, 1999. This article describes required skills for architect and architecture team; traps and pitfalls; Personality profile based on Myers-Briggs Type Indicator. [2]. The system architecture homepage. http://www. gaudisite.nl/index.html, 1999. [3]. CAFCR: A multi-view method for embedded systems architecting: Balancing genericity and specificity. http://www.gaudisite. nl/thesisbook.pdf, 2004. History Version: 1.0, date: March 25, 2004 changed by: created reader