Formal Aspects of Computer Science - Week11 Real Application of Logic Lee McCluskey, room 2/07

Slides:



Advertisements
Similar presentations
Lecture 9: Implementation Dr Valentina Plekhanova University of Sunderland, UK.
Advertisements

Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
ISBN Chapter 3 Describing Syntax and Semantics.
AI - Week 13 Knowledge Representation, Logic, Semantic Web Lee McCluskey, room 2/07
Ontologies - What’s all the fuss about? Lee McCluskey Department of Computing and Mathematical Sciences University of Huddersfield.
The Semantic Web Week 17 Knowledge Engineering – Real Example: Accuracy of Ontologies Module Website: Practical this.
C. Varela; Adapted w/permission from S. Haridi and P. Van Roy1 Declarative Computation Model Defining practical programming languages Carlos Varela RPI.
The Semantic Web: Implications for Future Intelligent Systems Lee McCluskey, Artform Research Group, Department of Computing And Mathematical Sciences,
Knowledge and Systems Research Group, University of Huddersfield B vs OCL: Comparing Specification Languages for Planning Domains Diane Kitchin, Lee McCluskey,
The Semantic Web Week 13 Module Website: Lecture: Knowledge Acquisition / Engineering Practical: Getting to know.
PDDL: A Language with a Purpose? Lee McCluskey Department of Computing and Mathematical Sciences, The University of Huddersfield.
The Automated Refinement of a Requirements Domain Theory Lee McCluskey co-researchers: Margaret West Beth Richardson Department of Computing and Mathematical.
Modelling Conceptual Knowledge using Logic - Week 6 Lee McCluskey Department of Computing and Mathematical Sciences University of Huddersfield.
School of Computing and Mathematics, University of Huddersfield Knowledge Engineering: Issues for the Planning Community Lee McCluskey Department of Computing.
The Semantic Web Week 1 Module Content + Assessment Lee McCluskey, room 2/07 Department of Computing And Mathematical Sciences Module.
The Semantic Web Week 12 Term 1 Recap Lee McCluskey, room 2/07 Department of Computing And Mathematical Sciences Module Website:
Formal Aspects of Computer Science – Week 12 RECAP Lee McCluskey, room 2/07
School of Computing and Mathematics, University of Huddersfield Week 21: Knowledge Acquisition / GIPO Lee McCluskey, room 2/09
ICAPS Summer School June 2006 Knowledge Engineering for Automated Planning Lee McCluskey, Dept of Informatics, University of Huddersfiield, UK.
Describing Syntax and Semantics
Formal Specification Thomas Alspaugh ICS Nov 7.
School of Computing and Engineering, University of Huddersfield Formal Aspects of Computer Science - CIA 2326 Lee McCluskey, room 2/07
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
ANSWERING CONTROLLED NATURAL LANGUAGE QUERIES USING ANSWER SET PROGRAMMING Syeed Ibn Faiz.
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
Do we need theoretical computer science in software engineering curriculum: an experience from Uni Novi Sad Bansko, August 28, 2013.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
School of Computing and Mathematics, University of Huddersfield Computing Science: WEEK 17 Announcement: next few weeks… 9 nd Feb: Comparative Programming.
Robert Tairas, Marjan Mernik, Jeff Gray Using Ontologies in the Domain Analysis of Domain-Specific Languages Workshop on Transformation and Weaving Ontologies.
OPERATING SYSTEMS AND LANGUAGE TRANSLATORS CIS 2380 TERM 2 – LANGUAGE TRANSLATORS Lee McCluskey – 23/09/20151.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
School of Computing and Mathematics, University of Huddersfield CIA2326: Week 11 LECTURE: Formal Specification TUTORIAL/PRACTICAL: Finish off last weeks.
Formal Methods in Software Engineering
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Formal Methods.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor.
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
RE-ENGINEERING AND DOMAIN ANALYSIS BY- NISHANTH TIRUVAIPATI.
Requirements Analysis
DeSIRE Workshop, Pisa, 25-26/11/2002 1/7 A Case Study in Air Traffic Control Alberto Pasquini Deep Blue Srl.
AI – Week 16 Machine Learning Applied to AI Planning Lee McCluskey, room 2/09
The Semantic Web Week 16 Knowledge Engineering – Real Example Module Website: Practical this week: Protégé-2000 WITH.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
1 Ontological Foundations For SysML Henson Graves September 2010.
1 Modeling Formalism (Modeling Language Foundations) System Modeling Assessment & Roadmap Working Group Meeting – SE DSIG Reston – March, 2016 Yves BERNARD.
Sub-fields of computer science. Sub-fields of computer science.
Programming paradigms
Integrating SysML with OWL (or other logic based formalisms)
Chapter 1 Reasons to study concepts of PLs Programming Domains
Lee McCluskey University of Huddersfield
Algorithm and Ambiguity
Verification and Validation Overview
Software Design and Development
1.1 Reasons to study concepts of PLs
Understand the Programming Process
Ontology.
Understand the Programming Process
Ontology.
Department of Computer Science Abdul Wali Khan University Mardan
Presentation transcript:

Formal Aspects of Computer Science - Week11 Real Application of Logic Lee McCluskey, room 2/07

School of Computing and Mathematics, University of Huddersfield Formal Methods - an approach to reducing the instance of software bugs in complex systems Encode system requirements in an application- oriented formal language - the encoding is called a “formal specification” Thoroughly validate the specification because bugs that remain in a requirements specification turn out to be the most costly Rigorously Transform the specification into software

School of Computing and Mathematics, University of Huddersfield Creating a Formal Specification of Software Requirements: A Real Life Case Study

FAROAS - A Case Study involving Aircraft Separation Criteria Shanwick Oceanic Area segment1 segment2

The FAROAS Project contract research from NATS Ltd: encoded part of the requirements of a system that is to maintain separation between aircraft over the Atlantic Ocean in an expressive, structured logic The kernel of this specification was written in about 500 logic axioms and is called the CPS A validation environment was built around the CPS and helped “debug” it

Knowledge Sources Training Manuals Operational Manuals Existing software tools Existing Software Documentation ATC personnel

Example of Separation Requirement Paragraph of the Manual of Air Traffic Services, Part 2, Section 3 - separation standards states: “For subsonic aircraft, the minimum longitudinal separation between turbojet aircraft, meeting the MNPS, and operating wholly or partly in MNPS airspace, shall 10 minutes, provided that …….ETC”

Requirements / Benefits Creating a Formal Specification of ATC conceptualisation => Precise, Unambiguous representation of Safety Related concepts Strong basis for future software contracts Strong basis for prototype software tools

School of Computing and Mathematics, University of Huddersfield Specification vs Program Code [(one_or_both_of Segment1 and Segment2 are_flown_at_subsonic_speed) & ( the_Aircraft_on(Segment1) and the_Aircraft_on(Segment2) meet_mnps) & ( the_Aircraft_on(Segment1) and the_Aircraft_on(Segment2) are_jets & (the_Profile_containing(Segment1) & the_Profile_containing(Segment2) are_wholly_or_partly_in_the_ mnps_airspace) ] => [(the_basic_min_longitudinal_sep _Val_in_mins_required_for Segment1 and Segment2) = 10 …. ETC while (res != EOF) { res = fscanf(mfd, "%s %s %c %s\n", temp->part_no, temp->drawing_no, &temp->loc_code, temp->revision); if (res != EOF) { temp->left = NULL; temp->right = NULL; root = insert(temp,root); }

CPS Auto-generated CPS lp [(one_or_both_of Segment1 and Segment2 are_flown_at_subsonic_speed) & ( the_Aircraft_on(Segment1) and the_Aircraft_on(Segment2) meet_mnps) & ( the_Aircraft_on(Segment1) and the_Aircraft_on(Segment2) are_jets & (the_Profile_containing(Segment1) & the_Profile_containing(Segment2) are_wholly_or_partly_in_the_ mnps_airspace) ] => [(the_basic_min_longitudinal_sep _Val_in_mins_required_for Segment1 and Segment2) = 10 …. ETC the_basic_min_longitudinal_sep_Val_ in_mins_required_for(Segment1,Seg ment2,10):- are_subject_to_oceanic_cpr(Segmen t1,Segment2), both_are_flown_at_supersonic_spee d(Segment1,Segment2), (both_are_flown_at_the_same_mach_nu mber_in_level_flight(Segment1,Seg ment2) ; the_Aircraft_on_segment(Segment1, Aircraft1), the_Type_of(Aircraft1,Type1), the_Aircraft_on_segment(Segment2, Aircraft2), the_Type_of(Aircraft2,Type2), Type1=Type2, are_cruise_climbed(Segment1,Segme nt2) ),.. ETC

School of Computing and Mathematics, University of Huddersfield Goal: Improve Software Quality Improve Accuracy and Completeness of Statement of Requirements Improve Software Development Process Rigorously Transform Requirements into Software Build an Effective Requirements Validation Tools Environment Produce Formal Statement of Requirements FAROAS Goal-Oriented Quality Tree

CPS Expert Visual Inspection Automated Syntax Checking Automated Reasoning Automated Translation to Executable Software Batch Testing Simulation -an ATC requirements statement DETECT BUGS Opportunities for bug detection in a Formal Model

School of Computing and Mathematics, University of Huddersfield CPS: Many-Sorted Logic Specification + tests PARSER + TRANSLATORS CPS Grammar CPS -logic program CPS - structured English Test Harness THE STUDENT CPS Tests in Prolog TEST RESULTS Enveloped Logic Program and Tests Oracle Envelope Theory Revision CPS Refinements html

Major Outcome of FAROAS Validation and Maintenance of Complex Models (Ontologies? Domain theories? Formal Specifications? KBs?) require automated tool support to identify bugs and help remove them. Such “models” are not written like programs to allow systematic testing but are designed to decrease the semantic gap between model and what is modelled. See