Research Overview. Provenance Themes. Dr. Martin Chapman March 17, King s College London
|
|
- Everett Blair
- 6 years ago
- Views:
Transcription
1 Research Overview Provenance Themes Dr. Martin Chapman March 17, 2017 King s College London martin.chapman@kcl.ac.uk 1
2 Overview Learning the language of error Playing Hide-And-Seek Storing and processing MT300s 2
3 Learning the language of error
4 Problem Problem: One of the assertions in a program fails, based upon given input, and you want to know how the sequence of method calls in your program might have had an impact on this. static void gl_read () { do { gl_insert ( nondet_int ()); } while ( nondet_int ()); } static void gl_insert ( int value ) { struct node * node = malloc ( sizeof * node ); node -> value = value ; list_add (& node -> linkage, & gl_list ); INIT_LIST_HEAD (& node -> nested ); } static inline void list_add ( struct list_head *new, struct list_head *prev, struct list_head * next ) { next -> prev = new ; new -> next = next ; new -> prev = prev ; prev -> next = new ; } static void inspect ( const struct list_head * head ) { head = head -> prev ; const struct node * node = list_entry (head, struct node, linkage ); assert (node -> nested. prev == &node -> nested ); for ( head = head -> next ; &node -> linkage!= head ; head = head -> next ); } static inline void list_del ( struct list_head *prev, struct list_head * next ) { next -> prev = prev ; prev -> next = next ; } static inline void list_add ( struct list_head *new, struct list_head * head ) { list_add (new, head, head -> next ); } int main () { gl_read (); inspect (& gl_list ); } 3
5 Problem Problem: One of the assertions in a program fails, based upon given input, and you want to know how the sequence of method calls in your program might have had an impact on this. static void gl_read () { do { gl_insert ( nondet_int ()); } while ( nondet_int ()); } static void gl_insert ( int value ) { struct node * node = malloc ( sizeof * node ); node -> value = value ; list_add (& node -> linkage, & gl_list ); INIT_LIST_HEAD (& node -> nested ); } static inline void list_add ( struct list_head *new, struct list_head *prev, struct list_head * next ) { next -> prev = new ; new -> next = next ; new -> prev = prev ; prev -> next = new ; } static void inspect ( const struct list_head * head ) { head = head -> prev ; const struct node * node = list_entry (head, struct node, linkage ); assert (node -> nested. prev == &node -> nested ); for ( head = head -> next ; &node -> linkage!= head ; head = head -> next ); } static inline void list_del ( struct list_head *prev, struct list_head * next ) { next -> prev = prev ; prev -> next = next ; } static inline void list_add ( struct list_head *new, struct list_head * head ) { list_add (new, head, head -> next ); } int main () { gl_read (); inspect (& gl_list ); } 3
6 Problem Problem: One of the assertions in a program fails, based upon given input, and you want to know how the sequence of method calls in your program might have had an impact on this. static void gl_read () { do { gl_insert ( nondet_int ()); } while ( nondet_int ()); } static void gl_insert ( int value ) { struct node * node = malloc ( sizeof * node ); node -> value = value ; list_add (& node -> linkage, & gl_list ); INIT_LIST_HEAD (& node -> nested ); } static inline void list_add ( struct list_head *new, struct list_head *prev, struct list_head * next ) { next -> prev = new ; new -> next = next ; new -> prev = prev ; prev -> next = new ; } static void inspect ( const struct list_head * head ) { head = head -> prev ; const struct node * node = list_entry (head, struct node, linkage ); assert (node -> nested. prev == &node -> nested ); for ( head = head -> next ; &node -> linkage!= head ; head = head -> next ); } static inline void list_del ( struct list_head *prev, struct list_head * next ) { next -> prev = prev ; prev -> next = next ; } static inline void list_add ( struct list_head *new, struct list_head * head ) { list_add (new, head, head -> next ); } int main () { gl_read (); inspect (& gl_list ); } Analysing large amounts of code to understand this can be difficult. 3
7 Solution: Learning the language of error Proposed solution: Summarise all the paths that lead to a failing program assertion as a DFA [Chapman et al., 2015]. 4
8 Solution: Learning the language of error Proposed solution: Summarise all the paths that lead to a failing program assertion as a DFA [Chapman et al., 2015]. Learn Assert D inspect list add gl read gl insert gl insert list add 4
9 Solution: Learning the language of error Proposed solution: Summarise all the paths that lead to a failing program assertion as a DFA [Chapman et al., 2015]. Learn Assert D inspect list add gl read gl insert gl insert list add Much easier to analyse. Provides an overview of program behaviours, some of which may be unexpected. 4
10 Solution: Learning the language of error Proposed solution: Summarise all the paths that lead to a failing program assertion as a DFA [Chapman et al., 2015]. Learn Assert D gl read inspect gl insert gl insert list add list add Did we really want this method call loop in our program? Much easier to analyse. Provides an overview of program behaviours, some of which may be unexpected. 4
11 Implementation Paths are formed from software counterexamples (method calls that lead to a failing assertion in a program). 5
12 Implementation Paths are formed from software counterexamples (method calls that lead to a failing assertion in a program). Our software learns these counterexamples via the L* algorithm [Angluin, 1987] (where the oracle is a model checker). 5
13 Implementation Paths are formed from software counterexamples (method calls that lead to a failing assertion in a program). Our software learns these counterexamples via the L* algorithm [Angluin, 1987] (where the oracle is a model checker). Membership queries pertain to individual counterexamples, while conjecture queries pertain to full automata. 5
14 Implementation Paths are formed from software counterexamples (method calls that lead to a failing assertion in a program). Our software learns these counterexamples via the L* algorithm [Angluin, 1987] (where the oracle is a model checker). Membership queries pertain to individual counterexamples, while conjecture queries pertain to full automata. Supported by a Google faculty research award. 5
15 Case study: Automatic merging Unexpected behaviours are particularly prevalent when code is automatically merged: main {... functiona(); functionb();...} main {... functiona();... functionz();} functionz() { functionb();} main {... functiona(); functionb(); functionc();... } main {... functiona();... functionz(); } functionz() { functionb(); functionc();...} (a) Source (b) Branch A (c) Branch B (d) Merged 6
16 Capitalising on automata representation (1) Our software uses an automaton representation to draw the developer s attention to the changes introduced by the merge. 7
17 Capitalising on automata representation (1) Our software uses an automaton representation to draw the developer s attention to the changes introduced by the merge. First we generate three automata: Branch A B1 Merged Code P Branch B B2 Automaton A1 Automaton AMerged Automaton A2 7
18 Capitalising on automata representation (1) Our software uses an automaton representation to draw the developer s attention to the changes introduced by the merge. First we generate three automata: Branch A B1 Merged Code P Branch B B2 Automaton A1 Automaton AMerged Automaton A2 We then compute the following: AMerged \ A1 and AMerged \ A2 in order to show the new behaviours. 7
19 Capitalising on automata representation (2) Z C Learn assert D Figure 1: AMerged \ A1 or behavior not in Branch A Z B C Learn assert D Figure 2: AMerged \ A2 or behavior not in Branch B a a Subtracting the union of A1 and A2 (common behaviour) would also allow us to summarise all the new behaviour introduced by the merge. 8
20 Capitalising on automata representation (3) Why an automaton? 9
21 Capitalising on automata representation (3) Why an automaton? 1. Processing the source code directly in order to achieve a similar representation is likely to be inefficient (operations on automata are well established). 9
22 Capitalising on automata representation (3) Why an automaton? 1. Processing the source code directly in order to achieve a similar representation is likely to be inefficient (operations on automata are well established). 2. The automata representation is highly intelligible. 9
23 Playing Hide-And-Seek
24 Overview (1) Problem: Network attacks are becoming more frequent. 10
25 Overview (1) Problem: Network attacks are becoming more frequent. Potential solution: Construct formal decision making models (e.g. game theoretic frameworks) that capture network security scenarios in order to aid automated response (in respect of automatic processing and solution, etc.). 10
26 Overview (1) Problem: Network attacks are becoming more frequent. Potential solution: Construct formal decision making models (e.g. game theoretic frameworks) that capture network security scenarios in order to aid automated response (in respect of automatic processing and solution, etc.). An interesting class of network security models: network security games (NSGs). Typically consider the interactions between an attacker and a defender. 10
27 Overview (1) Problem: Network attacks are becoming more frequent. Potential solution: Construct formal decision making models (e.g. game theoretic frameworks) that capture network security scenarios in order to aid automated response (in respect of automatic processing and solution, etc.). An interesting class of network security models: network security games (NSGs). Typically consider the interactions between an attacker and a defender. A common approach to deriving an NSG model is to apply existing types of games to unexplored network security problems. 10
28 Overview (2) Unexplored network security problem: Multiple node attacks (e.g. botnets and attack pivots). 11
29 Overview (2) Unexplored network security problem: Multiple node attacks (e.g. botnets and attack pivots). How do we link multiple node attacks to an existing type of game? 11
30 Overview (2) Unexplored network security problem: Multiple node attacks (e.g. botnets and attack pivots). How do we link multiple node attacks to an existing type of game? The link: Multiple node attacks exhibit the two-sided search problem (looking for something that does not want to be found; the bots in a botnet (perspective of defender), or hidden, sensitive resources (perspective of attacker)) with multiple hidden entities. 11
31 Overview (3) Search games are designed to model and investigate the two-sided search problem, as interactions between a hider and a seeker. 12
32 Overview (3) Search games are designed to model and investigate the two-sided search problem, as interactions between a hider and a seeker. Hide-and-seek games, a subset of search games, are designed to do this for multiple hidden objects. 12
33 Overview (3) Search games are designed to model and investigate the two-sided search problem, as interactions between a hider and a seeker. Hide-and-seek games, a subset of search games, are designed to do this for multiple hidden objects. Initial proposal: It is logical to study hide-and-seek games in order to study multiple node attacks [Chapman et al., 2014]. The hider is the defender, and the seeker is the attacker, or vice-versa. 12
34 Hide-And-Seek Games Different permutations on same basic model. The permutation of interest to us: Two competing players; the hider and the seeker A search space; for our purposes, a network graph Hidden objects to be concealed on the network Some cost to seeker for undertaking a search; the hider is rewarded in an inverse amount. Different strategies are explored for both the hider and the seeker. 13
35 Hide-And-Seek Games Different permutations on same basic model. The permutation of interest to us: Two competing players; the hider and the seeker A search space; for our purposes, a network graph Hidden objects to be concealed on the network Some cost to seeker for undertaking a search; the hider is rewarded in an inverse amount. Different strategies are explored for both the hider and the seeker. This model is simple, but already promising in what it can capture from a multiple node attack. 13
36 Hide-And-Seek Games Different permutations on same basic model. The permutation of interest to us: Two competing players; the hider and the seeker A search space; for our purposes, a network graph Hidden objects to be concealed on the network Some cost to seeker for undertaking a search; the hider is rewarded in an inverse amount. Different strategies are explored for both the hider and the seeker. This model is simple, but already promising in what it can capture from a multiple node attack. Richer variants to the model are natural, why aren t they explored? Complexity. 13
37 Methodology We increase the richness of the model, and thus what it can capture of the security domain (e.g. timesteps, repeated interactions). We compensate for any increase in complexity by using an Empirical Game Theoretical Analysis (EGTA) approach to estimate the payoff values associated with different strategies by realising computational representations of them, and evaluating their performance in simulation. 14
38 Methodology We increase the richness of the model, and thus what it can capture of the security domain (e.g. timesteps, repeated interactions). We compensate for any increase in complexity by using an Empirical Game Theoretical Analysis (EGTA) approach to estimate the payoff values associated with different strategies by realising computational representations of them, and evaluating their performance in simulation. Also allowed us to contribute a computational platform, which can be used as the basis for Distributed Research Games (more at cyberhands.co.uk) 14
39 Methodology We increase the richness of the model, and thus what it can capture of the security domain (e.g. timesteps, repeated interactions). We compensate for any increase in complexity by using an Empirical Game Theoretical Analysis (EGTA) approach to estimate the payoff values associated with different strategies by realising computational representations of them, and evaluating their performance in simulation. Also allowed us to contribute a computational platform, which can be used as the basis for Distributed Research Games (more at cyberhands.co.uk) The performance of different strategies provides the basis for heuristics that can be applied to real security applications. 14
40 Results (1) Multiple interaction game: the same attacker (hider) and defender (seeker) meet each other multiple times. 15
41 Results (1) Multiple interaction game: the same attacker (hider) and defender (seeker) meet each other multiple times. Natural for the defender to keep data on the actions of an attacker, to help plan future strategies, by observing how the attacker interacts with the environment (e.g. where objects are hidden). 15
42 Results (1) Multiple interaction game: the same attacker (hider) and defender (seeker) meet each other multiple times. Natural for the defender to keep data on the actions of an attacker, to help plan future strategies, by observing how the attacker interacts with the environment (e.g. where objects are hidden). Therefore, natural for attacker to attempt to manipulate this data (i.e. switch the source of the data from the environment to themselves). 15
43 Results (1) Multiple interaction game: the same attacker (hider) and defender (seeker) meet each other multiple times. Natural for the defender to keep data on the actions of an attacker, to help plan future strategies, by observing how the attacker interacts with the environment (e.g. where objects are hidden). Therefore, natural for attacker to attempt to manipulate this data (i.e. switch the source of the data from the environment to themselves). Finding: deceptive strategies are not effective if the defender is sophisticated in respect of determining the source of data (i.e determining when manipulation is being attempted). 15
44 Results (2) Payoff *** hdeceptive *** hrandomset Strategy shighprobability 16
45 Storing and processing MT300s
46 Storing and processing MT300s (1) Brief: To design and build a distributed ledger POC system to process and store proprietary messages for inter- subsidiary forex transactions (MT300s) internal to a major Fortune 500 financial institution. Taking pairs of messages about forex transactions (e.g. $; $ ), and storing them on the blockchain. Distributed ledger: A generalised term for a blockchain, emphasising that it s not only currency exchanges that can be stored in this sequential, secure and replicated way. 17
47 Storing and processing MT300s (2) Why? Intermediate message processors add time and money. Cynically: become familiar with the technology that may one day supplant them. Output. A platform that: Integrates a wider range of different technologies to achieve its aim (e.g. BigChainDB, ErisDB (Permissioned chains based on Ethereum / EVM) + Tendermint)). Focuses on scalability and throughput. Research into inter-chain interaction for processing and storing data (e.g. using a separate chain to store filtered transactions). 18
48 Provenance Themes A recurring theme of both conceptual provenance, and data provenance, in my work: 1 19
49 Provenance Themes A recurring theme of both conceptual provenance, and data provenance, in my work: Learning the language of error: Understanding the functions that have had an impact on input data, using a graph based representation, and how this has lead to an error. 1 19
50 Provenance Themes A recurring theme of both conceptual provenance, and data provenance, in my work: Learning the language of error: Understanding the functions that have had an impact on input data, using a graph based representation, and how this has lead to an error. Playing Hide-And-Seek: Understanding the origin of data in order to make strategic decisions. 1 19
51 Provenance Themes A recurring theme of both conceptual provenance, and data provenance, in my work: Learning the language of error: Understanding the functions that have had an impact on input data, using a graph based representation, and how this has lead to an error. Playing Hide-And-Seek: Understanding the origin of data in order to make strategic decisions. MT300 Processing: Using a distributed ledger (blockchain) to provide a secure historic record of all the actions involving an entity 1. 1 Lots of research to be done at the intersection here! 19
52 Summary (1) Experience of, and achievements as a part of, projects that require not only good development skills, but also research capabilities. Strong programming ability. Wide range of experience working with different systems, some large in scale, or designed to be scalable. In particular systems that have required me to consider how to facilitate communication between heterogeneous entities (e.g. learn tool, HANDS platform, distributed ledger projects). Ph.D. with a focus on game theory, artificial intelligence, and elements of learning. 20
53 Summary (2) Themes of provenance, and graph-based representation, throughout work. Additional experience as a teaching academic staff member at King s: significant teaching responsibilities, in addition to administrative and pastoral responsibilities. Some system development as a part of this role. 21
54 References Angluin, D. (1987). Learning regular sets from queries and counterexamples. Information and computation, 75(2): Chapman, M., Chockler, H., Kesseli, P., Kroening, D., Strichman, O., and Tautschnig, M. (2015). Learning the language of error. In International Symposium on Automated Technology for Verification and Analysis, pages Springer. Chapman, M., Tyson, G., McBurney, P., Luck, M., and Parsons, S. (2014). Playing hide-and-seek: an abstract game for cyber security. In Proceedings of the 1st International Workshop on Agents and CyberSecurity, page 3. ACM. 22
Using Game Theory To Solve Network Security. A brief survey by Willie Cohen
Using Game Theory To Solve Network Security A brief survey by Willie Cohen Network Security Overview By default networks are very insecure There are a number of well known methods for securing a network
More informationA model of information searching behaviour to facilitate end-user support in KOS-enhanced systems
A model of information searching behaviour to facilitate end-user support in KOS-enhanced systems Dorothee Blocks Hypermedia Research Unit School of Computing University of Glamorgan, UK NKOS workshop
More informationFAdo: Interactive Tools for Learning Formal Computational Models
FAdo: Interactive Tools for Learning Formal Computational Models Rogério Reis Nelma Moreira DCC-FC& LIACC, Universidade do Porto R. do Campo Alegre 823, 4150 Porto, Portugal {rvr,nam}@ncc.up.pt Abstract
More informationParallel Model Checking of ω-automata
Parallel Model Checking of ω-automata Vincent Bloemen Formal Methods and Tools, University of Twente v.bloemen@utwente.nl Abstract. Specifications for non-terminating reactive systems are described by
More informationSchool of Engineering & Built Environment
School of Engineering & Built Environment BEng (Hons) in Digital Security, Forensics & Ethical Hacking Programme Specification Proforma (PSP) August 2015 P a g e 1 GLASGOW CALEDONIAN UNIVERSITY Programme
More informationBlockchain for Enterprise: A Security & Privacy Perspective through Hyperledger/fabric
Blockchain for Enterprise: A Security & Privacy Perspective through Hyperledger/fabric Elli Androulaki Staff member, IBM Research, Zurich Workshop on cryptocurrencies Athens, 06.03.2016 Blockchain systems
More informationThe Global Cybercrime Industry
Nir Kshetri The Global Cybercrime Industry Economic, Institutional and Strategic Perspectives 4y Springer 1 The Global Cybercrime Industry and Its Structure: Relevant Actors, Motivations, Threats, and
More informationAN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL. Fiona Rohde. Department of Commerce The University of Queensland, 4072.
AN ONTOLOGICAL EVALUATION OF JACKSON'S SYSTEM DEVELOPMENT MODEL Fiona Rohde Department of Commerce The University of Queensland, 4072. Australia ABSTRACT Within the discipline of information systems, numerous
More informationDATABASE DEVELOPMENT (H4)
IMIS HIGHER DIPLOMA QUALIFICATIONS DATABASE DEVELOPMENT (H4) December 2017 10:00hrs 13:00hrs DURATION: 3 HOURS Candidates should answer ALL the questions in Part A and THREE of the five questions in Part
More informationCTI Higher Certificate in Information Systems (Internet Development)
CTI Higher Certificate in Information Systems (Internet Development) Module Descriptions 2015 1 Higher Certificate in Information Systems (Internet Development) (1 year full-time, 2½ years part-time) Computer
More informationModelling of Adaptive Hypermedia Systems
Modelling of Adaptive Hypermedia Systems Martin Balík, Ivan Jelínek Abstract: The amount of information on the web is permanently growing. The orientation within the information is becoming more and more
More informationCourse Information
Course Information 2018-2020 Master of Information Systems: Management and Innovation Institutt for teknologi / Department of Technology Index Index... i 1... 1 1.1 Content... 1 1.2 Name... 1 1.3 Programme
More informationDynamic Information Management and Exchange for Command and Control Applications
AFRL-AFOSR-UK-TR-2015-0026 Dynamic Information Management and Exchange for Command and Control Applications Maribel Fernandez KING S COLLEGE LONDON THE STRAND LONDON WC2R 2LS UNITED KINGDOM EOARD GRANT
More informationPROGRAMME SPECIFICATION
PROGRAMME SPECIFICATION Master of Computing (Hons) in Computer Security Awarding institution Teaching institution UCAS Code JACS Code Programme Duration Language of Programme Liverpool John Moores University
More informationHigher National Unit Specification. General information for centres. Unit title: CAD: 3D Modelling. Unit code: DW13 34
Higher National Unit Specification General information for centres Unit code: DW13 34 Unit purpose: This Unit is designed to introduce candidates to computerised 3D modelling and enable them to understand
More informationDevelopment of an interface that allows MDX based data warehouse queries by less experienced users
Development of an interface that allows MDX based data warehouse queries by less experienced users Mariana Duprat André Monat Escola Superior de Desenho Industrial 400 Introduction Data analysis is a fundamental
More informationHOW TO CHOOSE A NEXT-GENERATION WEB APPLICATION FIREWALL
HOW TO CHOOSE A NEXT-GENERATION WEB APPLICATION FIREWALL CONTENTS EXECUTIVE SUMMARY 1 WEB APPLICATION SECURITY CHALLENGES 2 INSIST ON BEST-IN-CLASS CORE CAPABILITIES 3 HARNESSING ARTIFICIAL INTELLIGENCE
More informationG52CPP C++ Programming Lecture 13
G52CPP C++ Programming Lecture 13 Dr Jason Atkin http://www.cs.nott.ac.uk/~jaa/cpp/ g52cpp.html 1 Last lecture Function pointers Arrays of function pointers Virtual and non-virtual functions vtable and
More informationHow do archivists identify and capture records?
QUESTION How do archivists identify and capture records? AUTOMATED SYSTEMS MEETING THE CHALLENGE Critical Skill Set: Information System Analysis and Design Skills Being able to create conceptual models
More informationAdvances in Databases and Information Systems 1997
ELECTRONIC WORKSHOPS IN COMPUTING Series edited by Professor C.J. van Rijsbergen Rainer Manthey and Viacheslav Wolfengagen (Eds) Advances in Databases and Information Systems 1997 Proceedings of the First
More informationFault Detection of Reachability Testing with Game Theoretic Approach
Fault Detection of Reachability Testing with Game Theoretic Approach S. Preetha Dr.M. Punithavalli Research Scholar, Karpagam University, Coimbatore. Director, Sri Ramakrishna Engineering College, Coimbatore.
More informationThis Online Gaming Company Didn t Want to Roll the Dice on Security That s Why it Worked with BlackBerry
This Online Gaming Company Didn t Want to Roll the Dice on Security That s Why it Worked with BlackBerry At a Glance With offices across the country, this gaming company has been in operation for decades.
More informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationIDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Enterprise Systems
SIMTech Technical Report () IDEF* - A comprehensive Modelling Methodology for the Development of Manufacturing Dr Ang Cheng Leong (Operations & Supply Chain Applications Group, Manufacturing Information
More informationAlgorithms for Learning and Teaching. Sets of Vertices in Graphs. Patricia A. Evans and Michael R. Fellows. University of Victoria
Algorithms for Learning and Teaching Sets of Vertices in Graphs Patricia A. Evans and Michael R. Fellows Department of Computer Science University of Victoria Victoria, B.C. V8W 3P6, Canada Lane H. Clark
More informationComputer Information Systems (CIS) CIS 105 Current Operating Systems/Security CIS 101 Introduction to Computers
Computer Information Systems (CIS) CIS 101 Introduction to Computers This course provides an overview of the computing field and its typical applications. Key terminology and components of computer hardware,
More informationFormal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.
Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement
More informationStaff Microsoft Office Training Workshops
Staff Microsoft Office Training Workshops To see Course Information Hold down the CTRL key on the keyboard & click on the page number Contents Introduction to Office 365... 1 Introduction to Access Database
More informationUsing Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods
Using Classical Mechanism Concepts to Motivate Modern Mechanism Analysis and Synthesis Methods Robert LeMaster, Ph.D. 1 Abstract This paper describes a methodology by which fundamental concepts in the
More informationIEC Why the IEC standard was developed, The languages and concepts defined in the standard, How to obtain further information
IEC61131-3 This article gives a brief overview the PLC Software IEC1131-3 (also referred to as through this document by its full title IEC61131-3) and covers the following: Why the IEC 61131-3 standard
More informationCore Membership Computation for Succinct Representations of Coalitional Games
Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity
More informationSYLLABUS. Departmental Syllabus. Structured Query Language (SQL)
SYLLABUS DATE OF LAST REVIEW: 02/2013 CIP CODE: 11.0901 SEMESTER: COURSE TITLE: COURSE NUMBER: Structured Query Language (SQL) CIST0151 CREDIT HOURS: 3 INSTRUCTOR: OFFICE LOCATION: OFFICE HOURS: TELEPHONE:
More informationOn the correctness of template metaprograms
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007 Vol 2 pp 301 308 On the correctness of template metaprograms Ádám Sipos, István Zólyomi, Zoltán
More informationCTI Short Learning Programme in Internet Development Specialist
CTI Short Learning Programme in Internet Development Specialist Module Descriptions 2015 1 Short Learning Programme in Internet Development Specialist (10 months full-time, 25 months part-time) Computer
More informationAPPLICATION OF CLOUD COMPUTING FOR THE DEVELOPMENT OF KNOWLEDGE MANAGEMENT SYSTEM WEB BASED NETWORK
APPLICATION OF CLOUD COMPUTING FOR THE DEVELOPMENT OF KNOWLEDGE MANAGEMENT SYSTEM WEB BASED NETWORK 1 CHUSNUL ASTRI CH, 2 RANI PURBANINGTYAS, 3 R.DIMAS ADITYO 123 Undergraduate Program of Informatics Engineering
More informationPlease consult the Department of Engineering about the Computer Engineering Emphasis.
COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals
More informationTeaching of Computer Science in Schools Supporting changes to the National Curriculum
Teaching of Computer Science in Schools Supporting changes to the National Curriculum Irene Glendinning, Coventry University Margaret Low, University of Warwick BCS, Coventry Branch 1 Our presentation
More informationSymbolic Automata Library for Fast Prototyping
http://excel.fit.vutbr.cz Symbolic Automata Library for Fast Prototyping Michaela Bieliková not_in{@} in{e,x,c} in{e,l} F I T Abstract Finite state automata are widely used in the fields of computer science
More informationInformation Systems Interfaces (Advanced Higher) Information Systems (Advanced Higher)
National Unit Specification: general information NUMBER DV51 13 COURSE Information Systems (Advanced Higher) SUMMARY This Unit is designed to develop knowledge and understanding of the principles of information
More informationCopy Company. User Guide
Copy Company User Guide Important Notice TaiRox does not warrant or represent that your use of this software product will be uninterrupted or error-free or that the software product can be run with any
More informationThe objectives of this project include the following. Note that students are expected to choose a subset of goals to fulfill:
Titre High-performance practical blockchain systems Programme d'études visé M. Sc. A., M. Ing., Doctorat - PhD. Domaines de recherche Software Engineering, IT Engineering Description This is a multi-faceted
More information3.4 Data-Centric workflow
3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load
More informationCS 338 The Enhanced Entity-Relationship (EER) Model
CS 338 The Enhanced Entity-Relationship (EER) Model Bojana Bislimovska Spring 2017 Major research Outline EER model overview Subclasses, superclasses and inheritance Specialization and generalization Modeling
More informationIntroduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure
Databases databases Terminology of relational model Properties of database relations. Relational Keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views. The relational
More informationCYBERCRIME AS A NEW FORM OF CONTEMPORARY CRIME
FACULTY OF LAW DEPARTEMENT: CIVIL LAW MASTER STUDY THEME: CYBERCRIME AS A NEW FORM OF CONTEMPORARY CRIME Mentor: Prof. Ass. Dr. Xhemajl Ademaj Candidate: Abdurrahim Gashi Pristinë, 2015 Key words List
More informationAutomatic Synthesis of a Voting Machine Design
Automatic Synthesis of a Voting Machine Design Lili Dworkin Haverford College Sanjit Seshia University of California, Berkeley Wenchao Li University of California, Berkeley Haverford College Computer Science
More informationHeuristic Evaluation of Groupware. How to do Heuristic Evaluation of Groupware. Benefits
Kimberly Tee ketee@ucalgary.ca CPSC 681 Topic Heuristic Evaluation of Groupware Heuristic evaluation [9] is a discount evaluation method for finding usability problems in a singleuser interface design.
More informationLevel 5 Diploma in Computing
Level 5 Diploma in Computing 1 www.lsib.co.uk Objective of the qualification: It should available to everyone who is capable of reaching the required standards It should be free from any barriers that
More informationEvolution of XML Applications
Evolution of XML Applications University of Technology Sydney, Australia Irena Mlynkova 9.11. 2011 XML and Web Engineering Research Group Department of Software Engineering Faculty of Mathematics and Physics
More informationLecture 23: Domain-Driven Design (Part 1)
1 Lecture 23: Domain-Driven Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2005 2 Goals for this lecture Introduce the main concepts of Domain-Driven
More informationBITCOIN MINING IN A SAT FRAMEWORK
BITCOIN MINING IN A SAT FRAMEWORK Jonathan Heusser @jonathanheusser DISCLAIMER JUST TO BE CLEAR.. This is research! Not saying ASICs suck I am not a cryptographer, nor SAT solver guy WTF REALISED PHD RESEARCH
More informationIntroducing Evaluation
Chapter 12 Introducing Evaluation 1 The aims Explain the key concepts used in evaluation. Introduce different evaluation methods. Show how different methods are used for different purposes at different
More informationLibRCPS Manual. Robert Lemmen
LibRCPS Manual Robert Lemmen License librcps version 0.2, February 2008 Copyright c 2004 2008 Robert Lemmen This program is free software; you can redistribute
More informationAgenda item: (Board Office to complete) USF Board of Trustees October 7, 2010
Agenda item: (Board Office to complete) USF Board of Trustees October 7, 2010 Issue: Change of CIP code for MS in Management Information Systems in USF College of Business Proposed Action: Approve change
More informationBlockchain Frameworks
TechWatch Report Blockchain Frameworks Date: March 2018 Contributors: Hemant Sachdeva, Subhrojit Nag Contents 1 Objective... 3 2 Capabilities... 3 2.1 Consensus and Incentive Mechanism... 3 2.2 Limitation
More informationENGR 101 Engineering Design Workshop
ENGR 101 Engineering Design Workshop Lecture 2: Variables, Statements/Expressions, if-else Edgardo Molina City College of New York Literals, Variables, Data Types, Statements and Expressions Python as
More informationQualification Specification
BCS Level 2 Certificate in IT User Skills (ECDL Core) Version 2.0 March 2018 This is a United Kingdom government regulated qualification which is administered and approved by one or more of the following:
More informationChapter Twelve. Systems Design and Development
Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many
More informationThe Low-Level Bounded Model Checker LLBMC
The Low-Level Bounded Model Checker LLBMC A Precise Memory Model for LLBMC Carsten Sinz Stephan Falke Florian Merz October 7, 2010 VERIFICATION MEETS ALGORITHM ENGINEERING KIT University of the State of
More informationSYMBIOSIS CENTRE FOR DISTANCE LEARNING (SCDL) Subject: Management Information Systems
Sample Questions: Section I: Subjective Questions 1. Which factors are considered critical for the success/failure of the Decision Support System? 2. List the categories of data warehousing tools. 3. "MIS
More informationDuet: Static Analysis for Unbounded Parallelism
Duet: Static Analysis for Unbounded Parallelism Azadeh Farzan and Zachary Kincaid University of Toronto Abstract. Duet is a static analysis tool for concurrent programs in which the number of executing
More informationSingle-pass Static Semantic Check for Efficient Translation in YAPL
Single-pass Static Semantic Check for Efficient Translation in YAPL Zafiris Karaiskos, Panajotis Katsaros and Constantine Lazos Department of Informatics, Aristotle University Thessaloniki, 54124, Greece
More informationDesign Patterns which Facilitate Message Digest Collision Attacks on Blockchains
Symposium on Distributed Ledger Technology SDLT'2017 Gold Coast Campus, Griffith University June 13, 2017 Design Patterns which Facilitate Message Digest Collision Attacks on Blockchains Peter Robinson,
More informationExtracting the Range of cps from Affine Typing
Extracting the Range of cps from Affine Typing Extended Abstract Josh Berdine, Peter W. O Hearn Queen Mary, University of London {berdine, ohearn}@dcs.qmul.ac.uk Hayo Thielecke The University of Birmingham
More informationDevelopment of a formal REA-ontology Representation
Development of a formal REA-ontology Representation Frederik Gailly 1, Geert Poels Ghent University Hoveniersberg 24, 9000 Gent Frederik.Gailly@Ugent.Be, Geert.Poels@Ugent.Be Abstract. Business domain
More informationGeneralized Coordinates for Cellular Automata Grids
Generalized Coordinates for Cellular Automata Grids Lev Naumov Saint-Peterburg State Institute of Fine Mechanics and Optics, Computer Science Department, 197101 Sablinskaya st. 14, Saint-Peterburg, Russia
More informationEfficient, Scalable, and Provenance-Aware Management of Linked Data
Efficient, Scalable, and Provenance-Aware Management of Linked Data Marcin Wylot 1 Motivation and objectives of the research The proliferation of heterogeneous Linked Data on the Web requires data management
More informationNondeterministic Query Algorithms
Journal of Universal Computer Science, vol. 17, no. 6 (2011), 859-873 submitted: 30/7/10, accepted: 17/2/11, appeared: 28/3/11 J.UCS Nondeterministic Query Algorithms Alina Vasilieva (Faculty of Computing,
More informationDatabase Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design
Database Systems: Design, Implementation, and Management Tenth Edition Chapter 9 Database Design Objectives In this chapter, you will learn: That successful database design must reflect the information
More informationTHE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2
General Comments THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT Software Engineering 2 The pass rate was 40% representing the lowest mark
More informationNLINK Deployment. White Paper
NLINK Deployment White Paper 1997-2012 Junot Systems Corporation. All rights reserved. The information contained in this document represents the current view of Junot Systems Corporation on the issues
More informationA Graphical Interactive Debugger for Distributed Systems
A Graphical Interactive Debugger for Distributed Systems Doug Woos March 23, 2018 1 Introduction Developing correct distributed systems is difficult. Such systems are nondeterministic, since the network
More informationGlobally recognised qualifications. Edexcel Business and Economics qualifications
Globally recognised qualifications Edexcel Business and Economics qualifications About Pearson At the core of everything we do is the desire to make a measurable impact on improving people s lives through
More informationTo become familiar with array manipulation, searching, and sorting.
ELECTRICAL AND COMPUTER ENGINEERING 06-88-211: COMPUTER AIDED ANALYSIS LABORATORY EXPERIMENT #2: INTRODUCTION TO ARRAYS SID: OBJECTIVE: SECTIONS: Total Mark (out of 20): To become familiar with array manipulation,
More informationFocussed Structured Document Retrieval
Focussed Structured Document Retrieval Gabrialla Kazai, Mounia Lalmas and Thomas Roelleke Department of Computer Science, Queen Mary University of London, London E 4NS, England {gabs,mounia,thor}@dcs.qmul.ac.uk,
More informationInformation Integration
Information Integration Part 1: Basics of Relational Database Theory Werner Nutt Faculty of Computer Science Master of Science in Computer Science A.Y. 2012/2013 Integration in Data Management: Evolution
More informationFormal Methods in Describing Architectures
Presented at the 1995 Monterey Workshop on Formal Methods and Architecture Introduction Formal Methods in Describing Architectures Dr. Paul C. Clements Software Engineering Institute 1 Carnegie Mellon
More informationUsing Middleware to Provide Geographic Information Systems (GIS) Based on Relational Databases
Using Middleware to Provide Geographic Information Systems (GIS) Based on Relational Databases Andrew Cardno, Kelly Buchanan & Dr Pete Frizzell PO Box 4103, WELLINGTON Phone [64] (4) 472-8244 email: andrew@critchlow.co.nz
More informationLOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING
LOGICAL OPERATOR USAGE IN STRUCTURAL MODELLING Ieva Zeltmate (a) (a) Riga Technical University, Faculty of Computer Science and Information Technology Department of System Theory and Design ieva.zeltmate@gmail.com
More informationContents The Global Cybercrime Industry and Its Structure: Relevant Actors, Motivations, Threats, and Countermeasures
Contents 1 The Global Cybercrime Industry and Its Structure: Relevant Actors, Motivations, Threats, and Countermeasures... 1 1.1 The Rapidly Rising Global Cybercrime Industry... 1 1.1.1 Cybercrime: Definitional
More informationSERGEI OBIEDKOV LEARNING HORN FORMULAS WITH QUERIES
SERGEI OBIEDKOV LEARNING HORN FORMULAS WITH QUERIES SUPERVISED LEARNING Input: a training set divided into (for example) two classes w.r.t. a certain target property. positive examples negative examples
More informationMathematics and Symmetry: A Bridge to Understanding
Mathematics and Symmetry: A Bridge to Understanding Gail Kaplan Department of Mathematics Towson University Towson, Maryland 5, USA gkaplan@towson.edu Abstract This paper describes how to teach group theory
More informationAssociation for International PMOs. Expert. Practitioner. Foundation PMO. Learning.
AIPM Association for International PMOs Expert Practitioner Foundation www.pmolearning.co.uk PMO The Leading Standard and Certification for PMO Professionals Today Understand the Value of High-Performing
More informationPROGRAMME SPECIFICATION
PROGRAMME SPECIFICATION Bachelor of Science with Honours (SW) (Fnd) in Computer Science Awarding institution Teaching institution UCAS Code JACS Code Liverpool John Moores University LJMU Programme Duration
More informationComputer Information Systems (CIS) CIS 105 Current Operating Systems/Security CIS 101 Introduction to Computers
Computer Information Systems (CIS) CIS 101 Introduction to Computers This course provides an overview of the computing field and its typical applications. Key terminology and components of computer hardware,
More informationFIBO Shared Semantics. Ontology-based Financial Standards Thursday Nov 7 th 2013
FIBO Shared Semantics Ontology-based Financial Standards Thursday Nov 7 th 2013 FIBO Conceptual and Operational Ontologies: Two Sides of a Coin FIBO Business Conceptual Ontologies Primarily human facing
More informationAssessment for all units is ongoing and continuous consisting of tests, assignments and reports. Most units have a final two-hour examination.
Diploma of Computing Course Outline (T3, 2017) Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June,
More informationLecture 2. Decidability and Verification
Lecture 2. Decidability and Verification model temporal property Model Checker yes error-trace Advantages Automated formal verification, Effective debugging tool Moderate industrial success In-house groups:
More informationOnline Appendix: A Stackelberg Game Model for Botnet Data Exfiltration
Online Appendix: A Stackelberg Game Model for Botnet Data Exfiltration June 29, 2017 We first provide Lemma 1 showing that the urban security problem presented in (Jain et al. 2011) (see the Related Work
More informationRED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE.
RED HAT ENTERPRISE LINUX. STANDARDIZE & SAVE. Is putting Contact us INTRODUCTION You know the headaches of managing an infrastructure that is stretched to its limit. Too little staff. Too many users. Not
More informationThe Automatic Design of Batch Processing Systems
The Automatic Design of Batch Processing Systems by Barry Dwyer, M.A., D.A.E., Grad.Dip. A thesis submitted for the degree of Doctor of Philosophy in the Department of Computer Science University of Adelaide
More informationThe SPARKS Project Motivation, Objectives and Results
The SPARKS Project Motivation, Objectives and Results Paul Smith paul.smith@ait.ac.at AIT Austrian Institute of Technology SEGRID Project Workshop 14 th November, 2016, Barcelona, Spain The SPARKS Project
More informationEight units must be completed and passed to be awarded the Diploma.
Diploma of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B
More informationAnalysis of Dendrogram Tree for Identifying and Visualizing Trends in Multi-attribute Transactional Data
Analysis of Dendrogram Tree for Identifying and Visualizing Trends in Multi-attribute Transactional Data D.Radha Rani 1, A.Vini Bharati 2, P.Lakshmi Durga Madhuri 3, M.Phaneendra Babu 4, A.Sravani 5 Department
More informationCONTRACTUAL SPECIFICATION OF COMPONENT USING VIRTUAL INTERFACE
CONTRACTUAL SPECIFICATION OF COMPONENT USING VIRTUAL INTERFACE Eustache MUTEBA Ayumba Researcher/Lecturer Correspondent of IMIA, NEM and EASST in Democratic Republic of Congo Email: emuteba@hotmail.fr
More informationCONSENSUS PROTOCOLS & BLOCKCHAINS. Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente)
CONSENSUS PROTOCOLS & BLOCKCHAINS Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente) 2 Consensus protocols & blockchain 3 Consensus protocols & blockchain 4 Consensus protocols
More informationDistributed Consensus: Making Impossible Possible
Distributed Consensus: Making Impossible Possible Heidi Howard PhD Student @ University of Cambridge heidi.howard@cl.cam.ac.uk @heidiann360 hh360.user.srcf.net Sometimes inconsistency is not an option
More informationCelebrating SIXTY YEARS University of Hertfordshire Postgraduate Computer Science courses 2013/14
Celebrating SIXTY YEARS 1952-2012 University of Hertfordshire Postgraduate Computer Science courses 2013/14 1 2 Contents About the courses 4 Courses for computer science graduates - overview 5 Courses
More informationModel Checking and Its Applications
Model Checking and Its Applications Orna Grumberg Technion, Israel Verification and Deduction Mentoring Workshop July 13, 2018 1 Personal data Ph.d. in (non-automated) verification Postdoc in Model Checking
More informationOn User-centric QoE Prediction for VoIP & Video Streaming based on Machine-Learning
UNIVERSITY OF CRETE On User-centric QoE Prediction for VoIP & Video Streaming based on Machine-Learning Michalis Katsarakis, Maria Plakia, Paul Charonyktakis & Maria Papadopouli University of Crete Foundation
More information