An ontology of computing What is an ontology? • An ontology is a specification of a conceptualization. • A specification of a representational vocabulary for a shared domain of discourse — definitions of classes, relations, functions, and other objects — is called an ontology. http://tomgruber.org/writing/ontolingua-kaj-1993.htm Artificial Intelligence Intelligent Agents Personal Assistants Semantic Webs Semantic Web Connects Knowledge Ontologies Taxonomies The Global Brain Enterprise Minds Group Minds Knowledge Management Knowledge Bases The Metaweb Connects Intelligence The “Relationship” Web Lifelogs Semantic Weblogs Enterprise Portals Search Engines Marketplaces Auctions Wikis Content Portals Weblogs Web Sites The Web Connects Information Databases Groupware PIMs Pub-Sub File Servers USENET Conferencing P2P File-sharing Decentralised Communities Community Portals Social Software Connects People eMail “Push” RSS Smart Marketplaces IM Permission to re-use with attribution to: Nova Spivack (2004) http://www.novaspivack.com/science/new-version-of-my-metaweb-graph-the-future-of-the-net Social Networks From Wikipedia, the free encyclopedia Ontologies are the structural frameworks for organizing information and are used in artificial intelligence, the Semantic Web, systems engineering, software engineering, biomedical informatics, library science, enterprise bookmarking, and information architecture as a form of knowledge representation about the world or some part of it. The creation of domain ontologies is also fundamental to the definition and use of an enterprise architecture framework. Why - Computing Ontology • Beyond the general reasons for an ontology of anything • Computing is a broad category of disciplines – – – – – – – – Computer Science Computer Engineering Software Engineering Artificial Intelligence Information Science Information Systems Information Technology More … Good for increased attention to special topics within the domains Potentially weakens the voice of the overall domain The ACM Computing Classification System • First version: 1964 http://www.acm.org/about/class/cr64 – Three layer tree • • • • • • • 1. General Topics and Education 2. Computing Milieu 3. Applications 4. Programming 5. Mathematics of Computation 6. Design and Construction 7. Analog Computers ACM CCS - 1991 • Four Layer Tree (11 top layer categories) – – – – – – – – – – – A. General Literature B. Hardware C. Computer Systems Organization D. Software E. Data F. Theory of Computation G. Mathematics of Computing H. Information Systems I. Computing Methodologies J. Computer Applications K. Computing Milieu ACM CCS - 1998 • Revised over time. 11 top level categories. 4 level tree. – – – – – – – – – – – A. General Literature B. Hardware C. Computer Systems Organization D. Software E. Data F. Theory of Computation G. Mathematics of Computing H. Information Systems I. Computing Methodologies J. Computer Applications K. Computing Milieu No change at the top level ACM CCS 2012 • • • • • • • • • • • • • • General and reference Now 14 top level categories Hardware Computer systems organization Depth varies, up to 6 levels Networks Software and its engineering Interactive interface available at Theory of computation http://dl.acm.org/ccs.cfm Mathematics of computing Information systems Security and privacy Human-centered computing Computing methodologies Applied computing Social and professional topics Proper nouns: People, technologies and companies An exercise • Go to http://www.computingportal.org/cs2013 • Strawman document • Go to (document open to anyone with the link)https://docs.google.com/document/d/1MLdpEYfGdbfA txhMX4-tk3sI7ckBYQoWqqN0Jq9PDKs/edit • With a partner, choose a topic area to classify – Go to Blackboard and fill in the classification for your topic – Then choose another topic and repeat. Please do not choose both at once, so that there is more freedom of choice for everyone.