An introduction to logical spreadsheets
|
|
|
- Theodore Byrd
- 10 years ago
- Views:
Transcription
1 The Knowledge Engineering Review, Vol. 22:3, Ó 2007, Cambridge University Press doi: /s Printed in the United Kingdom An introduction to logical spreadsheets MICHAEL KASSOFF 1 and A N D R E V A L E N T E Gates Hall, Computer Science Department, Stanford University, Stanford, California 94305, USA; [email protected]; 2 Alelo, Inc., Venice Blvd, Los Angeles, California 90066, USA; [email protected] Abstract A logical spreadsheet is a spreadsheet in which the formula language is composed of logical expressions. Logical spreadsheets were invented shortly after traditional electronic spreadsheets were introduced, but since then logical spreadsheet research has been somewhat sparse. Recently, however, there has been a resurgence in the interest of logical spreadsheets in the research community. In this article, we summarize logical spreadsheet research up to this point. 1 Introduction The world s first electronic spreadsheet, VisiCalc, was created by Dan Bricklin and Bob Frankston in The spreadsheet was widely regarded as the killer app for personal computers. It managed to hit a sweet spot between usability and functionality millions of users with no formal training in programming were suddenly enabled to create custom applications of their own. Today, the spreadsheet remains as popular as ever. Indeed, in 2001 there were an estimated 45 million end-users of spreadsheets or databases in the United States alone, representing 60% of the American workforce (Scaffidi et al., 2005), and this number is rising. Spreadsheets do one thing and they do it well, which is to perform mathematical computations. While spreadsheets do have built-in Boolean functions and conditional functions, it is clear that they were not designed from the ground up to support logical reasoning. In modern commercial spreadsheets, logical functions have an inelegant syntax and inappropriate editing tools. Worse, the logical reasoning allowed is quite limited there are no n-ary predicates, unification routines, negation-as-failure capabilities, and the like. By extending a spreadsheet with proper logical reasoning capabilities, we allow them to be used for many additional applications, such as applying business rules, performing symbolic what-if analyses, and transforming data from one representation to another. By incorporating further enhancements such as generalizing formulas to constraints, spreadsheets can be further used for applications such as data entry and validation, enterprise management, and constraint-solving. In the sequel, we describe the work that has been done on logical spreadsheets up until today, and attempt to categorize the different logical spreadsheet systems that have been produced. 2 History LogiCalc (Kriwaczek, 1988) was the first logical spreadsheet. It was developed by Frank Kriwazek at Imperial College in the early 1980s as part of his Master s thesis work. In LogiCalc, spreadsheet
2 214 m. kassoff and a. valente formulas were written using traditional spreadsheet syntax, but are translated internally to Prolog rules. For example, if C2 is defined as B2 þ B3, then the following rule would be created: has-definition ( C2, X) if has-value ( B2, Y) and has-value ( B7, Z) and X ¼ Y þ Z LogiCalc allowed regions of the spreadsheet to be saved as database relations and then queried. The queries were restricted to be conjunctive, e.g.: Which [(YZ): father-of( Bob, Y) and friend-of(y,z)] The user could either display all solutions to a query by filling a column of the spreadsheet or by displaying a single solution to the query in a cell and then cycling through the answers. Tuples were held in a single cell, as opposed to displaying each component of a tuple in a separate column. LogiCalc also allowed database tables to define functions. For example, given facts of the form: father-of ( Bob, Dan ) father-of ( Art, Cal ) father-of ( Art, Coe ) One could define a new which mapped children to their fathers. These functions can be incorporated into spreadsheet formulae, such as: A3 The idea of using a spreadsheet as an interactive constraint solver dates back to LogiCalc. Users could specify constraints over cells, e.g.: profession-of (A1, barber ) father-of (A1,A2) father-of (A2,A3) father-of (A3,A4) Given no assignments to the cells A1 A4, LogiCalc would fill the cells with an appropriate barber son grandson greatgrandchild relationship. The user could then choose to cycle through all such satisfying combinations of values, or he/she could stick with one or more of the values and cycle through the rest. The user also had the ability to declare that a cell either have some given value or that it is not allowed to take a given value. This interactive constraint-solving capability was improved upon by van Emden et al. (1986), whose system allowed for previous computation to be reused when a new constraint was incrementally added. The constraints allowed in LogiCalc and van Emden s system were quite simple by Prolog standards. They consisted of a single conjunction of conditions, which is what can be expressed by a single Prolog rule. However, Prolog itself allows for a set of rules to be defined (which allows for disjunctive conditions), and furthermore, the rules may be recursive. PERPLEX (Spenke & Beilken, 1986) allowed for new constraints to be defined in terms of old ones, using Prolog rules. Like its predecessors, PERPLEX allowed constraints to be defined using database relations. It also allowed for constraints based on built-in predicates, which could handle operations like arithmetic, string concatenation, and the like. Each built-in predicate had a set of legal input output modes, which identified each argument of the predicate as either accepting input or producing output. For example, the add predicate [where add (A1 A2 A3) means that A1 þ A2 ¼ A3], had four input output modes, namely (in in out), (in out in), (out in in), and (in in in). The way that constraint propagation was done was to find a constraint with all the input parameters for
3 An introduction to logical spreadsheets 215 one input output mode supplied, compute the outputs, and repeat. For user-defined predicates defined using Prolog rules, the set of legal input output modes was automatically computed. PERPLEX s handling of numerical constraints is simple, but incomplete. For example, consider the constraint þ(a1 A1 2). Though A1 must equal 1, PERPLEX cannot determine this. Note that something more sophisticated than input output modes is required to solve this constraint, since adding the input output mode (out out in) will also trigger propagation when þ(a1 B1 2) is given, which is not solvable. Similarly, consider constraints A2 2 and A2 2. In this case, it must be that A2 ¼ 2, but the constraints must be considered together to determine this, which PERPLEX does not do. A generalization of logic programming called constraint logic programming allows for sophisticated numerical and symbolic constraint-solving. While the most basic operation in logic programming is unification, in constraint logic programming, unification is replaced by constraint propagation, of which unification is a special case. There are many flavors of constraint propagation; in particular, there are versions that can handle linear constraints over real numbers, or over finite domains. Knowledgesheet (Gupta & Akhter, 2000) is a logical spreadsheet with a finite domain constraint logic programming engine as its constraint solver, developed in the late 1990s. In Knowledgesheet, the user assigns constraints over the cells, and associates each cell with a finite domain. The user may also assign values to cells. Once satisfied with the constraints, the user presses a solve button, at which time the constraints are compiled into a constraint logic program and solved, resulting in the rest of the cells being assigned values if a solution exists. Note that this is different than the previously described systems in that propagation does not occur automatically as values are assigned to cells and constraints are created and removed. This behavior is desirable for large problems that may take minutes or longer to solve. A logical spreadsheet system with similar capabilities to Knowledgesheet is CSSOLVER (Felfernig et al., 2003). As opposed to using a logic programming engine to solve constraints, however, a constraint programming engine is used. In addition to finding a solution that simply satisfies the constraints, CSSOLVER also allows the user to specify an optimization function and find an optimal solution. PrediCalc (Kassoff et al., 2005) is a logical spreadsheet designed for interactive constraintsolving. Cells in PrediCalc are represented as single-valued, unary relation constants, i.e. p(a) represents the fact that cell p contains the value a. To allow for a more compact representation of constraints, PrediCalc allows for structured cell names, i.e. q(r,c) might represent the name of a cell in row r and column c of table q. Constraints in PrediCalc are written in universal first-order logic. Unlike a traditional spreadsheet, PrediCalc s cells may be laid out arbitrarily on a canvas. This notion of liberated cells is also found in FINANZ (Fischer & Rathke, 1988). PrediCalc automatically resolves inconsistencies when it can; otherwise, it alerts the user to spreadsheet values that conflict with the constraints. Since the spreadsheet values may be inconsistent with the constraints, PrediCalc uses a paraconsistent entailment relation to determine the computed spreadsheet values. In 2004, believing that logical spreadsheets should soon be a commercial reality, Defense Advanced Research Projects Agency (DARPA) put out a Small Business Innovation Research call for proposals on deductive spreadsheets (Gunning, 2004). It read: One of the most useful and pervasive computing tools today is the spreadsheet. Novices and power users alike are able to use this flexible tool to do everything from performing simple arithmetic to programming complex financial analyses. We would like to develop an analogous tool for logical reasoning: a deductive spreadsheet that would allow users to define logic statements and inference rules for symbolic reasoning in the same way that current spreadsheet allow users to define mathematical formulae for numerical calculations. Such a tool could provide users with a powerful reasoning tool to capture decision rules, to perform what if analyses, and to translate and transform symbolic data from one form to another.
4 216 m. kassoff and a. valente In the end, four projects were funded: NEXCEL, LESS (Logic Embedded in SpreadSheets), XcelLog, and the unnamed system of Waltzman et al. All four systems extend Microsoft Excel. The familiarity of most end-users with Excel was an important criterion for DARPA, since its envisioned military uses of logical spreadsheets required quick decisions to be made in timecritical situations. In all four of these systems, the tabular format of the traditional spreadsheet, the immediate feedback that users receive when changing a value or a formula, and the familiar graphical user interface elements of current commercial spreadsheet systems are all preserved. Furthermore, in all cases the formula language is a conservative extension of the traditional language that users have come to expect from spreadsheet systems. Finally, in all cases the behavior of the spreadsheet is a simple extension of current behavior, namely that the formulas partition the cells into input cells and output cells, where the output cells are a function of the input cells. In addition to these research systems, Amzi!, a company that developed and commercializes a Prolog system, developed a logical spreadsheet add-on to their product called ARulesXL 1. ARulesXL came about as a support module to deal with the development of knowledge-based systems where spreadsheets were a natural candidate to allow end-users to enter rules e.g. an online mortgage pricing application where pricing experts use familiar spreadsheets to enter rules. The system provides ways for users to specify and query logical rules in an Excel spreadsheet, and has some similarities with the approach used in LESS. With this critical mass of recent work in logical spreadsheets, Mike Kassoff, Michael Genesereth, and Iliano Cervesato organized a workshop on Logical Spreadsheets at Stanford in late Almost all the research groups behind the recent systems were represented, and lively discussion ensued. A follow-up workshop was organized as part of the Association for the Advancement of Artificial Intelligence (AAAI) 2006 Fall Symposium series, and enhanced the scope of the debate to not only logical spreadsheets but also generally integrating reasoning into everyday applications (Bongard et al. 2006). 3 Articles in this special issue The articles in this special issue present a selection of the best recent work in logical spreadsheets. Iliano Cervesato presents NEXCEL, a logical spreadsheet implementation that allows users to specify regions of the spreadsheet as relational tables which can hold n-ary tuples. The tables are related using Datalog-style definitions, which use stratified negation semantics. NEXCEL allows for unsafe rules in certain situations, to allow for arithmetic spreadsheet formulas within the Datalog rules. An iteration bound is used to halt the otherwise potentially infinite computation of answers. NEXCEL also has facilities for explaining to the user why a certain tuple was or was not computed. Andre Valente, David Van Brackle, Hans Chalupsky, and Gary Edwards present LESS, their logical spreadsheet implementation. LESS also allows users to specify regions of the spreadsheet as relational tables that can hold n-ary tuples. Indeed, LESS is quite flexible in its knowledge input mechanisms, allowing arbitrarily shaped regions of the spreadsheet to be translated into n-ary tuples or object definitions. LESS is built upon the PowerLoom knowledge representation and reasoning system (MacGregor et al., 1997), which allows for expressive types of knowledge such as meta-level statements, functional terms, and rules with complex subgoals and consequents, and supports natural deduction, equality reasoning and limited higher-order reasoning. Marcelo Tallis, Rand Waltzman, and Bob Balzer present a logical spreadsheet that allows for users to specify regions of the spreadsheet as class tables, which allow for the natural representation of subject predicate object triples. This system is actually a framework that allows for any number of reasoners to be plugged in to it, to demonstrate its flexibility it has been successfully connected to both a Prolog reasoner and a Rete-based rule engine. 1
5 An introduction to logical spreadsheets 217 C. R. Ramakrishnan, I. V. Ramakrishnan, and David Warren present XcelLog, which also uses class tables to represent subject predicate object triples. It is built on top of a tabled Prolog engine, though this fact is hidden from the user, who writes formulas using cell references only. The effect is a user interface which allows that the user to produce chain Datalog queries intermixed with traditional spreadsheet formulas. Michael Kassoff, and Michael Genesereth present PrediCalc, a constraint-based logical spreadsheet that allows for inconsistency. PrediCalc is built upon the Epilog model elimination theoremprover developed at the Stanford Logic Group. PrediCalc treats cells as single-valued unary relations and allows for clausal constraints to be placed across the cells. PrediCalc uses a paraconsistent entailment relation to compute the consequences of the spreadsheet values. 4 Dimensions of logical spreadsheets Logical spreadsheet implementations differ in what benefits they intend to bring, and to whom. Some of the implementations discussed above are intended to extend or improve on spreadsheets; some are intended to extend or improve on logic systems. Some of these capabilities are evolutionary in the sense that they gently extend the spreadsheet paradigm, while others provide either a more radical departure from the spreadsheet paradigm or use spreadsheets more as an inspiration than a point of departure. Some of the ways in which the applications above extend or improve on spreadsheets are: reduce errors in spreadsheet design (by checking errors or limiting the ways in which users make mistakes); make it easier to perform some common spreadsheet tasks (e.g. specifiy certain constraints or queries); allow users to specify what they intend more declaratively; provide a different/complementary abstraction; make it easier to perform certain tasks (e.g. query across tables); make it easier to express/use complex (business) rules, and make them more readable and maintainable; use logic to debug and reason about spreadsheet contents; add more powerful, expressive modeling capabilities through logic expressions; additional new reasoning capabilities (e.g. constraint reasoning); help users build models in spreadsheets. Some of the ways in which the applications above extend or improve on logic systems are: using spreadsheets as a platform for deploying knowledge-based systems reduce barriers to deployment by incorporating the knowledge-based systems into the users existing tool set; using spreadsheets for input and/or output providing users a familiar user interface to enter knowledge and data; reduce the learning curve for using logic systems by embedding logic into a familiar UI metaphor; using spreadsheets as a platform for knowledge acquisition elicit knowledge from users by leveraging the spreadsheet s natural table format and its read-write nature; using spreadsheets to provide additional financial/calculation capabilities not always available (or available with considerable effort) in logic systems. A second dimension in which logical spreadsheets vary is the intended user. This is important because different target users are assumed to be more or less familiarity with spreadsheets, or with logic. For instance, many applications mentioned above target spreadsheet users (and in particular Microsoft Excel users); some made assumptions as to whether the user would be a beginner, intermediate, or expert. Other applications target programmers who build spreadsheet applications
6 218 m. kassoff and a. valente and assumed the user would be able to do tasks such as simple programming (e.g. in Visual Basic). Some assumed the user would be knowledgeable in some vertical application domain (e.g. logistics, scheduling), while others assumed the user is a business analyst. Another dimension in which implementations differed was their interpretation of spreadsheet and logic. Some research groups interpreted spreadsheet as meaning only a spreadsheet-style user interface; others assumed spreadsheets to be any descendant of VisiCalc; still others concentrated on a specific system or implementation (most often Microsoft Excel, which is the most widely available implementation in the market). The meaning of logic also varied. The type of logic system used included logic programming systems, constraint reasoners, first-order (or even higher-order) logic systems, and specialized relational database systems with deductive capabilities. All of the above choices lead to other choices in user interface, and more specifically in how much to depart from (and integrate with) the spreadsheet paradigm. In some cases, implementers chose to make the logic functionality seamless with the spreadsheet implementation, e.g. by making it available through spreadsheet function libraries. Some chose to add user interface elements (menu items, keystrokes) that do not change the underlying functions. A popular choice was to add wizards and debugging tools, reflecting the assumption that logic would be too hard for spreadsheet users and needed to be hidden or carefully wrapped. Some implementations chose to take over the semantics and behavior of cells, for instance, making cells contain lists, logic objects, etc. A few implementations decided to take over the semantics and behavior of worksheets, e.g. by introducing a special type of worksheets. Finally, some implementations decided to take over the semantics and behavior of formulas, or introduce entirely new graphical user interface elements. 5 Conclusion Logical spreadsheets remain an interesting and fruitful area of research and development. Much work remains in making logical spreadsheets easy to use; in particular, writing and debugging complex logical rules can be a daunting task for the non-expert. Nonetheless, the systems detailed in this special issue show much promise in this regard, and if coupled with an appropriate level of marketing and business sophistication should find their killer app soon. References Bongard, J. et al Reports on the 2006 AAAI Fall Symposia. AI Magazine 28(1), Felfernig, A., Friedrich, G., Jannach, D., Russ, C. and Zanker, M developing constraint-based applications with spreadsheets. In Proceedings of the 16th International Conference on Industrial & Engineering Applications of Artificial Intelligence and Expert Systems (IEA/AIE 2003). Loughborough, UK, June 2003, pp Fischer, G. and Rathke, C Knowledge-based spreadsheets. In Proceedings of the 7th National Conference on Artificial Intelligence, St. Paul, Minnesota, August AAAI press, Menlo Park, CA pp Gunning, D Deductive spreadsheets. Defense Advanced Research Projects Agency Small Business Innovation Research Topic SB Gupta, G. and Akhter, S Knowledgesheet: A graphical spreadsheet interface for interactively developing a class of constraint programs. In Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages (PADL 00), Boston, Massachusetts, January Springer, Berlin, Germany pp Kassoff, M., Zen, L., Garg, A. and Genesereth, M. R PrediCalc: a logical spreadsheet management system. In Proceedings of the 31st International Conference on Very Large Data Bases, Trondheim, Norway, 30 August 2 September ACM, New York, NY pp Kriwaczek, F LogiCalc: a Prolog spreadsheet. Machine Intelligence, 11, MacGregor, R., Chalupsky, H. and Melz, E PowerLoom manual. University of Southern California. Available online at
7 An introduction to logical spreadsheets 219 Scaffidi, C., Shaw, M. and Myers, B Estimating the numbers of end users and end user programmers. In Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing. IEEE Computer Society, Los Alamitos, CA pp Spenke, M. and Beilken, C A spreadsheet interface for logic programming. In Bice, K. and Lewis, C. H. (eds.), Proceedings of the ACM CHI 89 Human Factors in Computing Systems, Austin, Texas, 30 April 4 June ACM press, New York, NY pp van Emden, M., Ohki, M. and Takeuchi, A Spreadsheets with incremental queries as a user interface for logic programming. New Generation Computing 4(3),
ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm
ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm Siddharth Chitnis, Madhu Yennamani, Gopal Gupta Department of Computer Science The University of Texas at Dallas Richardson,
ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm
ExSched: Solving Constraint Satisfaction Problems with the Spreadsheet Paradigm Siddharth Chitnis, Madhu Yennamani, Gopal Gupta Department of Computer Science The University of Texas at Dallas Richardson,
Developing constraint-based applications with spreadsheets
Developing constraint-based applications with spreadsheets A. Felfernig, G. Friedrich, D. Jannach, C. Russ, and M. Zanker Computer Science and Manufacturing Universität Klagenfurt A-9020 Klagenfurt, Austria
THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS
THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS David L. Spooner Computer Science Department Rensselaer Polytechnic Institute Troy, New York 12180 The object-oriented programming
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining
Extend Table Lens for High-Dimensional Data Visualization and Classification Mining CPSC 533c, Information Visualization Course Project, Term 2 2003 Fengdong Du [email protected] University of British Columbia
Technology WHITE PAPER
Technology WHITE PAPER What We Do Neota Logic builds software with which the knowledge of experts can be delivered in an operationally useful form as applications embedded in business systems or consulted
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
BET : An Inductive Logic Programming Workbench
BET : An Inductive Logic Programming Workbench Srihari Kalgi, Chirag Gosar, Prasad Gawde Ganesh Ramakrishnan, Kekin Gada, Chander Iyer, Kiran T.V.S, and Ashwin Srinivasan Department of Computer Science
A View Integration Approach to Dynamic Composition of Web Services
A View Integration Approach to Dynamic Composition of Web Services Snehal Thakkar, Craig A. Knoblock, and José Luis Ambite University of Southern California/ Information Sciences Institute 4676 Admiralty
Data Validation with OWL Integrity Constraints
Data Validation with OWL Integrity Constraints (Extended Abstract) Evren Sirin Clark & Parsia, LLC, Washington, DC, USA [email protected] Abstract. Data validation is an important part of data integration
Commercial Database Software Development- A review.
Commercial Database Software Development- A review. A database software has wide applications. A database software is used in almost all the organizations. Over 15 years many tools have been developed
User Studies of an Interdependency-Based Interface for Acquiring Problem-Solving Knowledge
User Studies of an Interdependency-Based Interface for Acquiring Problem-Solving Knowledge Jihie Kim and Yolanda Gil USC/Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 99 {jihie,gil}@isi.edu
An XML Framework for Integrating Continuous Queries, Composite Event Detection, and Database Condition Monitoring for Multiple Data Streams
An XML Framework for Integrating Continuous Queries, Composite Event Detection, and Database Condition Monitoring for Multiple Data Streams Susan D. Urban 1, Suzanne W. Dietrich 1, 2, and Yi Chen 1 Arizona
Cassandra. References:
Cassandra References: Becker, Moritz; Sewell, Peter. Cassandra: Flexible Trust Management, Applied to Electronic Health Records. 2004. Li, Ninghui; Mitchell, John. Datalog with Constraints: A Foundation
Interactive Graphic Design Using Automatic Presentation Knowledge
Interactive Graphic Design Using Automatic Presentation Knowledge Steven F. Roth, John Kolojejchick, Joe Mattis, Jade Goldstein School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213
Overview of the TACITUS Project
Overview of the TACITUS Project Jerry R. Hobbs Artificial Intelligence Center SRI International 1 Aims of the Project The specific aim of the TACITUS project is to develop interpretation processes for
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
Spreadsheet Programming:
Spreadsheet Programming: The New Paradigm in Rapid Application Development Contact: [email protected] www.knowledgedynamics.com Spreadsheet Programming: The New Paradigm in Rapid Application Development
Finite Mathematics Using Microsoft Excel
Overview and examples from Finite Mathematics Using Microsoft Excel Revathi Narasimhan Saint Peter's College An electronic supplement to Finite Mathematics and Its Applications, 6th Ed., by Goldstein,
End-User Development Framework with DSL for Spreadsheets
End-User Development Framework with DSL for Spreadsheets Vineta Arnicane University Of Latvia, Faculty of Computing, Raina blvd. 19, Riga, Latvia [email protected] Abstract. We propose a framework
DEALMAKER: An Agent for Selecting Sources of Supply To Fill Orders
DEALMAKER: An Agent for Selecting Sources of Supply To Fill Orders Pedro Szekely, Bob Neches, David Benjamin, Jinbo Chen and Craig Milo Rogers USC/Information Sciences Institute Marina del Rey, CA 90292
Computer Skills: Levels of Proficiency
Computer Skills: Levels of Proficiency September 2011 Computer Skills: Levels of Proficiency Because of the continually increasing use of computers in our daily communications and work, the knowledge of
A Visual Language Based System for the Efficient Management of the Software Development Process.
A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università
µz An Efficient Engine for Fixed points with Constraints
µz An Efficient Engine for Fixed points with Constraints Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura Manchester University and Microsoft Research Abstract. The µz tool is a scalable, efficient
The ProB Animator and Model Checker for B
The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,
BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE... 4. By using the RETE Algorithm... 5. Benefits of RETE Algorithm...
1 Table of Contents BUSINESS RULES CONCEPTS... 2 BUSINESS RULES... 2 RULE INFERENCE CONCEPT... 2 BASIC BUSINESS RULES CONCEPT... 3 BUSINESS RULE ENGINE ARCHITECTURE... 4 BUSINESS RULE ENGINE ARCHITECTURE...
A Software Tool for. Automatically Veried Operations on. Intervals and Probability Distributions. Daniel Berleant and Hang Cheng
A Software Tool for Automatically Veried Operations on Intervals and Probability Distributions Daniel Berleant and Hang Cheng Abstract We describe a software tool for performing automatically veried arithmetic
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
Jieh Hsiang Department of Computer Science State University of New York Stony brook, NY 11794
ASSOCIATIVE-COMMUTATIVE REWRITING* Nachum Dershowitz University of Illinois Urbana, IL 61801 N. Alan Josephson University of Illinois Urbana, IL 01801 Jieh Hsiang State University of New York Stony brook,
A Knowledge-based System for Translating FOL Formulas into NL Sentences
A Knowledge-based System for Translating FOL Formulas into NL Sentences Aikaterini Mpagouli, Ioannis Hatzilygeroudis University of Patras, School of Engineering Department of Computer Engineering & Informatics,
72. Ontology Driven Knowledge Discovery Process: a proposal to integrate Ontology Engineering and KDD
72. Ontology Driven Knowledge Discovery Process: a proposal to integrate Ontology Engineering and KDD Paulo Gottgtroy Auckland University of Technology [email protected] Abstract This paper is
Ontologies for Enterprise Integration
Ontologies for Enterprise Integration Mark S. Fox and Michael Gruninger Department of Industrial Engineering,University of Toronto, 4 Taddle Creek Road, Toronto, Ontario M5S 1A4 tel:1-416-978-6823 fax:1-416-971-1373
CS510 Software Engineering
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
Spreadsheets have become the principal software application for teaching decision models in most business
Vol. 8, No. 2, January 2008, pp. 89 95 issn 1532-0545 08 0802 0089 informs I N F O R M S Transactions on Education Teaching Note Some Practical Issues with Excel Solver: Lessons for Students and Instructors
Microsoft Access Basics
Microsoft Access Basics 2006 ipic Development Group, LLC Authored by James D Ballotti Microsoft, Access, Excel, Word, and Office are registered trademarks of the Microsoft Corporation Version 1 - Revision
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
one Introduction chapter OVERVIEW CHAPTER
one Introduction CHAPTER chapter OVERVIEW 1.1 Introduction to Decision Support Systems 1.2 Defining a Decision Support System 1.3 Decision Support Systems Applications 1.4 Textbook Overview 1.5 Summary
Calc Guide Chapter 9 Data Analysis
Calc Guide Chapter 9 Data Analysis Using Scenarios, Goal Seek, Solver, others Copyright This document is Copyright 2007 2011 by its contributors as listed below. You may distribute it and/or modify it
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
Deploying Artificial Intelligence Techniques In Software Engineering
Deploying Artificial Intelligence Techniques In Software Engineering Jonathan Onowakpo Goddey Ebbah Department of Computer Science University of Ibadan Ibadan, Nigeria Received March 8, 2002 Accepted March
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
A Generalized PERT/CPM Implementation in a Spreadsheet
A Generalized PERT/CPM Implementation in a Spreadsheet Abstract Kala C. Seal College of Business Administration Loyola Marymount University Los Angles, CA 90045, USA [email protected] This paper describes
MOCET A Certification Scaffold for Critical Software
MOCET A Certification Scaffold for Critical Software Herbert Hecht SoHaR Incorporated Culver City CA 90230 [email protected] 1. Introduction A common problem besetting certification activities, to whatever
Lesson 13. Basic Productivity Applications
1 Lesson 13 Basic Productivity Applications Lesson 13, Basic Productivity Applications, is the first lesson in Software Applications, the fifth unit within the AOIT Principles of Information Technology
A static representation for ToonTalk programs
A static representation for ToonTalk programs Mikael Kindborg [email protected] www.ida.liu.se/~mikki Department of Computer and Information Science Linköping University Sweden Abstract Animated and static
SPSS: Getting Started. For Windows
For Windows Updated: August 2012 Table of Contents Section 1: Overview... 3 1.1 Introduction to SPSS Tutorials... 3 1.2 Introduction to SPSS... 3 1.3 Overview of SPSS for Windows... 3 Section 2: Entering
Extending Data Processing Capabilities of Relational Database Management Systems.
Extending Data Processing Capabilities of Relational Database Management Systems. Igor Wojnicki University of Missouri St. Louis Department of Mathematics and Computer Science 8001 Natural Bridge Road
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
How To Use Neural Networks In Data Mining
International Journal of Electronics and Computer Science Engineering 1449 Available Online at www.ijecse.org ISSN- 2277-1956 Neural Networks in Data Mining Priyanka Gaur Department of Information and
Functional Programming. Functional Programming Languages. Chapter 14. Introduction
Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The
Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha
Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry
Business Intelligence for Excel
Business Intelligence for Excel White Paper Business Intelligence Technologies, Inc. Copyright 2002 All Rights Reserved Business Intelligence for Excel This white paper concerns business intelligence for
Extracting Business. Value From CAD. Model Data. Transformation. Sreeram Bhaskara The Boeing Company. Sridhar Natarajan Tata Consultancy Services Ltd.
Extracting Business Value From CAD Model Data Transformation Sreeram Bhaskara The Boeing Company Sridhar Natarajan Tata Consultancy Services Ltd. GPDIS_2014.ppt 1 Contents Data in CAD Models Data Structures
2. The Language of First-order Logic
2. The Language of First-order Logic KR & R Brachman & Levesque 2005 17 Declarative language Before building system before there can be learning, reasoning, planning, explanation... need to be able to
Microsoft Excel 2010 Part 3: Advanced Excel
CALIFORNIA STATE UNIVERSITY, LOS ANGELES INFORMATION TECHNOLOGY SERVICES Microsoft Excel 2010 Part 3: Advanced Excel Winter 2015, Version 1.0 Table of Contents Introduction...2 Sorting Data...2 Sorting
Using Excel for Statistical Analysis
2010 Using Excel for Statistical Analysis Microsoft Excel is spreadsheet software that is used to store information in columns and rows, which can then be organized and/or processed. Excel is a powerful
ORACLE PLANNING AND BUDGETING CLOUD SERVICE
ORACLE PLANNING AND BUDGETING CLOUD SERVICE ENTERPRISE WIDE PLANNING, BUDGETING AND FORECASTING KEY FEATURES Multi-dimensional / multi user planning with a powerful business rules engine Flexible workflow
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
An Activity-Based Costing Assessment Task: Using an Excel Spreadsheet
e-journal of Business Education & Scholarship of Teaching Vol. 3, No. 1, 2009, pp:25-35. http://www.ejbest.org Instructional Note An Activity-Based Costing Assessment Task: Using an Excel Spreadsheet Damian
DiPro - A Tool for Probabilistic Counterexample Generation
DiPro - A Tool for Probabilistic Counterexample Generation Husain Aljazzar, Florian Leitner-Fischer, Stefan Leue, and Dimitar Simeonov University of Konstanz, Germany Abstract. The computation of counterexamples
Functional Modelling in secondary schools using spreadsheets
Functional Modelling in secondary schools using spreadsheets Peter Hubwieser Techn. Universität München Institut für Informatik Boltzmannstr. 3, 85748 Garching [email protected] http://ddi.in.tum.de
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
Syntax Check of Embedded SQL in C++ with Proto
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful
An Easier Way for Cross-Platform Data Acquisition Application Development
An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers
Architecture Artifacts Vs Application Development Artifacts
Architecture Artifacts Vs Application Development Artifacts By John A. Zachman Copyright 2000 Zachman International All of a sudden, I have been encountering a lot of confusion between Enterprise Architecture
A Structured Methodology For Spreadsheet Modelling
A Structured Methodology For Spreadsheet Modelling ABSTRACT Brian Knight, David Chadwick, Kamalesen Rajalingham University of Greenwich, Information Integrity Research Centre, School of Computing and Mathematics,
A View Integration Approach to Dynamic Composition of Web Services
A View Integration Approach to Dynamic Composition of Web Services Snehal Thakkar University of Southern California/ Information Sciences Institute 4676 Admiralty Way, Marina Del Rey, California 90292
Implementation of hybrid software architecture for Artificial Intelligence System
IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.1, January 2007 35 Implementation of hybrid software architecture for Artificial Intelligence System B.Vinayagasundaram and
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective
Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT
IMPROVING DATA INTEGRATION FOR DATA WAREHOUSE: A DATA MINING APPROACH
IMPROVING DATA INTEGRATION FOR DATA WAREHOUSE: A DATA MINING APPROACH Kalinka Mihaylova Kaloyanova St. Kliment Ohridski University of Sofia, Faculty of Mathematics and Informatics Sofia 1164, Bulgaria
Rules and Business Rules
OCEB White Paper on Business Rules, Decisions, and PRR Version 1.1, December 2008 Paul Vincent, co-chair OMG PRR FTF TIBCO Software Abstract The Object Management Group s work on standards for business
A Framework of Context-Sensitive Visualization for User-Centered Interactive Systems
Proceedings of 10 th International Conference on User Modeling, pp423-427 Edinburgh, UK, July 24-29, 2005. Springer-Verlag Berlin Heidelberg 2005 A Framework of Context-Sensitive Visualization for User-Centered
IRON SPEED DESIGNER BUILD AND DEPLOY DATABASE APPLICATIONS WITHOUT PROGRAMMING. October 2010
IRON SPEED DESIGNER BUILD AND DEPLOY DATABASE APPLICATIONS WITHOUT PROGRAMMING "We have developed over 10 applications using Iron Speed Designer that are used daily by operations and maintenance personnel.
Using Excel for Data Manipulation and Statistical Analysis: How-to s and Cautions
2010 Using Excel for Data Manipulation and Statistical Analysis: How-to s and Cautions This document describes how to perform some basic statistical procedures in Microsoft Excel. Microsoft Excel is spreadsheet
npsolver A SAT Based Solver for Optimization Problems
npsolver A SAT Based Solver for Optimization Problems Norbert Manthey and Peter Steinke Knowledge Representation and Reasoning Group Technische Universität Dresden, 01062 Dresden, Germany [email protected]
Section 1 Spreadsheet Design
Section 1 Spreadsheet Design Level 6 Spreadsheet 6N4089 Contents 1. Assess the suitability of using a spreadsheet to achieve a given requirement from a given specification... 1 Advantages of using Spreadsheet
International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14
International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14 PREDICTION OF RATE OF IMPROVEMENT OF SOFTWARE QUALITY AND DEVELOPMENT EFFORT ON THE BASIS OF DEGREE OF EXCELLENCE
Manage Software Development in LabVIEW with Professional Tools
Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition
Collecting Polish German Parallel Corpora in the Internet
Proceedings of the International Multiconference on ISSN 1896 7094 Computer Science and Information Technology, pp. 285 292 2007 PIPS Collecting Polish German Parallel Corpora in the Internet Monika Rosińska
Software Engineering. Software Development Process Models. Lecturer: Giuseppe Santucci
Software Engineering Software Development Process Models Lecturer: Giuseppe Santucci Summary Modeling the Software Process Generic Software Process Models Waterfall model Process Iteration Incremental
Semantic Stored Procedures Programming Environment and performance analysis
Semantic Stored Procedures Programming Environment and performance analysis Marjan Efremov 1, Vladimir Zdraveski 2, Petar Ristoski 2, Dimitar Trajanov 2 1 Open Mind Solutions Skopje, bul. Kliment Ohridski
What s new in Excel 2013
Work Smart by Microsoft IT What s new in Excel 2013 The first thing that you see when you open Microsoft Excel 2013 spreadsheet software is a new look. It s cleaner, but it s also designed to help you
Improving Decision Making and Managing Knowledge
Improving Decision Making and Managing Knowledge Decision Making and Information Systems Information Requirements of Key Decision-Making Groups in a Firm Senior managers, middle managers, operational managers,
Programming Languages
Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:
CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing
CS Master Level Courses and Areas The graduate courses offered may change over time, in response to new developments in computer science and the interests of faculty and students; the list of graduate
Application Design: Issues in Expert System Architecture. Harry C. Reinstein Janice S. Aikins
Application Design: Issues in Expert System Architecture Harry C. Reinstein Janice S. Aikins IBM Scientific Center 15 30 Page Mill Road P. 0. Box 10500 Palo Alto, Ca. 94 304 USA ABSTRACT We describe an
Fixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
