We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byMadisen Talbot
Modified over 2 years ago
Copyright © 2001 Praxis Critical Systems Limited New and Exciting Things in the World of SPARK Roderick Chapman Praxis Critical Systems
Copyright © 2001 Praxis Critical Systems Limited Contents Release 6 What does the “R” stand for? SPARK and Security
Copyright © 2001 Praxis Critical Systems Limited Release 6 - Language Modular types –Good for interfacing, crypto, checksums etc. –Binary modulus only. –No modular subtypes. Does anyone use them?!? –No unary arithmetic operators (-, +, abs). All rather useless. External variables –Variables which are known to be “connected” to the outside world. –Automatic treatment of volatility. –Allows far simpler modeling of I/O, clocks, delays and so on. “Null” derives annotation –Easier handling of testpoints, and other code “outside the SPARK boundary”
Copyright © 2001 Praxis Critical Systems Limited Release 6 - Plan Commercial customers - soon! Universities - after that… “High Integrity Ada: The SPARK Approach” 3rd edition, including new Examiner and Simplifier. –“Difficulties” with current publisher will be addressed!
Copyright © 2001 Praxis Critical Systems Limited SPARK - What does the “R” stand for? Don’t ask - but we might just change it to “Ravenscar” A Protected Object behaves like a volatile abstract state machine, but we know how to model those! External variables also mean we can include Ada.Real_Time and delay until.
Copyright © 2001 Praxis Critical Systems Limited Ravenscar (2) Library level tasks and their analysis is easy - they just look like parameterless procedures. Elimination of bounded errors (e.g. blocking in a PO body) is also possible via extended annotations and static analysis thereof. Will be implemented in release 7.
Copyright © 2001 Praxis Critical Systems Limited Something different SPARK and High-Security Systems SPARK is well-known in safety-critical arena. It also turns out that SPARK is well-suited to the needs to high-security software developments. The relevant standards (UK ITSEC, US Orange Book, Common Criteria) are at least as demanding as the comparable safety-critical standards. SPARK is the only language that meets the highest levels of Common Criteria requirements.
Copyright © 2001 Praxis Critical Systems Limited Messages to go home with SPARK has a proven technical and commercial track-record in meeting the most stringent software standards (00-55, DO-178B, CENELEC) SPARK is also well-suited to the development of highly secure software systems. –All the depressingly common “implementation slips” that plague secure systems are eliminated in SPARK- e.g. dataflow error, “buffer overflow” Watch out for the Common Criteria
Learners Support Publications Object Oriented Programming.
Version 02U-1 Computer Security: Art and Science1 Correctness by Construction: Developing a Commercial Secure System by Anthony Hall Roderick Chapman.
An Integration of Program Analysis and Automated Theorem Proving Bill J. Ellis & Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt.
© Andrew IrelandDependable Systems Group Invariant Patterns for Program Reasoning Andrew Ireland Dependable Systems Group School of Mathematical & Computer.
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Overview of the Multos construction process Chad R. Meiners.
Concurrency - 1 Tasking Concurrent Programming Declaration, creation, activation, termination Synchronization and communication Time and delays conditional.
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
Closing the Loop - Copyright © 2002 Praxis Critical Systems Limited Peter Amey Praxis Critical Systems Closing the Loop: The Influence of Code Analysis.
Chapter 19: Building Systems with Assurance Dr. Wayne Summers Department of Computer Science Columbus State University
Comp 249 Programming Methodology Chapter 15 Linked Data Structure – Part A Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia.
Chapter 3: Modules, Hierarchy Charts, and Documentation
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Establishing the overall structure of a software system
©2002 B&R Software Technology - Automation Studio.
Software Development Languages and Environments. Computer Languages Just as there are many human languages, there are many computer programming languages.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
A Pragmatic View of Formal Methods The Hi-Lite Project Robert B K Dewar SSS ‘11 President & CEO, AdaCore Emeritus Professor of Computer.
Types for Programs and Proofs Lecture 1. What are types? int, float, char, …, arrays types of procedures, functions, references, records, objects,...
© Andrew IrelandDependable Systems Group Static Analysis and Program Proof Andrew Ireland School of Mathematical & Computer Sciences Heriot-Watt University.
Bill J. Ellis Dependable Systems Group Heriot-Watt University (Project page: Proving Exception.
The Mana Project Lars Asplund Kristina Lundqvist Uppsala University, Information Technology, Dept of Computer Systems.
Programming Languages and Paradigms
SOFTWARE DESIGN Design Concepts Design is a meaningful engineering representation of something that is to be built It can be traced to a customer’s requirements.
Security - Why Bother? Your projects in this class are not likely to be used for some critical infrastructure or real-world sensitive data. Why should.
Extending Moodle Across the Institution: Integration Strategies and Methods Academic Technology, San Francisco State University Andrew Roderick, Technology.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Invitation to Computer Science, Java Version, Second Edition.
Exceptions Lecture 11 COMP 401, Fall /25/2014.
Project Report1 Dave Inman Project report. Project Report2 Ways to write a report Top down: Write the structure of the report (maybe use the web templates.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
SOFTWARE DESIGN & SOFTWARE ENGINEERING Software design is a process in which data, program structure, interface and their details are represented by well.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
CSE 425: Intro to Programming Languages and their Design A Few Key Ideas No particular language is a prerequisite for this course –However you should be.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
1 Introduction Modules Most computer programs solve much larger problem than the examples in last sessions. The problem is more manageable and easy.
DT211/3 Internet Application Development
MT311 Java Programming and Programming Languages Li Tak Sing ( 李德成 )
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
1 In the good old days... Years ago… the WWW was made up of (mostly) static documents. –Each URL corresponded to a single file stored on some hard disk.
P6 BTEC Level 3 Subsidiary Diploma in ICT. Automation The end user of a spreadsheet may be proficient in using the software, but the more that you automate.
CSE 425: Data Types I Data and Data Types Data may be more abstract than their representation –E.g., integer (unbounded) vs. 64-bit int (bounded) A language.
Wordpress Ben Mulpeter. What is wordpress? Wordpress is a free Content management system (CMS) It allows free tools to help design your website and.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
May 9, 2001OSQ Retreat 1 Run-Time Type Checking for Pointers and Arrays in C Wes Weimer, George Necula Scott McPeak, S.P. Rahul, Raymond To.
CS200 Algorithms and Data StructuresColorado State University Part 4. Advanced Java Topics Instructor: Sangmi Pallickara
© 2017 SlidePlayer.com Inc. All rights reserved.