GSN Metamodel. In the following subsections we describe the model elements. All references are to sections within the GSN Community Standard.

Size: px
Start display at page:

Download "GSN Metamodel. In the following subsections we describe the model elements. All references are to sections within the GSN Community Standard."

Transcription

1 1. Background GSN Metamodel This section defines a metamodel for representing structured arguments using GSN. GSN arguments should be instances of this GSN Metamodel. Instances of the GSN Metamodel are conformant with this GSN standard. The GSN Metamodel facilitates the interchange of structured arguments between diverse tools by different vendors. It also facilitates the translation of GSN arguments to SACM models and to other argument notations. The GSN Metamodel is an extension of the Structured Assurance Case Metamodel (SACM) [1]. 2. GSN Metamodel This section defines the GSN Metamodel GSN Metamodel Class Diagram Figure 1 shows the GSN Metamodel Class Diagram. All elements represented with a red border are GSN elements. All other elements are elements of the existing SACM Metamodel. Figure 1 GSN Metamodel Class Diagram In the following subsections we describe the model elements. All references are to sections within the GSN Community Standard Class (Abstract) The Class is used to record the propositions of GSN arguments. The Class extends the SACM Claim Class.

2 Claim tobeinstantiated: Boolean As part of a pattern, any claim may be declared as to be instantiated. See section A GSN_Goal Class GSN_Goals are used to record logical propositions. The GSN_Goal Class extends the Class GSN_Justification Class GSN_Justifications are used to record statements of justification. The GSN_Justification Class extends the Class GSN_Assumption Class GSN_Assumptions are used to record assumptions. The GSN_Assumption Class extends the Class GSN_ContextAsAssertion Class GSN_ContextAsAssertions are used to record asserted statements of information. The GSN_ContextAsAssertion Class extends the Class GSN_ContextAsReference Class GSN_ContextAsReference are used to record references to contextual information. The GSN_ContextAsReference Class extends the SACM InformationElementCitation Class. InformationElementCitation

3 GSN_Solution Class GSN_Solutions are used to record references to evidence. The GSN_Solution Class extends the SACM InformationElementCitation Class. InformationElementCitation GSN_ModuleReference Class GSN_ModuleReferences are used to record references to GSN Modules. The GSN_ModuleReference Class extends the SACM InformationElementCitation Class. InformationElementCitation cites: GSN_Module[1]!Reference to the GSN_Module that is cited by the GSN_ModuleReference. GSN_ModuleReferences cite instances of class GSN_Module. See section B GSN_Module Class GSN_Module is the container class for arguments represented using the GSN Metamodel. The GSN_Module Class extends the SACM Argumentation Class. Argumentation GSN_Modules may be associated with instances of class GSN_ModuleReference. See section B GSN_InContextOf Class GSN_InContextOf association class declares that the information referenced by a GSN_ContextAsReference or GSN_ContextAsAssertion provides context for a or GSN_Strategy element. The GSN_InContextOf Class extends the SACM AssertedContext Class. AsseertedContext multiplicity: Integer optional: Boolean source: ArgumentElement[1]! Reference to the ArgumentElement that is the source (start-point) of the relationship. target:argumentelement[1]

4 !Reference to the ArgumentElement that is the target (end-point) of the relationship. As part of a pattern, the multiplicity of the GSN_InContextOf relationship may be declared. As part of a pattern, a GSN_InContextOf relationship may be declared optional. See sections 1.2, A1.2, and B1.2. Invariants context GSN_InContextOf inv SourceMustBeGoalOrStrategy : self.source->forall(s s.oclistypeof(gsn_goal) or s.ocllstypeof(gsn_strategy) inv TargetMustBeContext : self.target->forall(t t.oclistypeof(gsn_contextasassertion) or t.oclistypeof(gsn_assumption) or t.oclistypeof(gsn_justification) or t.oclistypeof(gsn_contextasreference) or t.oclistypeof(gsn_modulereference) or t.oclistypeof(gsn_awaycontext)) GSN_SupportedBy Class GSN_SupportedBy association class records the inference that a user declares between one or more and another. GSN_SupportedBy association class also records the declaration that one or more GSN_Solution provides information that helps establish the truth of a. The GSN_SupportedBy Class extends the SACM AssertedInference and AssertedEvidence Class. AssertedInference, AssertedEvidence multiplicity: Integer optional: Boolean source: ArgumentElement[1]! Reference to the ArgumentElement that is the source (start-point) of the relationship. target:argumentelement[1]!reference to the ArgumentElement(s) that is the target (end-point) of the relationship. SACM classes AssertedInference and AssertedEvidence are both represented using the same GSN element. It can always however be determined which SACM class is represented from type of the target of the relationship ( or GSN_Solution). As part of a pattern, the multiplicity of the GSN_SupportedBy relationship may be declared. As part of a pattern, a GSN_SupportedBy relationship may be declared optional. See sections 1.2, A1.2, and B1.2. Invariants context GSN_SupportedBy inv SourceMustBeGoalOrStrategy : self.source->forall(s s.oclistypeof(gsn_goal) or s.ocllstypeof(gsn_strategy) inv TargetMustBeGoalOrStrategyOrSolution : if self.source.ocllstypeof(gsn_goal) then self.target->forall(t t.oclistypeof(gsn_goal) or t.oclistypeof(gsn_solution) or t.oclistypeof(gsn_strategy)) if self.source.ocllstypeof(gsn_strategy) then self.target->forall(t t.oclistypeof(gsn_goal))

5 GSN_ChallengedBy Class GSN_ChallengedBy association class records the challenge (i.e. counter-argument) that a user declares between one or more and another. GSN_ChallengedBy association class can also be used to associate GSN_Solutions to a, where this GSN_Solution is being asserted to infer that the is false (i.e. counter-evidence). The GSN_ChallengedBy Class extends the SACM AssertedChallenge and AssertedCounterEvidence Class. AssertedChallenge, AssertedCounterEvidence multiplicity: Integer optional: Boolean source: ArgumentElement[1]! Reference to the ArgumentElement that is the source (start-point) of the relationship. target:argumentelement[1]!reference to the ArgumentElement(s) that is the target (end-point) of the relationship. SACM classes AssertedChallenge and AssertedCounterEvidence are both represented using the same GSN element. It can always however be determined which SACM class is represented from type of the target of the relationship ( or GSN_Solution). As part of a pattern, the multiplicity of the GSN_ChallengedBy relationship may be declared. As part of a pattern, a GSN_ChallengedBy relationship may be declared optional. See section? Invariants context GSN_ChallengedBy inv SourceMustBeGoalOrStrategy : self.source->forall(s s.oclistypeof(gsn_goal) or s.ocllstypeof(gsn_strategy) inv TargetMustBeGoalOrStrategyOrSolution : self.target->forall(t t.oclistypeof(gsn_goal) or t.oclistypeof(gsn_solution)) GSN_Strategy Class GSN_Strategys are used to provide additional description of the GSN_SupportedBy or GSN_ChallengedBy relationships. It is also possible that GSN_Strategy elements can refer to GSN_Modules as a means of documenting the detail of the argument that establishes the GSN_SupportedBy relationships. The GSN_Strategy Class extends the SACM ArgumentReasoning Class. ArgumentReasoning See sections 1.2 and B GSN_AwayGoal Class GSN_AwayGoal cites a within another GSN_Module, for use with the current GSN_Module. The GSN_AwayGoal Class extends the SACM ArgumentElementCitation Class.

6 ArgumentElementCitation Cites: GSN_Goal[1] References to the GSN_Goal within another GSN_Module that is cited by the GSN_AwayGoal. See section B GSN_AwaySolution Class GSN_AwaySolution cites a GSN_Solution within another GSN_Module, for use with the current GSN_Module. The GSN_AwaySolution Class extends the SACM ArgumentElementCitation Class. ArgumentElementCitation Cites: GSN_Solution[1] References to the GSN_Solution within another GSN_Module that is cited by the GSN_AwaySolution. See section B GSN_AwayContext Class GSN_AwayContext cites a GSN_ContextAsReference within another GSN_Module, for use with the current GSN_Module. The GSN_AwayContext Class extends the SACM ArgumentElementCitation Class. ArgumentElementCitation Cites: GSN_Solution[1] References to the GSN_Context within another GSN_Module that is cited by the GSN_AwayContext. See section B GSN_Choice Class GSN_Choice is used as part of a GSN pattern to indicate a number of possible SACM ArgumentReasoning approaches may be adopted. The GSN_Choice constrains the possible AssertedRelationship elements that may be instantiated. The GSN_Choice Class extends the SACM ArgumentReasoning Class. ArgumentReasoning constrains: AssertedRelationship[1..*] Constrains the Asserted Relationship.

7 See section A References 1. Object Management Group (OMG), Structured Assurance Case Metamodel (SACM) Version 1.0, OMG Document Number: formal/ !standard document, URL: February 2013

Quick Start Guide. Ver /06/24

Quick Start Guide. Ver /06/24 Quick Start Guide Ver2. 2015/06/24 Introduction Astah GSN is a design tool to document arguments using GSN (Goal Structuring Notations) plus Mind mapping to visualize thoughts and ideas. This Start Guide

More information

Support for Safety Case Generation via Model Transformation

Support for Safety Case Generation via Model Transformation Support for Safety Case Generation via Model Transformation Chung-Ling Lin, Wuwei Shen Department of Computer Science Western Michigan University Kalamazoo, MI, USA {chung-ling.lin, wuwei.shen}@wmich.edu

More information

A Software Safety Argument Pattern Catalogue

A Software Safety Argument Pattern Catalogue A Software Safety Argument Pattern Catalogue R. Hawkins and T. Kelly {richard.hawkins\tim.kelly}@york.ac.uk Department of Computer Science The University of York Abstract This document presents a catalogue

More information

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent

More information

Axiomatic Specification. Al-Said, Apcar, Jerejian

Axiomatic Specification. Al-Said, Apcar, Jerejian Axiomatic Specification Al-Said, Apcar, Jerejian 1 Axioms: Wffs that can be written down without any reference to any other Wffs. Wffs that are stipulated as unproved premises for the proof of other wffs

More information

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,

More information

Chapter 2: Functions and Control Structures

Chapter 2: Functions and Control Structures Chapter 2: Functions and Control Structures TRUE/FALSE 1. A function definition contains the lines of code that make up a function. T PTS: 1 REF: 75 2. Functions are placed within parentheses that follow

More information

Introduction to Logic Programming

Introduction to Logic Programming Introduction to Logic Programming York University CSE 3401 Vida Movahedi York University CSE 3401 V. Movahedi 1 Overview Programming Language Paradigms Logic Programming Functional Programming Brief review

More information

D-Case Editor: A Typed Assurance Case Editor

D-Case Editor: A Typed Assurance Case Editor D-Case Editor: A Typed Assurance Case Editor Yutaka Matsuno The University of Tokyo, Japan JST, CREST matsu@cc.u-tokyo.ac.jp Abstract System assurance has become an important issue in many system domains,

More information

A Systematic Approach for Developing Software Safety Arguments

A Systematic Approach for Developing Software Safety Arguments A Systematic Approach for Developing Software Safety Arguments R.D. Hawkins, Ph.D.; Software Systems Engineering Initiative; The University of York, York, UK T.P. Kelly, PhD; Department of Computer Science;

More information

CS111: PROGRAMMING LANGUAGE II

CS111: PROGRAMMING LANGUAGE II CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1(c): Java Basics (II) Lecture Contents Java basics (part II) Conditions Loops Methods Conditions & Branching Conditional Statements A

More information

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics 400 lecture note #4 [Ch 6] Set Theory 1. Basic Concepts and Definitions 1) Basics Element: ; A is a set consisting of elements x which is in a/another set S such that P(x) is true. Empty set: notated {

More information

Tools for Formally Reasoning about Systems. June Prepared by Lucas Wagner

Tools for Formally Reasoning about Systems. June Prepared by Lucas Wagner Tools for Formally Reasoning about Systems June 9 2015 Prepared by Lucas Wagner 2015 Rockwell 2015 Collins. Rockwell All Collins. rights reserved. All rights reserved. Complex systems are getting more

More information

8/22/2003. Proposal for VPI model PSL assertion extensions

8/22/2003. Proposal for VPI model PSL assertion extensions 8/22/2003 Proposal for VPI model PSL assertion extensions Cadence Design Systems, Inc. 8/22/2003 This proposal has been prepared by Cadence Design Systems, Inc. for consideration by the IEEE 1364 working

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

Formal Methods. CITS5501 Software Testing and Quality Assurance

Formal Methods. CITS5501 Software Testing and Quality Assurance Formal Methods CITS5501 Software Testing and Quality Assurance Pressman, R. Software Engineering: A Practitioner s Approach. Chapter 28. McGraw-Hill, 2005 The Science of Programming, David Gries, 1981

More information

Propositional Logic. Andreas Klappenecker

Propositional Logic. Andreas Klappenecker Propositional Logic Andreas Klappenecker Propositions A proposition is a declarative sentence that is either true or false (but not both). Examples: College Station is the capital of the USA. There are

More information

Type Checking. Outline. General properties of type systems. Types in programming languages. Notation for type rules.

Type Checking. Outline. General properties of type systems. Types in programming languages. Notation for type rules. Outline Type Checking General properties of type systems Types in programming languages Notation for type rules Logical rules of inference Common type rules 2 Static Checking Refers to the compile-time

More information

Outline. General properties of type systems. Types in programming languages. Notation for type rules. Common type rules. Logical rules of inference

Outline. General properties of type systems. Types in programming languages. Notation for type rules. Common type rules. Logical rules of inference Type Checking Outline General properties of type systems Types in programming languages Notation for type rules Logical rules of inference Common type rules 2 Static Checking Refers to the compile-time

More information

Informing Assurance Case Review through a Formal Interpretation of GSN Core Logic

Informing Assurance Case Review through a Formal Interpretation of GSN Core Logic Informing Assurance Case Review through a Formal Interpretation of GSN Core Logic Victor Bandur and John McDermid University of York, UK Abstract. A formalization of a logical subset of Goal Structuring

More information

OCL Support in MOF Repositories

OCL Support in MOF Repositories OCL Support in MOF Repositories Joachim Hoessler, Michael Soden Department of Computer Science Technical University Berlin hoessler@cs.tu-berlin.de, soden@cs.tu-berlin.de Abstract From metamodels that

More information

Represent Software Process Engineering Metamodel in Description Logic

Represent Software Process Engineering Metamodel in Description Logic Represent Software Process Engineering Metamodel in Description Logic Shengjun Wang, Longfei Jin, and Chengzhi Jin Abstract An approach of representing OMG's Software Process Engineering Metamodel (SPEM)

More information

Introduction to Axiomatic Semantics

Introduction to Axiomatic Semantics Introduction to Axiomatic Semantics Meeting 10, CSCI 5535, Spring 2009 Announcements Homework 3 due tonight Homework 2 is graded 13 (mean), 14 (median), out of 21 total, but Graduate class: final project

More information

Weaving an Assurance Case from Design: A Model-Based Approach

Weaving an Assurance Case from Design: A Model-Based Approach Weaving an Assurance Case from Design: A Model-Based Approach Richard Hawkins, Ibrahim Habli, Dimitris Kolovos, Richard Paige, Tim Kelly Department of Computer Science The University of York York, UK {Richard.Hawkins,

More information

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services. 1. (24 points) Identify all of the following statements that are true about the basics of services. A. If you know that two parties implement SOAP, then you can safely conclude they will interoperate at

More information

Introduction & Review

Introduction & Review Introduction & Review York University Department of Computer Science and Engineering 1 Why this course? Overview Programming Language Paradigms Brief review of Logic Propositional logic Predicate logic

More information

Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1

Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 Natural Semantics Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 1 Natural deduction is an instance of first-order logic; that is, it is the formal

More information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling with Metamodels. Using. UML/MOF including OCL Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of

More information

There are two places where Boolean boolean expressions occur in concurrent properties assertions:

There are two places where Boolean boolean expressions occur in concurrent properties assertions: Motivation It is often the case that all the concurrent assertions that are placed in a design unit share the same clock and disable iff condition. While it is possible to define a default clocking for

More information

UNIT 3

UNIT 3 UNIT 3 Presentation Outline Sequence control with expressions Conditional Statements, Loops Exception Handling Subprogram definition and activation Simple and Recursive Subprogram Subprogram Environment

More information

Induction and Semantics in Dafny

Induction and Semantics in Dafny 15-414 Lecture 11 1 Instructor: Matt Fredrikson Induction and Semantics in Dafny TA: Ryan Wagner Encoding the syntax of Imp Recall the abstract syntax of Imp: a AExp ::= n Z x Var a 1 + a 2 b BExp ::=

More information

Parameterised Argument Structure for GSN Patterns

Parameterised Argument Structure for GSN Patterns Parameterised Argument Structure for GSN Patterns Yutaka Matsuno Information Technology Center The University of Tokyo, Japan JST, CREST matsu@cc.u-tokyo.ac.jp Kenji Taguchi National Institute of Advanced

More information

Arguing for program correctness and writing correct programs

Arguing for program correctness and writing correct programs Arguing for program correctness and writing correct programs Saying things about states, programs Program state s1: x=4, y=-1.5, A={ me, you, he Assertions about program states x=3 False in s1 (y=x) x>=0

More information

FreePascal changes: user documentation

FreePascal changes: user documentation FreePascal changes: user documentation Table of Contents Jochem Berndsen February 2007 1Introduction...1 2Accepted syntax...2 Declarations...2 Statements...3 Class invariants...3 3Semantics...3 Definitions,

More information

INTERNATIONAL STANDARD

INTERNATIONAL STANDARD ISO/IEC 29341-14-3 INTERNATIONAL STANDARD Edition 1.0 2011-08 colour inside Information technology UPnP device architecture Part 14-3: Audio Video Device Control Protocol Level 3 Media Server Device INTERNATIONAL

More information

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017

Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017 Future Directions for SysML v2 INCOSE IW MBSE Workshop January 28, 2017 Sanford Friedenthal safriedenthal@gmail.com 1/30/2017 Agenda Background System Modeling Environment (SME) SysML v2 Requirements Approach

More information

Automated Reasoning. Natural Deduction in First-Order Logic

Automated Reasoning. Natural Deduction in First-Order Logic Automated Reasoning Natural Deduction in First-Order Logic Jacques Fleuriot Automated Reasoning Lecture 4, page 1 Problem Consider the following problem: Every person has a heart. George Bush is a person.

More information

Table of Contents Date(s) Title/Topic Page #s. Chapter 4: Writing Classes 4.1 Objects Revisited

Table of Contents Date(s) Title/Topic Page #s. Chapter 4: Writing Classes 4.1 Objects Revisited Table of Contents Date(s) Title/Topic Page #s 11/6 Chapter 3 Reflection/Corrections 56 Chapter 4: Writing Classes 4.1 Objects Revisited 57 58-59 look over your Ch 3 Tests and write down comments/ reflections/corrections

More information

Assertions, pre/postconditions

Assertions, pre/postconditions Programming as a contract Assertions, pre/postconditions Assertions: Section 4.2 in Savitch (p. 239) Specifying what each method does q Specify it in a comment before method's header Precondition q What

More information

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus: Boolean Functions and Expressions CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Objective: To provide students with the concepts and

More information

Constraint-enabled Process Modeling. Conrad Bock U.S. National Institute of Standards and Technology November 20, 2007

Constraint-enabled Process Modeling. Conrad Bock U.S. National Institute of Standards and Technology November 20, 2007 Constraint-enabled Process Modeling Conrad Bock U.S. National Institute of Standards and Technology November 20, 2007 1 Overview Models and constraints: Example of structure models Extend to process models:

More information

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus

More information

CIS 500 Software Foundations. Final Exam. May 3, Answer key

CIS 500 Software Foundations. Final Exam. May 3, Answer key CIS 500 Software Foundations Final Exam May 3, 2012 Answer key This exam includes material on the Imp language and the simply-typed lambda calculus. Some of the key definitions are repeated, for easy reference,

More information

Combination of fuzzy sets with the Object Constraint Language (OCL)

Combination of fuzzy sets with the Object Constraint Language (OCL) Combination of fuzzy sets with the Object Constraint Language (OCL) Dagi Troegner Institute of Systems Engineering, Department of Simulation, Leibniz Universität, Welfengarten 1, 30167 Hannover Dagi.Troegner@dlr.de

More information

Softwaretechnik. Lecture 03: Types and Type Soundness. Peter Thiemann. University of Freiburg, Germany SS 2008

Softwaretechnik. Lecture 03: Types and Type Soundness. Peter Thiemann. University of Freiburg, Germany SS 2008 Softwaretechnik Lecture 03: Types and Type Soundness Peter Thiemann University of Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 35 Table of Contents Types and Type correctness

More information

Study about Application of Formal Methods in Consideration of Convenience by the Example of the Electric Pot

Study about Application of Formal Methods in Consideration of Convenience by the Example of the Electric Pot 1 1 1 1 0,,, Study about Application of Formal Methods in Consideration of Convenience by the Example of the Electric Pot Abstract: It had been emphasized that formal methods in software development are

More information

Electronic fee collection Information exchange between service provision and toll charging

Electronic fee collection Information exchange between service provision and toll charging Provläsningsexemplar / Preview INTERNATIONAL STANDARD ISO 12855 Second edition 2015-12-15 Electronic fee collection Information exchange between service provision and toll charging Perception du télépéage

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 11 p. 1/38

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 11 p. 1/38 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 11 p. 1/38 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science

More information

Virtual World Development

Virtual World Development ALGEBRAIC SPECIFICATION LANGUAGE The algebraic specification language (ASL) is intended to provide the formal structure needed for modular programming and the flexibility needed for unencumbered design.

More information

logic with quantifiers (informally)

logic with quantifiers (informally) EDAA40 Discrete Structures in Computer Science 8: Quantificational logic Jörn W. Janneck, Dept. of Computer Science, Lund University logic with quantifiers (informally) Given a logical formula that depends

More information

Hardware Modeling. VHDL Architectures. Vienna University of Technology Department of Computer Engineering ECS Group

Hardware Modeling. VHDL Architectures. Vienna University of Technology Department of Computer Engineering ECS Group Hardware Modeling VHDL Architectures Vienna University of Technology Department of Computer Engineering ECS Group Contents Structural Modeling Instantiation of Components Behavioral Modeling Processes

More information

CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL

CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL CONSTRAINT SPECIFICATIONS USING PATTERNS IN OCL Ali Hamie. University of Brighton, Brighton, UK a.a.hamie@brighton.ac.uk ABSTRACT Constraint patterns are very useful for specifying OCL constraints on UML

More information

Homework 1. Due Date: Wednesday 11/26/07 - at the beginning of the lecture

Homework 1. Due Date: Wednesday 11/26/07 - at the beginning of the lecture Homework 1 Due Date: Wednesday 11/26/07 - at the beginning of the lecture Problems marked with a [*] are a littlebit harder and count as extra credit. Note 1. For any of the given problems make sure that

More information

The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance

The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance The Software Assurance Ecosystem: OMG s Approach to Systems & Software Assurance Dr. Richard Mark Soley Chairman and CEO Object Management Group, Inc. With thanks to the OMG Systems Assurance Domain Task

More information

Applications of Program analysis in Model-Based Design

Applications of Program analysis in Model-Based Design Applications of Program analysis in Model-Based Design Prahlad Sampath (Prahlad.Sampath@mathworks.com) 2018 by The MathWorks, Inc., MATLAB, Simulink, Stateflow, are registered trademarks of The MathWorks,

More information

Safety Case Composition Using Contracts - Refinements based on Feedback from an Industrial Case Study

Safety Case Composition Using Contracts - Refinements based on Feedback from an Industrial Case Study Safety Case Composition Using Contracts - Refinements based on Feedback from an Industrial Case Study Jane Fenn and Richard Hawkins BAE SYSTEMS, Brough, UK Phil Williams General Dynamics (United Kingdom)

More information

[MS-ES2017-INTL]: Microsoft Edge ECMAScript 2017 Internationalization API Specification (ECMA-402, 4th Edition, June 2017)

[MS-ES2017-INTL]: Microsoft Edge ECMAScript 2017 Internationalization API Specification (ECMA-402, 4th Edition, June 2017) [MS-ES2017-INTL]: Microsoft Edge ECMAScript 2017 Internationalization API Specification (ECMA-402, 4th Edition, June 2017) Intellectual Property Rights Notice for Open Specifications Documentation Technical

More information

Haskell Overview II (2A) Young Won Lim 8/9/16

Haskell Overview II (2A) Young Won Lim 8/9/16 (2A) Copyright (c) 2016 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published

More information

DaMPL. Language Reference Manual. Henrique Grando

DaMPL. Language Reference Manual. Henrique Grando DaMPL Language Reference Manual Bernardo Abreu Felipe Rocha Henrique Grando Hugo Sousa bd2440 flt2107 hp2409 ha2398 Contents 1. Getting Started... 4 2. Syntax Notations... 4 3. Lexical Conventions... 4

More information

From Objects to Aspects: Assessing Modularity Evolution

From Objects to Aspects: Assessing Modularity Evolution From Objects to Aspects: Assessing Modularity Evolution Sérgio Bryton, Fernando Brito e Abreu February 2008 Unlimited distribution subject to the copyright. Technical Report FCT/QUASAR-2008-TR-108 This

More information

Specification with OCL

Specification with OCL Specification with OCL Jurriaan Hage Slides adapted from Birgit Demuth, TU Dresden e-mail: jur@cs.uu.nl homepage: http://www.cs.uu.nl/people/jur/ Department of Information and Computing Sciences, Universiteit

More information

Automated Fixing of Programs with Contracts

Automated Fixing of Programs with Contracts Automated Fixing of Programs with Contracts Yi Wei, Yu Pei, Carlo A. Furia, Lucas S. Silva, Stefan Buchholz, Bertrand Meyer and Andreas Zeller Chair of Software Engineering, ETH Zürich Software Engineering

More information

System Assurance and Related Standards

System Assurance and Related Standards System Assurance and Related Standards Dr. Ben Calloni, P.E., CISSP, OCRES Lockheed Martin Fellow, Cybersecurity Lockheed Martin Representative to OMG OMG Board of Directors Co-chair OMG System Assurance

More information

Index. business modeling syntax 181 business process modeling 57 business rule 40

Index. business modeling syntax 181 business process modeling 57 business rule 40 OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity

More information

Security protocols. Correctness of protocols. Correctness of protocols. II. Logical representation and analysis of protocols.i

Security protocols. Correctness of protocols. Correctness of protocols. II. Logical representation and analysis of protocols.i Security protocols Logical representation and analysis of protocols.i A security protocol is a set of rules, adhered to by the communication parties in order to ensure achieving various security or privacy

More information

Outline. Introduction. 2 Proof of Correctness. 3 Final Notes. Precondition P 1 : Inputs include

Outline. Introduction. 2 Proof of Correctness. 3 Final Notes. Precondition P 1 : Inputs include Outline Computer Science 331 Correctness of Algorithms Mike Jacobson Department of Computer Science University of Calgary Lectures #2-4 1 What is a? Applications 2 Recursive Algorithms 3 Final Notes Additional

More information

Formal Methods in Software Engineering 1

Formal Methods in Software Engineering 1 Building Models with OCL Introduction Completing UML Diagrams Modeling Tips and Hints Summary Formal Methods in Software Engineering 1 What Is a Model? Simply put, a model is a high level system description.

More information

First Name: Last: ID# 1. Hexadecimal uses the symbols 1, 2, 3, 4, 5, 6, 7 8, 9, A, B, C, D, E, F,G.

First Name: Last: ID# 1. Hexadecimal uses the symbols 1, 2, 3, 4, 5, 6, 7 8, 9, A, B, C, D, E, F,G. IST 311 - Exam1 - Fall 2015 First Name: Last: ID# PART 1. Multiple-choice / True-False (30 poinst) 1. Hexadecimal uses the symbols 1, 2, 3, 4, 5, 6, 7 8, 9, A, B, C, D, E, F,G. 2. The accessibility modifier

More information

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting UNIT II Syllabus Introduction to UML (08 Hrs, 16 Marks) a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting b. Background, UML Basics c. Introducing UML 2.0 A Conceptual Model

More information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive

More information

Propositional Calculus. Math Foundations of Computer Science

Propositional Calculus. Math Foundations of Computer Science Propositional Calculus Math Foundations of Computer Science Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they can use it to

More information

NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT

NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT 3SAT The 3SAT problem is the following. INSTANCE : Given a boolean expression E in conjunctive normal form (CNF) that is the conjunction of clauses, each

More information

CSC 501 Semantics of Programming Languages

CSC 501 Semantics of Programming Languages CSC 501 Semantics of Programming Languages Subtitle: An Introduction to Formal Methods. Instructor: Dr. Lutz Hamel Email: hamel@cs.uri.edu Office: Tyler, Rm 251 Books There are no required books in this

More information

Contract-based Programming: a Route to Finding Bugs Earlier

Contract-based Programming: a Route to Finding Bugs Earlier Contract-based Programming: a Route to Finding Bugs Earlier JSA Research & Innovation February 2018 Subprogram Contracts Type Contracts Contract-based Programming A software development technique, used

More information

ISO/IEC INTERNATIONAL STANDARD. Information technology Metadata registries (MDR) Part 3: Registry metamodel and basic attributes

ISO/IEC INTERNATIONAL STANDARD. Information technology Metadata registries (MDR) Part 3: Registry metamodel and basic attributes INTERNATIONAL STANDARD ISO/IEC 11179-3 Third edition 2013-02-15 Information technology Metadata registries (MDR) Part 3: Registry metamodel and basic attributes Technologies de l'information Registres

More information

A Template for an Assurance Case Shall Be Known as an Assurance Case Template

A Template for an Assurance Case Shall Be Known as an Assurance Case Template A Template for an Assurance Case Shall Be Known as an Assurance Case Template Alan Wassyng With lots of help if not always encouragement from: Tom Maibaum, Mark Lawford, Neeraj Singh, Paul Joannou VeriSure:

More information

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1 CS 70 Discrete Mathematics for CS Fall 2000 Wagner MT1 Sol Solutions to Midterm 1 1. (16 pts.) Theorems and proofs (a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are

More information

INTERNATIONAL STANDARD

INTERNATIONAL STANDARD IEC 61158-6-8 INTERNATIONAL STANDARD Edition 1.0 2007-12 Industrial communication networks Fieldbus specifications Part 6-8: Application layer protocol specification Type 8 elements INTERNATIONAL ELECTROTECHNICAL

More information

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered

More information

CSC Discrete Math I, Spring Sets

CSC Discrete Math I, Spring Sets CSC 125 - Discrete Math I, Spring 2017 Sets Sets A set is well-defined, unordered collection of objects The objects in a set are called the elements, or members, of the set A set is said to contain its

More information

EXAMINATIONS 2009 MID-TERM TEST. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering WITH ANSWERS

EXAMINATIONS 2009 MID-TERM TEST. COMP 202 / SWEN 202 Formal Methods of Computer Science / Formal Foundations of Software Engineering WITH ANSWERS T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I VUW V I C T O R I A UNIVERSITY OF WELLINGTON Time Allowed: 90 minutes EXAMINATIONS 2009 MID-TERM TEST COMP 202 / SWEN 202 Formal Methods

More information

Research Paper on Implementation of OCL Constraints in JAVA

Research Paper on Implementation of OCL Constraints in JAVA ISSN No. 0976-5697 Volume 8, No. 5, May June 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info Research Paper on Implementation of OCL

More information

6.0 ECTS/4.5h VU Programm- und Systemverifikation ( ) June 22, 2016

6.0 ECTS/4.5h VU Programm- und Systemverifikation ( ) June 22, 2016 6.0 ECTS/4.5h VU Programm- und Systemverifikation (184.741) June 22, 2016 Kennzahl (study id) Matrikelnummer (student id) Familienname (family name) Vorname (first name) Gruppe (version) A 1.) Coverage

More information

Part 5: Hash-functions

Part 5: Hash-functions INTERNATIONAL STANDARD ISO/IEC 29192-5 First edition 2016-08-01 Information technology Security techniques Lightweight cryptography Part 5: Hash-functions Technologies de l information Techniques de sécurité

More information

Teaching Model Views with UML and OCL

Teaching Model Views with UML and OCL Teaching Model Views with UML and OCL Loli Burgueño Universidad de Málaga, Spain loli@lcc.uma.es Marbella International University Centre, Spain lola@miuc.org Antonio Vallecillo Universidad de Málaga,

More information

Programming Languages Third Edition

Programming Languages Third Edition Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand

More information

CSE331 Winter 2014, Midterm Examination February 12, 2014

CSE331 Winter 2014, Midterm Examination February 12, 2014 CSE331 Winter 2014, Midterm Examination February 12, 2014 Please do not turn the page until 10:30. Rules: The exam is closed-book, closed-note, etc. Please stop promptly at 11:20. There are 100 points

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/ SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter 2.1-2.7 p. 1/27 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

More information

DATA STRUCTURES CHAPTER 1

DATA STRUCTURES CHAPTER 1 DATA STRUCTURES CHAPTER 1 FOUNDATIONAL OF DATA STRUCTURES This unit introduces some basic concepts that the student needs to be familiar with before attempting to develop any software. It describes data

More information

CS 161 Computer Security

CS 161 Computer Security Wagner Spring 2014 CS 161 Computer Security 1/27 Reasoning About Code Often functions make certain assumptions about their arguments, and it is the caller s responsibility to make sure those assumptions

More information

OMG Specifications for Enterprise Interoperability

OMG Specifications for Enterprise Interoperability OMG Specifications for Enterprise Interoperability Brian Elvesæter* Arne-Jørgen Berre* *SINTEF ICT, P. O. Box 124 Blindern, N-0314 Oslo, Norway brian.elvesater@sintef.no arne.j.berre@sintef.no ABSTRACT:

More information

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE A Modern Approach to Discrete Mathematics SIXTH EDITION Judith L. Gersting University of Hawaii at Hilo W. H. Freeman and Company New York Preface Note to the

More information

Notes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions

Notes for Chapter 12 Logic Programming. The AI War Basic Concepts of Logic Programming Prolog Review questions Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions The AI War How machines should learn: inductive or deductive? Deductive: Expert => rules =>

More information

ISO INTERNATIONAL STANDARD. Geographic information Quality principles. Information géographique Principes qualité. First edition

ISO INTERNATIONAL STANDARD. Geographic information Quality principles. Information géographique Principes qualité. First edition INTERNATIONAL STANDARD ISO 19113 First edition 2002-12-01 Geographic information Quality principles Information géographique Principes qualité Reference number ISO 2002 Provläsningsexemplar / Preview PDF

More information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation. [MS-GRVRDB]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

Algorithm Analysis. Applied Algorithmics COMP526. Algorithm Analysis. Algorithm Analysis via experiments

Algorithm Analysis. Applied Algorithmics COMP526. Algorithm Analysis. Algorithm Analysis via experiments Applied Algorithmics COMP526 Lecturer: Leszek Gąsieniec, 321 (Ashton Bldg), L.A.Gasieniec@liverpool.ac.uk Lectures: Mondays 4pm (BROD-107), and Tuesdays 3+4pm (BROD-305a) Office hours: TBA, 321 (Ashton)

More information

Attribute Algebra for N-layer Metamodeling

Attribute Algebra for N-layer Metamodeling Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 142 Attribute Algebra for N-layer Metamodeling GERGELY MEZEI, TIHAMÉR

More information

Formal Verification. Lecture 10

Formal Verification. Lecture 10 Formal Verification Lecture 10 Formal Verification Formal verification relies on Descriptions of the properties or requirements of interest Descriptions of systems to be analyzed, and rely on underlying

More information

Iteration and Loop Invariants

Iteration and Loop Invariants Iteration and Loop Invariants Murali Sitaraman (Clemson) Bruce W. Weide (Ohio State) RESOLVE/Reusable Software Research Group http://www.cs.clemson.edu/group/resolve http://cse.osu.edu/rsrg We gratefully

More information