1 Knowledge, Action and Systems Some emerging foundational issues in Computing … Can Information Studies Help? Eric Yu Faculty of Information Studies University.

Slides:



Advertisements
Similar presentations
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
ISBN Chapter 3 Describing Syntax and Semantics.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Lecture 2: Do you speak Java?. From Problem to Program Last Lecture we looked at modeling with objects! Steps to solving a business problem –Investigate.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Application architectures
© Anselm SpoerriInfo + Web Tech Course Information Technologies Info + Web Tech Course Anselm Spoerri PhD (MIT) Rutgers University
Lecture 2: Do you speak Java?. From Problem to Program Last Lecture we looked at modeling with objects! Steps to solving a business problem –Investigate.
Describing Syntax and Semantics
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Course: Introduction to Computers
Statistical Natural Language Processing. What is NLP?  Natural Language Processing (NLP), or Computational Linguistics, is concerned with theoretical.
CS 331, Principles of Programming Languages Introduction.
Computer Programming My Home Page My Paper Job Description Computer programmers write, test, and maintain the detailed instructions, called programs,
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
CCSA 221 Programming in C CHAPTER 2 SOME FUNDAMENTALS 1 ALHANOUF ALAMR.
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
Some Thoughts to Consider 6 What is the difference between Artificial Intelligence and Computer Science? What is the difference between Artificial Intelligence.
PROGRAMMING LANGUAGES The Study of Programming Languages.
Introduction to Computer and Programming CS-101 Lecture 6 By : Lecturer : Omer Salih Dawood Department of Computer Science College of Arts and Science.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
1 Systems Analysis and Design in a Changing World, Fourth Edition.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Designing and implementing of the NQF Tempus Project N° TEMPUS-2008-SE-SMHES ( )
Purpose of study A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world. Computing.
Knowledge representation
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
DEPARTMENT OF COMPUTER SCIENCE & TECHNOLOGY FACULTY OF SCIENCE & TECHNOLOGY UNIVERSITY OF UWA WELLASSA 1 CST 221 OBJECT ORIENTED PROGRAMMING(OOP) ( 2 CREDITS.
Categories of Vocabulary Compatibility Dmitry Lenkov Oracle.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
SOFTWARE DESIGN.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
Copyright © 2007 Addison-Wesley. All rights reserved.1-1 Reasons for Studying Concepts of Programming Languages Increased ability to express ideas Improved.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
1 ISA&D29-Oct ISA&D29-Oct-13 Systems Analyst: problem solver IT and Strategic Planning.
Formal Verification Lecture 9. Formal Verification Formal verification relies on Descriptions of the properties or requirements Descriptions of systems.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
1 The Nonaka-Takeuchi Model of Knowledge Management “In an economy where the only certainty is uncertainty, the one sure source of lasting competitive.
Theory of Knowledge Creation: Two Dimensions  Epistemological Explicit knowledge Tacit knowledge  Ontological Individual Group Organization Inter-organization.
Towards the better software metrics tool motivation and the first experiences Gordana Rakić Zoran Budimac.
1 The main topics in AI Artificial intelligence can be considered under a number of headings: –Search (includes Game Playing). –Representing Knowledge.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Syntax and Semantics CIS 331 Syntax: the form or structure of the expressions, statements, and program units. Semantics: the meaning of the expressions,
CS 331, Principles of Programming Languages Chapter 1.
Introduction to Computers Lesson 13B. home Syntax Programming language rules.
 Programming - the process of creating computer programs.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Introduction to Language Programming Hierarchy of programming lang. Based on machine independences: 1. Machine language 2. Assembly language 3. Higher.
Understanding Computing and Programming at KS2 Debs Ayerst.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
CS223: Software Engineering
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Application architectures Advisor : Dr. Moneer Al_Mekhlafi By : Ahmed AbdAllah Al_Homaidi.
Informatics for Scientific Data Bio-informatics and Medical Informatics Week 9 Lecture notes INF 380E: Perspectives on Information.
CS220:INTRODUCTION TO SOFTWARE ENGINEERING CH1 : INTRODUCTION 1.
Advanced Computer Systems
CSCI-235 Micro-Computer Applications
The Systems Engineering Context
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Presentation transcript:

1 Knowledge, Action and Systems Some emerging foundational issues in Computing … Can Information Studies Help? Eric Yu Faculty of Information Studies University of Toronto February 2001

2 Synopsis Fundamental role of “language” in computing Traditional challenge in computing: “complexity”  originally refers to computational complexity - #computations to solve a certain problem e.g., theorem proving in math. logic e.g., encryption Emerging challenges: more complexity 1.higher-level processing – semantics, intentionality 2.need “communication” across “communities” 3.evolution – coordinating, reconciling changes Info. studies is also very much concerned about language  controlled vocabulary, subject categories, systems of concepts,… Can Info. Studies principles be applied to challenges in computing?

3 What is Computing? getting a machine to do things for you based on symbols Actio n User Representation, Language

4 Instructions to a machine need to be expressed in some “language” that can be “understood” and executed by the machine input data output data program I want … Programer Process

5 Programs can be generated by other programs, allowing “higher-level” languages to be used program program in higher-level language I want … Programer input data output data Compiler Process Process compiler program Compiler Programer

6 Many levels of language Requirements language/notation (e.g., SADT, i*) … Design language/notation (e.g., UML) … Database language (e.g., SQL) Communication Protocols (e.g., HTTP) Programming language (e.g., Java) Intermediate code (e.g., Java byte code) Machine language (e.g., for Intel Pentium III) Translate from higher to lower-level language to get to “implementation” Each level has a different subject matter

7 Why translate? Why implementation? computational power  digital electronics  gains by orders of magnitude, not % leverage comes from transformation of knowledge into action  knowledge is embedded in programs – originating from programmers, designers, analysts, domain experts, users… radical, structural changes  info revolution, information society, knowledge economy,… implementability comes at the expense of “expressiveness”  need to restrict the language so that its meaning can be unambiguously specified, and therefore executed.  Each higher level of language (and corresponding abstract machine) offers greater degree of expressivenss.

8 Many levels of language Human natural language Specialized technical language (e.g., medical prescription, molecular biology, immunology) …. Requirements language/notation (e.g., SADT, i*) … Design language/notation (e.g., UML) … Database language (e.g., SQL) Communication Protocols (e.g., HTTP) Programming language (e.g., Java) Intermediate code (e.g., Java byte code) Machine language (e.g., for Intel Pentium III) Also gains “executability” by restricting language

9 new challenges 1.limits in achieving higher-level “knowledge” representation  “Formal Methods” (variants of math. logic) not gaining wide acceptance, despite high computational leverage  Semi-formal methods are widely used (e.g., UML) 2. communication across different communities, domains, due to connectivity, networking… 3. evolution – coordination, reconciling changes over time, across communities, at different rates  e.g., legacy reengineering – extracting meaning from code

10 Reaching out along three dimensions Major successes in computing have been at the bottom stretch of the vertical dimension. Distribution (across communities) Evolution (across time) Implementation (across abstraction levels)

11 Can Information Studies Help? LIS has been concerned with making concept systems work on a large scale, world-wide, across many communities, managing evolution over long periods of time.  In computing, dozens (?) of concepts are invented per project per day per level of abstraction  Need to define meanings – social aspects of meaning, interpretation.  Need connection to action  XML is only a basis, e.g., WML VoiceXML … Domain ontologies

12 Many major advances in computing have come from other fields Chomsky – linguistics Newell – psychology Simon – organizational behaviour … Berners-Lee – physics (as a power user ) Information Studies have a lot to offer to enrich computing

13 Conversely… Information Science can benefit by better leveraging computational power Information Studies is concerned with the entire knowledge cycle. Computing has focused primarily on “combination” – manipulating explicit knowledge to produce other explicit knowledge. Computational power works best with highly restrictive languages (formal syntax, mathematical logics). But computational power is increasingly used to support other phases in the knowledge cycle. The key is to be able “translate” knowledge from higher level languages (less restrictive) to lower level languages which can be directly connected to action (“executable” by machine). TO FROM TACITEXPLICIT TACIT SocializationExternalization EXPLICIT InternalizationCombination Nonaka 1994

14 Recap: What is Computing? getting a machine to do things for you based on symbols language knowledge action Computing is not just about computers, or about technology in the narrow sense. It is very much about language, and about connecting knowledge (expressed in some language) to action.