Motivation and Contents Overview



Similar documents
Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

Service Oriented Architecture for Agricultural Vehicles

Technical Training Module ( 30 Days)

Welcome to SCANIA Truck Driving Simulator - The Game

Chapter 11 I/O Management and Disk Scheduling

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

CribMaster Database and Client Requirements

Dual core CPU 3.0 GHz 4 GB system memory Dedicated graphics card with 1024 MB memory (GeForce GTS 450-class equivalent or better)

Advanced Testing Methods for Automotive Software

Model-based Testing of Automotive Systems

Dynamic Resource allocation in Cloud

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

BTEC First Diploma for IT. Scheme of Work for Computer Systems unit 3 (10 credit unit)

FORM 20A.9 SAMPLE AUDIT PROGRAM FOR TESTING IT CONTROLS. Date(s) Completed. Workpaper Reference

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Virtualization. Dr. Yingwu Zhu

Module 1 Introduction to Information and Communication Technologies

SOFTWARE DESIGN TECHNIQUES. Nagalaxmi Telkar CSCI 5828 Presentation Slides

Programmable Logic Controllers Definition. Programmable Logic Controllers History

Lecture 1. Introduction to Embedded Computer Systems

Embedded Software Development with MPS

FACILITY MONITORING SYSTEM DESIGN RECOMMENDATIONS

Copyright 1

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)

Model-based Quality Assurance of Automotive Software

Project Development Plan

Model Checking based Software Verification

Operating Systems. Lecture 03. February 11, 2013

Technical Data Sheet SCADE R17 Solutions for ARINC 661 Compliant Systems Design Environment for Aircraft Manufacturers, CDS and UA Suppliers

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

3D Vision An enabling Technology for Advanced Driver Assistance and Autonomous Offroad Driving

UltraCade Multi-Game System Frequently Asked Questions

Chapter 1. Computers and You. Computers Are Your Future. Computers & You. Understanding the Computer: Basic Definitions

Trends in Embedded Software Engineering

Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9. Do Now: Name 3 parts of the computer.

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

Data Analysis Software

EHOOKS Prototyping is Rapid Again

GCSE BITESIZE Examinations. General Certificate of Secondary Education ICT FOUNDATION TIER. Time allowed 1 hour 30 minutes Total marks: 90

New Mexico Broadband Program. Basic Computer Skills. Module 1 Types of Personal Computers Computer Hardware and Software

Hi-Speed USB 2.0 Flash Disk. User s Manual

Networking Remote-Controlled Moving Image Monitoring System

How To Understand The History Of An Operating System

Programmable Logic Controllers

Java Embedded Applications

VMware vsphere 5 Quick Start Guide

APPLICATION NOTE. The DMP Software Family DMP COMPUTER SOFTWARE PROGRAMS

1 PERSONAL COMPUTERS

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

LAND ROVER MANUAL CONTENTS APPLICATIONS GENERAL OPERATION SPECIAL FUNCTIONS REMOTE CONTROL PROGRAMMING

Acer LCD Monitor Driver Installation Guide

Magic Control Technology Corporation. Android Mirror KM-C6105. User Manual

A Real Time, Object Oriented Fieldbus Management System

MH - Gesellschaft für Hardware/Software mbh

Guest PC. for Mac OS X. User Guide. Version 1.6. Copyright Lismore Software Systems, Ltd. All rights reserved.

Application of UML in Real-Time Embedded Systems

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Automotive Software Engineering at Hella KGaA. Software Engineering for Software Intensive Systems,

THE BUSINESS VALUE OF AN ERP SYSTEM

Guideline for stresstest Page 1 of 6. Stress test

Running Windows on a Mac. Why?

Operating Systems 4 th Class

Terminal Server Software and Hardware Requirements. Terminal Server. Software and Hardware Requirements. Datacolor Match Pigment Datacolor Tools

Table of Contents Getting Started... 3 The Motors... 4 The Control Board... 5 Setting up the Computer with Mach Starting up the Equipment...

REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

USB 2.0 VGA ADAPTER USER MANUAL

Course/Program Credential(s): Credential Certificate Postsecondary Degree University Degree Other:

Automotive Software Engineering

Training Document for Integrated Automation Solutions Totally Integrated Automation (TIA) MODULE M1

Chapter 3. Operating Systems

CGL Architecture Specification

AVG PC TuneUp User Manual. Document revision (8/25/2014)

2) What is the structure of an organization? Explain how IT support at different organizational levels.

Understanding Digital Components

Price/performance Modern Memory Hierarchy

Overview and History of Operating Systems

1006 Administrator printed a copy of the receipt for the last customer transaction

CDS and Clearing Limited Thapathali, Kathmandu 7 th Level (Technical) Syllabus

VoIPon Tel: +44 (0) Fax: +44 (0)

Network Security Platform 7.5

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

Automated Profile Vehicle Using GSM Modem, GPS and Media Processor DM642

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

COMPUTER BASICS. Seema Sirpal Delhi University Computer Centre

ARINC 653. An Avionics Standard for Safe, Partitioned Systems

3 SOFTWARE AND PROGRAMMING LANGUAGES

Python Programming: An Introduction to Computer Science

Maximizing return on plant assets

Freescale Semiconductor, I

Enterprise Service Bus

MYOB EXO System Requirement Guidelines. 30 April 2014 Version 2.7

IMPORTANT PRODUCT INFORMATION

Transcription:

Motivation and Contents Overview Software Engineering Winter Semester 2011/2012 Department of Computer Science cs.uni-salzburg.at Dr. Stefan Resmerita

2 Course Contents

Goals Learning about commonly used approaches to software development (in the small and in the large) Developing an understanding of what is good and what is bad software (-construction) Knowing and understanding related concepts and terms Developing a first understanding of the Software development in the large 3

Software Engineering Concepts and constructs for flexible software Programming language (OO) UML representation Frameworks and Design Patterns Software parameterization (configuration files, resources, script languages) Heuristics for adequate flexibility 4

Software Engineering Concepts and constructs in Component-Based Design The Module concept Overview of standards for components (WebServices, JavaBeans, OSGi) Heuristics for adequate modularization (Balance between Coupling and Cohesion in a Discrete Event Simulation example) Software architectures Automatic software generation 5

Software Technology: State of the Art and Challenges Software Engineering Winter Semester 2011/2012 Department of Computer Science cs.uni-salzburg.at Dr. Stefan Resmerita

Context The phenomenon Software How can Software be engineered? 7

The Phenomenon Software 8

The Computer as universal machine makes Software pervasive Airplane/Rocket control 9 ca. 70 Processors in a car

What is so special about Software? 10

The problems with software production is the complexity of the achieved product Requirements specification Complexity control Re-use/Plug-in, expandability and changeability Automation in the production process Portability Documentation Product ergonomics (Human- Computer Interface) Project organization and control Quality assurance and evaluation Cost estimation Prototyping Programming models Design Patterns Frameworks Psychology (e.g. Piaget) 11

Quality problems Software bugs: deficiencies with drastic effects Incorrect bank transactions Y2K Ariane Mars adventures PathFinder Spirit 12

Example: Ariane 5 Construction: 10 years & $7billion Maiden voyage: June 1996 Payload: 4 scientific satellites 13

Example: Ariane 5 Crashed at second 39 in flight Software bug: number overflow Wrong sensor data Wrong steering Activate self-destruct Software component inherited from previous versions (Ariane 4) 14

Example: Ariane 5 Crashed at second 39 in flight Software bug: number overflow Wrong sensor data Wrong steering Activate self-destruct Software component inherited from previous versions (Ariane 4) Inquiry board conclusion: The Board is in favour of the opposite view, that software should be assumed to be faulty until applying the currently accepted best practice methods can demonstrate that it is correct. 15

Example: PathFinder Rover on Mars Landed on July 4, 1997 Problem: frequent total system resets 16

Example: PathFinder Rover on Mars Landed on July 4, 1997 Problem: frequent total system resets Cause: data bus locked longer than expected Software tasks: Bus management Communication Meteorological Solution: Priority inversion 17

Example: Spirit Rover on Mars Landed on January 4, 2004 Problem: frequent total system resets 18

Example: Spirit Rover on Mars Landed on January 4, 2004 Problem: frequent total system resets Cause: size of file system DOS FS on flash Mirrored in RAM Sizeof(RAM) < sizeof (Flash) 19

Human interaction problems Human-Computer Interaction Human-Machine Interaction Interaction with automated systems Example: Korean Air Lines Flight 007 Computer pervasiveness makes the human interaction issue very important 20

21 KAL007 flight route

KAL007 Navigation Interface Navigation routine: Start in Heading Switch to INS 22

KAL007 navigation modes Operating modes: Problem: Transition from B to C not clear to the pilots! 23

Example: Specification problems 24

An exact specification is often impracticable given.: n 3, L: N n N find.: A Program P that computes inj a: N 3 N n, such that 1 i 3 j N n \ U { a k } 1 k j L(a i ) L(a J ) 25

...while a verbal specification is often inaccurate Given a list with at least three positive numbers Find a program P that gives the indices of the three largest elements of the list. 26

Mastering Complexity 27

In classical engineering disciplines Bad quality can hardly be hidden Door cannot close well Unnecessary artifacts Fifth wheel to the car Resources are limited Engineering approaches mean optimization under given basic conditions 28

Bad quality is not so visible in software Bad structuring Spaghetti program code: Wheel change -> the motor works no more Replicated program code Hardly re-usable code The wheel is always re-invented 29

4,1 cm 27,5 m Engineering procedures do not seem to pay off Hardware resources evolve according to Moore s Law; thoughtless handling of this issue leads to: Unnecessary complexity No longer understandable artifacts OberonOS (ETH ZH) 30.000 lines of program code Windows XP (2002): 40.000.000 (!!) lines of program code 30

How can Software be engineered? 31

What does Software? Function Input Keyboard Mouse CD Digital camera... Main memory fast accessible data + programs Processor (CPU) Output Monitor Printer Disk Loudspeaker... Data 32 Control signals

Interaction with the environment Interactive systems: the computer is the leader of the interaction Examples: Operating systems, Database systems Main issues: Deadlock, Fairness Reactive systems: the environment is the leader of the interaction Examples: Industrial process control, airplane control Main issues: Safety, Timeliness 33

Examples ABS in automotive Input: Rotational speeds of the wheels and user braking Function: Checking whether the speeds are zero when the user brakes Output: Appropriate controlling of the braking force Bank transfers Input: Transfer data (payee, payer, amount) Function: Validation of the transaction Output: New transaction lines in the accounts 34