Abstract
This paper is about computer-based problem solving methodology. The issue addressed is: can we develop a computer-based problem-solving methodology which is not based on computer programming? The answer we provide to this question is YES. This raises the next question: if we do not use programming how do we communicate problem solving algorithms to the computer? The answer to this question is: (1) develop software tools that support domain algorithm execution in the problem domain environment (no programming as usual) and (2) allow problem-domain experts to express their problem-solving algorithms using the natural language of their problem domains. We achieve this computer-based problem solving methodology by computational emancipation of the application domain, which consists of:
-
1
Characterize the application domain in terms of concepts that are universal in the domain, have standalone computing meaning, and are composable.
-
1
Structure the application domain using an ontology where terms denoting domain characteristic concepts are associated with computer artifacts implementing them.
-
1
Develop a domain-dedicated virtual machine that executes domain algorithms expressed in the natural language of the domain (without asking to encode them into programs) and implement it on the physical computers existent in the computer-network.
With this methodology computers execute algorithms whose expressions are conceptual, similar to the way human brain would execute them.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Andrews, T., et al.: Business process execution language for web services, http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/
Apt, K.: From Logic Programming to PROLOG. Prentice Hall, Englewood Cliffs (1996)
Backus, J.: Can Programming be Liberated from the von Neumann Style? A Functional Style and its Algebra of Programs. Comm. ACM 21(8), 613–641 (1978)
Bateman, J.A.: Ontology construction and natural language. In: Proceedings of the International Workshop on Formal Ontology, Padova, Italy, pp. 83–93 (March 1993)
Berners-Lee, T., et al.: Rfc 2396: Uniform Resource Identifiers (URI): Generic Syntax (1998), www.ietf.org/rfc/rfc2396.txt
Bos, J., Markert, K.: Recognizing textual entailment with logical inference. In: HLT 2005: Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing, Morristown, NJ, USA, pp. 628–635 (2005)
Curtis, D.E., Rus, T.: Application driven software for chemistry. In: 2008 IEEE International Conference on Electro/Information Technology, Proceedings, Iowa State University, IA, USA (2008)
Dimitriev, S.: Language Oriented Programming: The Next Programming Paradigm, http://www.onboard.jetBrains.com
Gal, A., Modica, G., Jamil, H., Eyal, A.: Automatic ontology matching using application semantics. AI Magazine, 21–31 (2005)
Gruber, T.R., Olsen, G.R.: An ontology for engineering mathematics. In: Proceedings of the 4th International Conference on Principles of Knowledge Representation and Reasoning (KR 1994), Bonn, Germany, May 24-27, 1994, pp. 258–269. Morgan Kaufmann, San Francisco (1994)
Gurevich, Y.: Sequential Abstract-State Machines capture Sequential Algorithms. ACM Transactions on Computational Logic 1(1), 77–111 (2000)
Harel, D.: On Visual Formalisms. Comm. of the ACM 31(5), 514–529 (1988)
Harel, D.: Can Programming Be Liberated, Period? Computer 41(1), 28–37 (2008)
Hilbert’s program. Stanford Encyclopedia of Philosophy, http://plato.stanford.edu/entries/hilbert-propgram
Hans, K., Uwe, R.: From Discourse To Logic. Kluwer Academic Publishers, Dordrecht (1993)
IBM. Autonomic Computing, www.research.ibm.com/autonomic/
Jonassen, D.H., Carr, C.S.: Mindtools: Affording Multiple Knowledge Representations for Learning. In: Computers as Cognitive Tools. No More Walls, vol. 2, pp. 165–196. Lawrence Erlbaum Associates, Mahwah (2000)
Krill, P.: Complexity is killing IT, say analysts, http://www.techworld.com
McBride, B.: The Resource Description Framework (RDF) and its Vocabulary Description Language RDFS. In: Handbook on Ontologies, pp. 51–65. Springer, Heidelberg (2004)
Mernik, M., Heering, J., Soane, A.M.: When and how to develop domain-specific languages. ACM Computing Surveys 37(4), 316–344 (2005)
Noy, N.F., McGuinness, D.L.: A guide to creating your first ontology, http://ksl.stanford.edu/people/dlm/papers/ontology-tutorial-noy-mcguinness-abstract.html
Nagel, E., Newman, J.R.: Gödel’s Proof. New York University Press (2001)
Popek, G.J., Goldberg, R.P.: Formal requirements for virtualizable third generation architectures. Comm. of the A.C.M. 17(7), 412–421 (1974)
Polya, G.: How To Solve It. Princeton University Press, Princeton (1973)
Rus, T., Curtis, D.E.: Application driven software development. In: International Conference on Software Engineering Advances, Proceedings, Tahiti (2006)
Rus, T., Curtis, D.E.: Toward application driven software technology. In: The 2007 World Congress in Computer Science, Computer Engineering, and Applied Computing, WORLDCOMP 2007, Las Vegas, USA (2007)
Rus, T., et al.: TICS: A component based language processing environment, http://www.cs.uiowa.edu/~rus
Rus, T.: IPCsem: An Interactive LR Parser Construction with Semantic Functions, http://www.cs.uiowa.edu/~rus
Rus, T., Halverson, T.: A Language Independent Scanner Generator, http://www.cs.uiowa.edu/~rus
Smith, D.C., Cypher, A.: Making programming easier for children. Morgan Kaufmann Series In Interactive Technologies (1998)
Shneiderman, B.: Creativity support tools – accelerating discovery and innovation. Comm. of the ACM 50(12), 10–31 (2007)
Simonyi, C.: The Death of Computer Languages, The Birth of Intentional Programming. Technical Report MSR–TR–95–52, Microsoft (1995)
Staab, S., Studer, R. (eds.): Handbook on Ontologies. Springer, Heidelberg (2004)
Tekinay, S., Wing, J.: Cyber-enabled discovery and innovation. Computing Research News 19(5) (November 2007)
Ward, M.P.: Language-Oriented Programming. Software — Concepts and Tools 15(4), 147–161 (1994)
Wing, J.M.: Computational thinking. Comm. of the ACM 49(3), 33–35 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rus, T. (2008). Liberate Computer User from Programming. In: Meseguer, J., Roşu, G. (eds) Algebraic Methodology and Software Technology. AMAST 2008. Lecture Notes in Computer Science, vol 5140. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-79980-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-79980-1_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-79979-5
Online ISBN: 978-3-540-79980-1
eBook Packages: Computer ScienceComputer Science (R0)