1 Features as Constraints Rafael AccorsiUniv. Freiburg Carlos ArecesUniv. Amsterdam Wiet BoumaKPN Research Maarten de RijkeUniv. Amsterdam.

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

Model Checker In-The-Loop Flavio Lerda, Edmund M. Clarke Computer Science Department Jim Kapinski, Bruce H. Krogh Electrical & Computer Engineering MURI.
Logic.
Alternate Software Development Methodologies
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
The Experience Factory May 2004 Leonardo Vaccaro.
Chapter 14: Usability testing and field studies. 2 FJK User-Centered Design and Development Instructor: Franz J. Kurfess Computer Science Dept.
CPSC 322, Lecture 19Slide 1 Propositional Logic Intro, Syntax Computer Science cpsc322, Lecture 19 (Textbook Chpt ) February, 23, 2009.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
1 CODE TESTING Principles and Alternatives. 2 Testing - Basics goal - find errors –focus is the source code (executable system) –test team wants to achieve.
1 Programming with Constraints Jia-Huai You Constraint programming languages - based on non-monotonic logic - Answer set programming (ASP) Knowledge Representation.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Security in Databases. 2 Outline review of databases reliability & integrity protection of sensitive data protection against inference multi-level security.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
Process Modeling and Data Flow Diagrams
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
State of Connecticut Core-CT Project Query 4 hrs Updated 1/21/2011.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 17: Code Mining.
Chapter 10 Architectural Design
Web Explanations for Semantic Heterogeneity Discovery Pavel Shvaiko 2 nd European Semantic Web Conference (ESWC), 1 June 2005, Crete, Greece work in collaboration.
Multi-Agent Model to Multi-Process Transformation A Housing Market Case Study Gerhard Zimmermann Informatik University of Kaiserslautern.
Overview of the Database Development Process
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Context Tailoring the DBMS –To support particular applications Beyond alphanumerical data Beyond retrieve + process –To support particular hardware New.
Ontologies Reasoning Components Agents Simulations Belief Update, Planning and the Fluent Calculus Jacques Robin.
The Electronic Geometry Textbook Project Xiaoyu Chen LMIB - Department of Mathematics Beihang University, China.
CSCI 3140 Module 2 – Conceptual Database Design Theodore Chiasson Dalhousie University.
Of 33 lecture 10: ontology – evolution. of 33 ece 720, winter ‘122 ontology evolution introduction - ontologies enable knowledge to be made explicit and.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Testing Workflow In the Unified Process and Agile/Scrum processes.
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
(Business) Process Centric Exchanges
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Testing Methods Carl Smith National Certificate Year 2 – Unit 4.
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Logical Agents Logic Propositional Logic Summary
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
Sound Global Caching for Abstract Modal Tableaux Rajeev Goré The Australian National University  Linh Anh Nguyen University of Warsaw CS&P’2008.
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.
KR A Principled Framework for Modular Web Rule Bases and its Semantics Anastasia Analyti Institute of Computer Science, FORTH-ICS, Greece Grigoris.
Chapter 17. Assertions State Assertion – predicate intended to express that a descriptive or prescriptive property holds in an arbitrarily chose current.
Predicate Abstraction. Abstract state space exploration Method: (1) start in the abstract initial state (2) use to compute reachable states (invariants)
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
1 Reasoning with Infinite stable models Piero A. Bonatti presented by Axel Polleres (IJCAI 2001,
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
Investigate Plan Design Create Evaluate (Test it to objective evaluation at each stage of the design cycle) state – describe - explain the problem some.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
An Overview of Requirements Engineering Tools and Methodologies*
Classifications of Software Requirements
Integrating SysML with OWL (or other logic based formalisms)
Coordination and conversation protocols in open multi-agent systems
IEEE Std 1074: Standard for Software Lifecycle
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Algorithms and Problem Solving
Relational Database Design
Department of Computer Science Abdul Wali Khan University Mardan
Requirements Document
Presentation transcript:

1 Features as Constraints Rafael AccorsiUniv. Freiburg Carlos ArecesUniv. Amsterdam Wiet BoumaKPN Research Maarten de RijkeUniv. Amsterdam

2 Overview of talk  Background & motivation  Non-monotonicity & constraint programming  Stable model semantics, Smodels  Using Smodels  Evaluation  Discussion

3 Background & motivation  Wanted: ­User-oriented view of FI: encoding of behavior graphs ­Systematic approach to non-monotonicity  Try to avoid complications with model-oriented approaches like modelling IN-CS n in LOTOS, SDL or Process Algebra  Co-operation with UvA since 1999  Description Logic and Constraint Programming  Work on DL appeared independently in: Proceedings MASCOTS’99, October 1999, IEEE Computer Society ISBN

4 Non-monotonicity & constraint programming  Idea: use constraints as a natural way to model non- monotonicity, or: give semantics to a system by the set of its possible models  Add features by constraining it further. Prune some models, generate new ones  non-monotonic additions  Model construction as well as querying can be implemented efficiently  Chose Smodels because of efficient implementation, and its facilities for querying

5 Stable model semantics, Smodels  Standard logic programming semantics: where are atomic properties (predicates)  Clean semantics, but … no negation possible  Stable model semantics elegant way to model negation: if are in the model, and are not, then A should be included. Such models should be minimal (as in the classic case)

6 Stable model semantics, Smodels -2-  A program can have 0, 1 or many stable models  Provided we ­don’t use functions, ­and look only at domain-restricted programs, there are efficient procedures for finding stable models of a logic program  Smodels is an implementation of these procedures with attractive extra features  Connection to non-monotonic reasoning is obvious  The compute statement enables to search for a specified number of models that include/exclude specified atomic predicates

7 Stable model semantics, Smodels -3-  Model behavior graphs (Transition Systems) in such a way that the stable models correspond to the valid runs of the system is modeled as: S S2S2 S1S1 A1A1 A2A2

8 Using Smodels  Need some refinements to encode subscribers, cycles and runs  Need new atoms to record state changes for other users  Use constraints on the dial action to prune unwanted behavior, like ­A subscriber can only establish one call in a given cycle

9 Using Smodels -2-  Testing the BCS: 1.Generate all models, i.e. all valid runs for all subscribers. Current limit is 4 subscribers, 3 cycles (not included). Example: 3 subscribers, 3 runs gives ~18M models, and takes plm. 14hrs, 45 minutes 2.Ask queries by looking for (a number of) models with specific properties. Examples:  Two independent calls can be set up in a given cycle. compute 1 {path(s1, t1, s2,t1), path(s3,t1,s4,t1)} Plm. 15 minutes execution time  In 3 cycles, a user can establish 3 different calls. compute 1 {path(s1,1,_,_), path(s1,2,_,_),path(s3,3,_,_)} Plm. 11 minutes execution time

10 Using Smodels -3-  Add features by adding constraints that prune the set of models, and enlarge it by adding new atoms  Simple methodology for adding features: 1.Define behavior 2.Identify how the feature explicitly modifies the behavior of BCS 3.Check properties on the featured system

11 Using Smodels -4-  TCS  CFU + axioms that refine BCS. Needed because a naive implementation loses models that one wants to keep.

12 Evaluation  Features can be added without changing code for BCS or other features  Checking properties on the featured BCS discovers interaction, because no valid runs are left for a specific configuration (modeled by a compute statement)  This way we show the existence of suspected interactions  So, have to write a sufficient set of properties in advance for each feature, or discover suspeced interactions by aqnother technique, e.g. model checking

13 Discussion  Main aim: use stable model semantics as a means to model non-monotonicity. Proof of concept has been delivered  Advantage: used standard notions, methods and tools form the field of computational logic. So, a connection between Knowledge Engineering and FI has been made  Other implementations of stable model semantics like DeRes or XSB should be tested  A LOT more work has to be done