Abstract
Abstract State Machines have long played a valuable role as a catalyst for inquiry into software problems. In the ASM literature, however, there is a tendency to omit reflection on the process of ASM-based design and analysis, focusing instead on final, complete ASM products. As educators, we believe it is important to expose our students to a full, explicit process of inquiry, using ASMs as a vehicle to motivate active questioning. We report on our experiences in bringing ASM-based inquiry to the classroom. A course plan that combines ASMs and Problem Frames has proved effective in eliciting critical inquiry among students.
Keywords
- formal methods
- software requirements
- education
- refinement
- inquiry
This is a preview of subscription content, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Bella, G., Riccobene, E.: Formal Analysis of the Kerberos Authentication System. Journal of Universal Computer Science 3(12), 1337–1381 (1997)
Berry, D.M.: The Importance of Ignorance in Requirements Engineering. Journal of Systems and Software 28(2), 179–184 (1995)
Bloom, B.S.: Taxonomy of Educational Objectives. In: Handbook I: The Cognitive Domain. Longman, White Plains, New York (1956)
Börger, E.: Why Use Evolving Algebras for Hardware and Software Engineering? In: Bartosek, M., Staudek, J., Wiedermann, J. (eds.) SOFSEM 1995. LNCS, vol. 1012, pp. 236–271. Springer, Heidelberg (1995)
Börger, E., Rosenzweig, D.: The WAM – Definition and Compiler Correctness. In: Beierle, L.C., Pluemer, L. (eds.) Logic Programming: Formal Methods and Practical Applications. North-Holland Series in Computer Science and Artificial Intelligence (1994)
Börger, E., Stärk, R.: Abstract State Machines: A Method for High-Level System Design and Analysis. Springer, Heidelberg (2003)
Börger, E., Stärk, R., Schmid, J.: Java and the Java Virtual Machine: Definition, Verification, Validation. Springer, Heidelberg (2001)
Börger, E., Schulte, W.: Initialization Problems for Java. Software: Principles and Tools 19(4), 175–178 (2000)
Brady, A., Seigel, M., Vosecky, T., Wallace, C.: Addressing Communication Issues in Software Development through Case Studies. In: Conference on Software Engineering Education & Training (2007)
Brady, A., Seigel, M., Vosecky, T., Wallace, C.: Speaking of Software: Case Studies in Software Communication. In: Ellis, H.J.C., Demurjian, S.A., Naveda, J.F. (eds.) Software Engineering: Effective Teaching and Learning Approaches and Practices (2008)
Burge, J.E., Carroll, J.M., McCall, R., Mistrík, I.: Rationale-Based Software Engineering. Springer, Heidelberg (2008)
Carroll, J.M., Rosson, M.B.: A Case Library for Teaching Usability Engineering: Design Rationale, Development, and Classroom Experience. Journal of Educational Resources in Computing 5(1), 3 (2005)
DeSanto, F.: Gurevich Abstract State Machines. Communicator: EECS Department Newsletter, University of Michigan (December 1997)
Flower, L.: Problem Solving Strategies for Writing in College and Community. Wadsworth Publishing, Belmont (1997)
Gurevich, Y.: Evolving Algebras: An Attempt to Discover Semantics. In: Rozenberg, G., Salomå A. (ed.) Current Trends in Theoretical Computer Science, pp. 266–292. World Scientific, Singapore (1993)
Gurevich, Y.: Sequential Abstract State Machines Capture Sequential Algorithms. ACM Transactions on Computational Logic 1(1), 77–111 (2000)
Gurevich, Y., Huggins, J.K.: The Semantics of the C Programming Language. In: Martini, S., Börger, E., Kleine Büning, H., Jäger, G., Richter, M.M. (eds.) CSL 1992. LNCS, vol. 702, pp. 274–308. Springer, Heidelberg (1993)
Gurevich, Y., Schulte, W., Wallace, C.: Investigating Java Concurrency using Abstract State Machines. In: Gurevich, Y., Kutter, P.W., Odersky, M., Thiele, L. (eds.) ASM 2000. LNCS, vol. 1912. Springer, Heidelberg (2000)
Huggins, J.K., van Campenhout, D.: Specification and Verification of Pipelining in the ARM2 RISC Microprocessor. ACM Transactions on Design Automation of Electronic Systems 3(4), 563–580 (1998)
Huggins, J.K., Wallace, C.: An Abstract State Machine Primer. Technical Report 02-04, Computer Science Department, Michigan Technological University (2002)
Jackson, D., Wing, J.: Lightweight Formal Methods. IEEE Computer 29(4), 21–22 (1996)
Jackson, M.: Problem Frames. Addison-Wesley, Reading (2000)
Johnson, R.R.: User Centered Technology: A Rhetorical Theory for Computers and Other Mundane Artifacts. SUNY Press (1998)
Newell, A., Simon, H.A.: Human Problem Solving. Prentice-Hall, Englewood Cliffs (1972)
Pólya, G.: How to Solve It. Princeton University Press, Princeton (1948)
Wallace, C., Wang, X., Bluth, V.: A Course in Problem Analysis and Structuring through Problem Frames. In: Conference on Software Engineering Education and Training (2006)
Wright, D.R.: The Decision Pattern: Capturing and Communicating Design Intent. In: ACM International Conference on Design of Communication, pp. 69–74 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Huggins, J.K., Wallace, C. (2010). Abstract State Machines and the Inquiry Process. In: Blass, A., Dershowitz, N., Reisig, W. (eds) Fields of Logic and Computation. Lecture Notes in Computer Science, vol 6300. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15025-8_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-15025-8_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15024-1
Online ISBN: 978-3-642-15025-8
eBook Packages: Computer ScienceComputer Science (R0)
