Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)

Size: px
Start display at page:

Download "Structure of Presentation. Stages in Teaching Formal Methods. Motivation (1) Motivation (2) The Scope of Formal Methods (1)"

Transcription

1 Stages in Teaching Formal Methods A. J. Cowling Structure of Presentation Introduction to Issues Motivation for this work. Analysis of the Role of Formal Methods Define their scope; Review their treatment in SE2004; Describe a theoretical model for the development of SE skills; Analyse the stages defined by this model. Conclusions What students need to learn about formal methods. Department of Computer Science University of Sheffield Limitations and Future Work The details of how formal methods should be taught. Motivation (1) Issues in Teaching Formal Methods It is difficult to define which methods are formal: all computing is based on computation and information, these are essentially formal concepts. Formal methods are valuable in some situations; but Successful systems are often built without them. Many formal methods are difficult to teach: they are based on mathematical concepts that are unfamiliar, and therefore the notation they use is also unfamiliar; Also, many of them operate separately from other SE methods: hence it is not clear to students how the formal methods fit in. Motivation (2) Negative Approach to These Problems Try to ignore them! This is dangerous, because: engineering must apply scientific principles, formal methods embody these scientific principles, (more so than many other aspects of SE), ignoring formal methods means ignoring these principles, which suggests that SE is not engineering. Positive Approach to These Problems Try to analyse the problems and overcome them: identify what students should be taught about formal methods, and when they should be taught them. SE2004 attempted this to some extent: more experience is now available, and a theoretical model for stages in developing SE skills. The Scope of Formal Methods (1) Possible Definition 1 Any method that is based on some formal mathematical model; But, information and computation are mathematical concepts: all methods are based on these concepts, so all methods would be classed as formal, even if abstractions hide the mathematical models, as in UML diagrams; So this definition is too general. The Scope of Formal Methods (2) Possible Definition 2 Any method that involves direct manipulation of a mathematical model; This eliminates purely diagrammatic methods; But it includes several other common methods: database normalisation (manipulates the relational model of the database structure), checking test sets for coverage (coverage criteria are defined from formal models of system structures); And these methods are not usually classed as formal; So this definition is still too general. 1

2 The Scope of Formal Methods (3) Possible Definition 3 Focus on the purposes of the models, as well as their types; Any method that involves: explicit creation of a mathematical model of a system, in order to check multiple properties of the system; Excludes single-purpose models: eg database normalisation or test set coverage. Implies that a formal method should involve: building some formal specification of a system (once its requirements have been analysed), using this specification during system development (ie design and construction); The Scope of Formal Methods (4) Implications of These definitions The differences reflect a distinction between CS & SE: definitions 1 and 2 focus on CS, definition 3 focuses on SE. Formal Methods in Computer Science Science creates models of concepts; It uses them to analyse their properties. Formal Methods in Software Engineering Engineering builds models of systems It uses them to make design decisions. The Scope of Formal Methods (5) Contrasting Roles Mathematicians prove, engineers calculate (Hoare): but, for engineers these calculations may involve proofs that required system properties will hold; Formal methods in SE must therefore support: calculating properties of systems, based on formal models of them; They therefore require both validation and verification: validation of the system models, verification of the calculations; The adopted definition captures these properties. FM in Curriculum Models (1) Formal Methods in CS2001 Defines fundamental mathematics knowledge; Defines fundamental formal concepts: information and computation; Defines some formal models for CS: finite-state automata, invariants, assertions and contracts. FM in Curriculum Models (2) Formal Methods Knowledge in SE2004 It imports fundamental material from CS2001: Mathematical and Engineering Fundamentals knowledge area, Computing Essentials knowledge area; It includes some applications of this material: state-based construction techniques, in CMP.ct.7, design by contract, in CMP.ct.5; It requires a general introduction to specification languages in MAA.rsd.3; It relates uses of formal methods to processes: formal validation of requirements, in MAA.vv.5, formal design analysis, in DES.ste.4 (optional), derivation of metrics from models, in VAV.fnd.4, applications to testing, in VAV.tst; But, it only allocates limited time to any of these. FM in Curriculum Models (3) Formal Methods in SE2004 Courses Fundamental mathematics covered in imported courses: Discrete Structures (CS105, CS106); Not tied to the introductory SE courses (SE101, SE102) but brief coverage in the alternative course (SE201); One core package introduces formal methods early: formal construction techniques in Software Construction (SE211), other applications in Software Quality Assurance (SE321) and Software Requirements Analysis (SE322); The other core package covers them later: some applications in Software Testing (SE221), these come before specification languages, which are in Formal Methods in Software Engineering (SE313). 2

3 Developing Knowledge & Skills (1) A Theoretical Framework Developed through reflection on the curriculum at Sheffield and particularly on its key structural feature; Curriculum based on a sequence of major projects: one per academic year, each focuses on developing a complete software system; These projects form the spine of the curriculum: other courses are fitted in round them, and provide the necessary knowledge and skills. Developing Knowledge & Skills (2) Framework Structure Based on two characteristics of the system developed: What issues need to be considered in the development: initially, just functional correctness and basic usability, later on, quality requirements as well; Scale and size of the systems: simple programs, performing single functions, set of functions, using persistent storage, larger scale systems. Developing Knowledge & Skills (3) Four Stages of the Framework Stage 0: basic programming; Stage 1: Software Development: covering a full life cycle, just concerned with functional correctness and basic usability, essential to all computing programmes, not just SE ones; Stage 2: Software Engineering: covers meeting quality requirements as well, scale of systems constrained by the limits of a degree programme; Stage 3: professional scale software engineering: the eventual goal, but beyond the scope of this paper. Formal Methods in Programming A Clash of Definitions Programming focuses on the construction stage; Formal methods should be applicable at multiple stages; Hence, their application to programming is very limited. The Role of Formal Methods in Programming Formal methods should not be ignored completely; Single programs still need to be specified; Fundamental concepts such as invariants can be applied; Even though SE2004 does not require this. FM in Software Development (1) Focus of Software Development Functional correctness and basic usability; In principle, formal methods should be applicable to these; But, their formal models must be validated: against the requirements for the system, which is also a key to ensuring usability, but neither can contribute much to the other; In practice, therefore, the role of formal methods can only be in helping to ensure functional correctness. FM in Software Development (2) Achieving Functional Correctness This involves three issues: How can requirements for systems be specified? How can these specifications then be used in development? to ensure the systems conform to their requirements; How can the specifications then be validated? the process will be independent of the kinds of models. Specifying Requirements Involves two stages: requirements elicitation, and requirements modelling, where the set of models forms the specification; Properties of the set of models: must define the required behaviour precisely, so that conformance can be determined unambiguously. 3

4 Modelling Requirements (1) Basic UML Diagrams Class diagram: identifies required external structure of persistent data; Use case diagrams: identify required functions; Possibly activity diagrams: identify constraints on the order of function invocation. Limitations of These Models They do not define the required behaviour of functions; In particular, they do not define how functions: need to use the persistent data, or must change the persistent data. Modelling Requirements (2) Additional Models Needed to define the behaviour precisely; Can identify two groups: those that stay within the scope of UML, and those that use other models. Further UML Models State machine diagrams can describe: steps in carrying out a function, or how functions change the state of objects; Collaboration diagrams can describe: sequences of interactions between users and the system, in the form of system sequence diagrams; OCL annotations can define aspects of behaviour. Modelling Requirements (3) Other Models Structured text, as story cards or structured use cases; Formal specifications in some suitable language. Evaluation of the Additional Models System sequence diagrams, or similar state machines: illustrate the interactions, but do not define their effects; State machines for classes: usually produced during the design stage, hence not usually part of the requirements specification, but should be validated against a specification; Structured text models: inherently imprecise; Hence, none of these achieve the goals; Formal methods are needed. Modelling Requirements (4) Ensuring Functional Correctness Design stage models should be verified against the specification: state machine models of functions or classes, detailed sequence diagram models, methods for doing these may be advanced material; Testing during the construction stage: test cases must be consistent with the specification, test sets should cover the specification, measuring coverage may be advanced material; Informal specifications may not be adequate; Formal specifications should be: precise enough to make these checks unambiguous, complete enough to allow all of them. Formal Methods and SE2004 (1) The Need for Formal Methods Required to describe dynamic behaviour precisely: in particular, to define how functions affect persistent data; Required for designing and testing systems: to verify designs, to ensure correctness of implementations; Required pedagogically to encourage good practice: avoid students believing that formal methods are unnecessary. The Structure of SE2004 Introductory course sequences lead to core courses; Introductory course sequences cover software development: not a precise equivalence, but is implied by the descriptions of SE200 and SE201; Introductory courses do not require any formal methods; So SE2004 does not meet the need for formal methods. Formal Methods and SE2004 (2) The Software Engineering Stage Corresponds to the SE2004 core course sequences; These are where formal methods are covered: although some key topics are not core knowledge. Consistency with the Framework Programming stage: Some formal methods can be used, but SE2004 does not require them; Software Development stage: formal methods are needed, but SE2004 does not require them; Software Engineering stage: SE2004 is more-or-less consistent. 4

5 Conclusions The Need to Study Formal Methods Even simple introductory processes must include them: to define basic functional behaviour, and in particular how functions affect persistent data, to give a basis for ensuring functional correctness; They must be introduced early in the curriculum: some elements are needed in the introductory courses, which is earlier than SE2004 recommends. The End Thanks for your attention!! Any Questions? Further Questions Which elements of formal methods must come early? Requirements for the methods have been defined, but: how do different methods support these requirements? how should formal and diagrammatic methods be balanced? These need further analysis. 5

The Role of Modelling in Teaching Formal Methods for Software Engineering

The Role of Modelling in Teaching Formal Methods for Software Engineering The Role of Modelling in Teaching Formal Methods for Software Engineering A. J. Cowling Department of Computer Science University of Sheffield Sheffield, England A.Cowling@dcs.shef.ac.uk Abstract. This

More information

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1 The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

More information

Introducing Formal Methods. Software Engineering and Formal Methods

Introducing Formal Methods. Software Engineering and Formal Methods Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended

More information

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

Design by Contract beyond class modelling

Design by Contract beyond class modelling Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable

More information

CSE4213 Lecture Notes

CSE4213 Lecture Notes CSE4213 Lecture Notes Introduction to B Tools Computer Science and Software Engineering Monash University 20070226 / Lecture 1 ajh 1/15 1 Outline 2 3 4 5 ajh 2/15 In this course we will be introducing

More information

Software Requirements 1

Software Requirements 1 Software Requirements 1 Requirements are descriptions of the services that a software system must provide and the constraints under which it must operate Requirements can range from high-level abstract

More information

A Framework for the Semantics of Behavioral Contracts

A Framework for the Semantics of Behavioral Contracts A Framework for the Semantics of Behavioral Contracts Ashley McNeile Metamaxim Ltd, 48 Brunswick Gardens, London W8 4AN, UK ashley.mcneile@metamaxim.com Abstract. Contracts have proved a powerful concept

More information

Software Requirements

Software Requirements Software Engineering Software Requirements Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce the concepts of user and system requirements To describe functional and

More information

UML TUTORIALS THE USE CASE MODEL

UML TUTORIALS THE USE CASE MODEL UML TUTORIALS THE USE CASE MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 describes the proposed functionality of the new system. A Use Case represents a discrete unit of interaction between

More information

Bottom-Line Management

Bottom-Line Management pci Bottom-Line BOTTOM-LINE BUSINESS ANALYSIS THE ONLY 4 LEVEL INTEGRATED CURRICULUM TAKING PEOPLE FROM BEGINNER TO EXPERT 1. Business Analyst Foundations 2. High Quality Business Requirements 3. Use Cases

More information

Software Requirements Specification

Software Requirements Specification 1 of 7 17.04.98 13:32 Software Requirements Specification The sub-sections : 1. What is a Software Requirements Specification 2. Why is a Software Requirement Specification Required 3. What is Contained

More information

A Comparison of Computer Science and Software Engineering Programmes in English Universities

A Comparison of Computer Science and Software Engineering Programmes in English Universities A Comparison of Computer Science and Software Engineering Programmes in English Universities Farid Meziane and Sunil Vadera School of Computing, Science and Engineering University of Salford, Salford M5

More information

Writing in the Computer Science Major

Writing in the Computer Science Major Writing in the Computer Science Major Table of Contents Introduction... 2 Statement of Purpose... 2 Revision History... 2 Writing Tasks in Computer Science... 3 Documentation... 3 Planning to Program:

More information

An Agile Formal Development Methodology

An Agile Formal Development Methodology An Agile Formal Development Methodology George Eleftherakis 1 and Anthony J. Cowling 2 1 Computer Science Department City Liberal Studies Affiliated College of the University of Sheffield 13 Tsimiski Str.,

More information

Software Process for QA

Software Process for QA Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called

More information

SysML vs. UML 2: A Detailed Comparison. Pascal Roques MoDELS 11 Tutorial October 16th, 2011

SysML vs. UML 2: A Detailed Comparison. Pascal Roques MoDELS 11 Tutorial October 16th, 2011 SysML vs. UML 2: A Detailed Comparison Pascal Roques MoDELS 11 Tutorial October 16th, 2011 The Speaker: Pascal Roques Senior Consultant & Trainer, > 20 years experience in modeling SADT, OMT, UML, SysML

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs. CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

More information

Measurement Information Model

Measurement Information Model mcgarry02.qxd 9/7/01 1:27 PM Page 13 2 Information Model This chapter describes one of the fundamental measurement concepts of Practical Software, the Information Model. The Information Model provides

More information

Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

More information

Higher National Unit Specification. General information for centres. Database Design Fundamentals. Unit code: DV6E 34

Higher National Unit Specification. General information for centres. Database Design Fundamentals. Unit code: DV6E 34 Higher National Unit Specification General information for centres Unit title: Database Design Fundamentals Unit code: DV6E 34 Unit purpose: This Unit is designed to provide the candidate with the skills

More information

Software Engineering Transfer Degree

Software Engineering Transfer Degree www.capspace.org (01/17/2015) Software Engineering Transfer Degree This program of study is designed for associate-degree students intending to transfer into baccalaureate programs awarding software engineering

More information

PRACTICE BOOK COMPUTER SCIENCE TEST. Graduate Record Examinations. This practice book contains. Become familiar with. Visit GRE Online at www.gre.

PRACTICE BOOK COMPUTER SCIENCE TEST. Graduate Record Examinations. This practice book contains. Become familiar with. Visit GRE Online at www.gre. This book is provided FREE with test registration by the Graduate Record Examinations Board. Graduate Record Examinations This practice book contains one actual full-length GRE Computer Science Test test-taking

More information

What Is School Mathematics?

What Is School Mathematics? What Is School Mathematics? Lisbon, Portugal January 30, 2010 H. Wu *I am grateful to Alexandra Alves-Rodrigues for her many contributions that helped shape this document. The German conductor Herbert

More information

Home Assignment 4 OCL

Home Assignment 4 OCL Home Assignment 4 OCL This home assignment is about writing formal specifications using the Object Constraint Language. You will exercise formulating conditions/invariants on domain models that go beyond

More information

Software Development: The Waterfall Model

Software Development: The Waterfall Model Steven Zeil June 7, 2013 Contents 1 Software Development Process Models 2 1.1 Components of the Waterfall Model................................. 2 1.1.1 What is a requirement?. 2 1.1.2 Testing..........

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

imtech Curriculum Presentation

imtech Curriculum Presentation imtech Curriculum Presentation Effective from Batch 2015 Onwards April, 2015 Course Structure Every course has a fixed number of credits associated with it (e.g., 4 credits) One has to earn 200 credits

More information

3 Extending the Refinement Calculus

3 Extending the Refinement Calculus Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada skill@qucis.queensu.ca Abstract. We extend the

More information

Advanced Higher Mathematics Course Specification (C747 77)

Advanced Higher Mathematics Course Specification (C747 77) Advanced Higher Mathematics Course Specification (C747 77) Valid from August 2015 This edition: April 2015, version 1.1 This specification may be reproduced in whole or in part for educational purposes

More information

Quality Management. Lecture 12 Software quality management

Quality Management. Lecture 12 Software quality management Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

More information

Computer Science Information Sheet for entry in 2016. What is Computer Science?

Computer Science Information Sheet for entry in 2016. What is Computer Science? Computer Science Information Sheet for entry in 2016 What is Computer Science? Computer Science is about understanding computer systems and networks at a deep level. Computers and the programs they run

More information

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary Today s Agenda Quiz 4 Temporal Logic Formal Methods in Software Engineering 1 Automata and Logic Introduction Buchi Automata Linear Time Logic Summary Formal Methods in Software Engineering 2 1 Buchi Automata

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

Mathematical Reasoning in Software Engineering Education. Peter B. Henderson Butler University

Mathematical Reasoning in Software Engineering Education. Peter B. Henderson Butler University Mathematical Reasoning in Software Engineering Education Peter B. Henderson Butler University Introduction Engineering is a bridge between science and mathematics, and the technological needs of mankind.

More information

Software Project Management Plan (SPMP)

Software Project Management Plan (SPMP) Software Project Management Plan (SPMP) The basic template to be used is derived from IEEE Std 1058-1998, IEEE Standard for Software Project Management Plans. The following is a template for the SPMP.

More information

SESSION 3 AUDIT PLANNING

SESSION 3 AUDIT PLANNING SESSION 3 AUDIT PLANNING Learning Objectives: identify and explain the need for planning an audit identify and describe the contents of the overall audit strategy and the audit plan explain the difference

More information

Formal Verification of Software

Formal Verification of Software Formal Verification of Software Sabine Broda Department of Computer Science/FCUP 12 de Novembro de 2014 Sabine Broda (DCC-FCUP) Formal Verification of Software 12 de Novembro de 2014 1 / 26 Formal Verification

More information

Teaching Requirements through Interdisciplinary Projects

Teaching Requirements through Interdisciplinary Projects Teaching Requirements through Interdisciplinary Projects Deepti Suri, Eric Durant Department of Electrical Engineering and Computer Science Milwaukee School of Engineering 1025 North Broadway Milwaukee,

More information

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

More information

COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND

COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND COMPUTER SCIENCE STUDENTS NEED ADEQUATE MATHEMATICAL BACKGROUND Hasmik GHARIBYAN PAULSON Computer Science Department, California Polytechnic State University, 1 Grand Avenue, San Luis Obispo, CA 93407,

More information

Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A

Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A A. Description Introduction to the discipline of computer science; covers the material traditionally found in courses that introduce problem

More information

Lecture 9: Requirements Modelling

Lecture 9: Requirements Modelling A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview

More information

The Software Lifecycle. Software Lifecycles

The Software Lifecycle. Software Lifecycles The Software Lifecycle Examining the phases of large-scale software development projects Jeff Stephenson Software Lifecycles Software Engineering vs. Programming What you have done for our past assignments

More information

TEACHING OBJECT ORIENTED PROGRAMMING AT THE INTRODUCTORY LEVEL. Mehmet C. OKUR *

TEACHING OBJECT ORIENTED PROGRAMMING AT THE INTRODUCTORY LEVEL. Mehmet C. OKUR * 149 TEACHING OBJECT ORIENTED PROGRAMMING AT THE INTRODUCTORY LEVEL Mehmet C. OKUR * ABSTRACT Teaching object oriented programming has become a rapidly expanding preference at various educational environments.

More information

1. Programme title and designation Advanced Software Engineering

1. Programme title and designation Advanced Software Engineering PROGRAMME APPROVAL FORM SECTION 1 THE PROGRAMME SPECIFICATION 1. Programme title and designation Advanced Software Engineering 2. Final award Award Title Credit Value MSc Advanced Software Engineering

More information

Communication Diagrams

Communication Diagrams Communication Diagrams Massimo Felici Realizing Use cases in the Design Model 1 Slide 1: Realizing Use cases in the Design Model Use-case driven design is a key theme in a variety of software processes

More information

Model Checking based Software Verification

Model Checking based Software Verification Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

More information

1. Software Engineering Overview

1. Software Engineering Overview 1. Overview 1. Overview...1 1.1 Total programme structure...1 1.2 Topics covered in module...2 1.3 Examples of SW eng. practice in some industrial sectors...4 1.3.1 European Space Agency (ESA), software

More information

Discrete Mathematics: Solutions to Homework (12%) For each of the following sets, determine whether {2} is an element of that set.

Discrete Mathematics: Solutions to Homework (12%) For each of the following sets, determine whether {2} is an element of that set. Discrete Mathematics: Solutions to Homework 2 1. (12%) For each of the following sets, determine whether {2} is an element of that set. (a) {x R x is an integer greater than 1} (b) {x R x is the square

More information

Automated Theorem Proving - summary of lecture 1

Automated Theorem Proving - summary of lecture 1 Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of

More information

A UML 2 Profile for Business Process Modelling *

A UML 2 Profile for Business Process Modelling * A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

output: communications management plan

output: communications management plan Q1. (50 MARKS) A. List the nine PMBOK knowledge areas and give a one sentence description of the purpose of each knowledge area along with at least one output (document etc.) and its purpose. 1.Project

More information

Mathematics SL subject outline

Mathematics SL subject outline Diploma Programme Mathematics SL subject outline First examinations 2014 This document explains the major features of the course, and outlines the syllabus and assessment requirements. More detailed information

More information

In this chapter, curriculum is defined so that readers can have a shared

In this chapter, curriculum is defined so that readers can have a shared 01-Squires.qxd 8/19/2004 6:25 PM Page 3 1 Curriculum, Instruction, Assessment, and Standards In this chapter, curriculum is defined so that readers can have a shared understanding of this key term. Next,

More information

4.1 Domain Analysis. Object-Oriented Software Engineering Practical Software Development using UML and Java

4.1 Domain Analysis. Object-Oriented Software Engineering Practical Software Development using UML and Java 4.1 Domain Analysis Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 4: Developing The process by which a software engineer learns about the domain to better

More information

UML TUTORIALS THE COMPONENT MODEL

UML TUTORIALS THE COMPONENT MODEL UML TUTORIALS THE COMPONENT MODEL www.sparxsystems.com.au Sparx Systems 2004 Page 1/5 The component model illustrates the software components that will be used to build the system. These may be built up

More information

Lecture 3 Software Development Processes

Lecture 3 Software Development Processes Lecture 3 Software Development Processes Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 2, 2008 Lecture Overview

More information

Examination SUBJECT. Version:

Examination SUBJECT. Version: SUBJET Version: 1 Which of the following statements best describes Business nalysis? Business nalysis provides the reasoning for initiating a project. Business nalysis is the strategic part of the project

More information

Combining Services and Semantics on the Web

Combining Services and Semantics on the Web Combining Services and Semantics on the Web Katia Sycara, Massimo Paolucci and Naveen Srinivasan Software Agents Lab Carnegie Mellon University Pittsburgh, PA Mark Burstein Human-Centered Systems Group

More information

Agile Model-Based Systems Engineering (ambse)

Agile Model-Based Systems Engineering (ambse) Agile Model-Based Systems Engineering (ambse) Bruce Powel Douglass, Ph.D. Chief Evangelist, Global Technology Ambassador IBM Rational Bruce.Douglass@us.ibm.com Twitter: @BruceDouglass Yahoo: tech.groups.yahoo.com/group/rt-uml/

More information

Achieving ISO 9001 Certification for an XP Company

Achieving ISO 9001 Certification for an XP Company Achieving ISO 9001 Certification for an XP Company Graham Wright Development Team Coach Workshare 20 Fashion Street London, E1 6PX (44) 020 7539 1361 graham.wright@workshare.com Abstract It is generally

More information

Five High Order Thinking Skills

Five High Order Thinking Skills Five High Order Introduction The high technology like computers and calculators has profoundly changed the world of mathematics education. It is not only what aspects of mathematics are essential for learning,

More information

UML Models. Lecture 10, Part 1: Verification and Validation. UML Models [2] Non-UML models. Verification and Validation.

UML Models. Lecture 10, Part 1: Verification and Validation. UML Models [2] Non-UML models. Verification and Validation. UML Models Lecture 10, Part 1: and Jennifer Campbell CSC340 - Winter 2007 Activity diagrams capture business processes involving concurrency and synchronization good for analyzing dependencies between

More information

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data. MATHEMATICS: THE LEVEL DESCRIPTIONS In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data. Attainment target

More information

Instructional Design Framework CSE: Unit 1 Lesson 1

Instructional Design Framework CSE: Unit 1 Lesson 1 Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results

More information

A Classification of Model Checking-based Verification Approaches for Software Models

A Classification of Model Checking-based Verification Approaches for Software Models A Classification of Model Checking-based Verification Approaches for Software Models Petra Brosch, Sebastian Gabmeyer, Martina Seidl Sebastian Gabmeyer Business Informatics Group Institute of Software

More information

SC207 Software Engineering. Review Report: Producing More Reliable Software

SC207 Software Engineering. Review Report: Producing More Reliable Software SC207 Software Engineering Review Report: Producing More Reliable Software Guo Zaiyi (SA1) Lecturer: Dr. Edmond C. Prakash School of Computer Engineering Nanyang Technological University Abstract This

More information

Insurance Contract Boundaries - Proposal to replace the guaranteed insurability criteria

Insurance Contract Boundaries - Proposal to replace the guaranteed insurability criteria Insurance Contract Boundaries - Proposal to replace the guaranteed insurability criteria Background The IASB s Discussion Paper Preliminary Views on Insurance Contracts (the Discussion Paper) addressed

More information

The Model Checker SPIN

The Model Checker SPIN The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(

More information

Criteria for Accrediting Computer Science Programs Effective for Evaluations during the 2004-2005 Accreditation Cycle

Criteria for Accrediting Computer Science Programs Effective for Evaluations during the 2004-2005 Accreditation Cycle Criteria for Accrediting Computer Science Programs Effective for Evaluations during the 2004-2005 Accreditation Cycle I. Objectives and Assessments The program has documented, measurable objectives, including

More information

Software Test Plan (STP) Template

Software Test Plan (STP) Template (STP) Template Items that are intended to stay in as part of your document are in bold; explanatory comments are in italic text. Plain text is used where you might insert wording about your project. This

More information

Human-Automation Interaction Design and Evaluation Tools. Michael Feary, PhD

Human-Automation Interaction Design and Evaluation Tools. Michael Feary, PhD Human-Automation Interaction Design and Evaluation Tools Michael Feary, PhD Outline Human Automation interaction Research Challenges Research Approach Understanding Work domain analysis Visualization Prediction

More information

Software Specification and Testing

Software Specification and Testing Software Specification and Testing Using UML and OCL Jonathan Milley Faculty of Engineering and Applied Science MUN St. John s, Newfoundland Email: jmilley@engr.mun.ca Dr. Dennis K. Peters Faculty of Engineering

More information

Project Management Process

Project Management Process Project Management Process Description... 1 STAGE/STEP/TASK SUMMARY LIST... 2 Project Initiation 2 Project Control 4 Project Closure 5 Project Initiation... 7 Step 01: Project Kick Off 10 Step 02: Project

More information

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011

Sequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c 2004 2011 Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions

More information

Figure 4.0 CPMS Architecture

Figure 4.0 CPMS Architecture CHAPTER-4 SYSTEM DESIGN System architecture of our project can be explained by using following diagram. Figure 4.0 CPMS Architecture Basically our system is divided in to two parts 1]. Web Role 2]. Worker

More information

Datavetenskapligt Program (kandidat) Computer Science Programme (master)

Datavetenskapligt Program (kandidat) Computer Science Programme (master) Datavetenskapligt Program (kandidat) Computer Science Programme (master) Wolfgang Ahrendt Director Datavetenskap (BSc), Computer Science (MSc) D&IT Göteborg University, 30/01/2009 Part I D&IT: Computer

More information

Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)

Revised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m) Chapter 23 Squares Modulo p Revised Version of Chapter 23 We learned long ago how to solve linear congruences ax c (mod m) (see Chapter 8). It s now time to take the plunge and move on to quadratic equations.

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA jeanhartmann@siemens.com ABSTRACT

More information

NODAL ANALYSIS. Circuits Nodal Analysis 1 M H Miller

NODAL ANALYSIS. Circuits Nodal Analysis 1 M H Miller NODAL ANALYSIS A branch of an electric circuit is a connection between two points in the circuit. In general a simple wire connection, i.e., a 'short-circuit', is not considered a branch since it is known

More information

Position of leading German business organisations

Position of leading German business organisations Bundesverband des Deutschen Groß- und Außenhandels March 2007 Position of leading German business organisations on Commission staff working document European Credit system for Vocational Education and

More information

STUDENT OUTCOMES ASSESSMENT PLAN (SOAP)

STUDENT OUTCOMES ASSESSMENT PLAN (SOAP) MS PROGRAM IN C OMPUTER SCIENCE DEPARTMENT OF C OMPUTER SCIENCE College of Science and Mathematics STUDENT OUTCOMES ASSESSMENT PLAN (SOAP) I. Mission Statement The mission of the Department of Computer

More information

MAP-I Programa Doutoral em Informática. Rigorous Software Development

MAP-I Programa Doutoral em Informática. Rigorous Software Development MAP-I Programa Doutoral em Informática Rigorous Software Development Unidade Curricular em Teoria e Fundamentos Theory and Foundations (UCTF) DI-UM, DCC-FCUP May, 2012 Abstract This text presents a UCTF

More information

Legal view of digital evidence

Legal view of digital evidence Chapter 2 Legal view of digital evidence Before developing a model or a theory, it is important to understand the requirements of the domain in which the model or the theory is going to be used. The ultimate

More information

Verification of Good Design Style of UML Models

Verification of Good Design Style of UML Models Verification of Good Design Style of UML Models Bogumiła Hnatkowska 1 1 Institute of Applied Informatics, Wrocław University of Technology, Wybrzeże Wyspiańskiego 27, 50-370 Wrocław, Poland Bogumila.Hnatkowska@pwr.wroc.pl

More information

So You Want To Be a Requirements Analyst? 1

So You Want To Be a Requirements Analyst? 1 So You Want To Be a Requirements Analyst? 1 Karl E. Wiegers Process Impact www.processimpact.com Be it explicitly or not, someone always performs the role of requirements analyst on a software project.

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS

TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS TEACHING SOFTWARE ENGINEERING THROUGH COLLABORATIVE METHODS Dr. Alan R. Peslak, Penn State University, arp14@psu.edu ABSTRACT Engineering of Complex Software Systems (IST 412) is a senior level software

More information

Rigorous. Development. Software. Program Verification. & Springer. An Introduction to. Jorge Sousa Pinto. Jose Bacelar Almeida Maria Joao Frade

Rigorous. Development. Software. Program Verification. & Springer. An Introduction to. Jorge Sousa Pinto. Jose Bacelar Almeida Maria Joao Frade Jose Bacelar Almeida Maria Joao Frade Jorge Sousa Pinto Simao Melo de Sousa Rigorous Software Development An Introduction to Program Verification & Springer Contents 1 Introduction 1 1.1 A Formal Approach

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

24 Uses of Turing Machines

24 Uses of Turing Machines Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss

More information

Requirement Traceability in Topcased with the Requirements Interchange Format (RIF/ReqIF)

Requirement Traceability in Topcased with the Requirements Interchange Format (RIF/ReqIF) Requirement Traceability in Topcased with the Requirements Interchange Format (RIF/ReqIF) 1 Overview Submission for First Topcased Days Toulouse 2011 Andreas Graf, Michael Jastram One important step of

More information

MONROE TOWNSHIP PUBLIC SCHOOLS WILLIAMSTOWN, NEW JERSEY. Computer Animation. Grade 8

MONROE TOWNSHIP PUBLIC SCHOOLS WILLIAMSTOWN, NEW JERSEY. Computer Animation. Grade 8 MONROE TOWNSHIP PUBLIC SCHOOLS WILLIAMSTOWN, NEW JERSEY Williamstown Middle School Computer Animation Grade 8 September 2010 Written by: Marilyn Kurz Supervisor of Curriculum and Instruction Lesley McGiboney

More information

INF5140: Specification and Verification of Parallel Systems

INF5140: Specification and Verification of Parallel Systems Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline

More information

A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION

A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION Mrs. Swati Santosh Jamble Assistant Professor ATSS, College of Business Studies and Computer Application, Chinchwad

More information

Encouraging Playful Design in Computer Science

Encouraging Playful Design in Computer Science Encouraging Playful Design in Computer Science Gregory Garrett Creativity and Design Cognition, Spring 2010 Georgia Institute of Technology gte180w@gatech.edu Abstract In this paper we describe our vision

More information

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition.

Software Requirements. Descriptions and specifications of a system. Ian Sommerville 2000 Software Engineering, 6th edition. Software Requirements Descriptions and specifications of a system Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Objectives To introduce the concepts of user and system To describe

More information