
Steven D. Johnson
| Work: |
Home: |
| Computer Science Department |
615 N. Plymouth Rd. |
| 215 Lindley Hall |
Bloomington, IN 47408 |
| Indiana University |
|
| Bloomington, IN 47405-4101 |
|
| |
|
|
| NET: |
sjohnson@cs.indiana.edu |
jrdeam@cs.indiana.edu |
| TEL: |
812-855-2567 |
812-332-6960 |
| FAX: |
812-855-4829 |
|
| WWW: |
www.cs.indiana.edu/~sjohnson |
Steven D. Johnson is a professor of
computer science in the Indiana University College of Arts and Sciences.
He received a
B.A. in mathematics and Russian from Depauw University in 1970, an
M.A. in mathematics from Indiana University in 1977, and the Ph.D. in
computer science from Indiana University in 1983. His Ph.D. dissertation,
Synthesis of Digital Designs from Recursion Equations, was an ACM
Distinguished Dissertation in 1984. His research since 1983 has been
in the area of formal methods applied to systems. He is a member of
the Association for Computing Machinery (ACM), the Institute of
Electrical and Electronics Engineers (IEEE) Computer Society,
the International Federation for Information Processing (IFIP)
Working Group 10.5 on Electronic System Engineering, and the SIG-CHARME
special interest group on formal methods (which he currently chairs).
Johnson is on the editorial board of
Formal Methods for System Design;
and he has served on the program committees of the IEEE
International Conference on Computer Design (ICCD),
the IFIP Conferences on Computer Hardware Description
Languages and their Applications (CHDL) and Correct Hardware Methods (CHARME),
The International Conference
on Formal Methods in Computer Aided Design (FMCAD),
and numerous other forums in the area of formal methods for systems.
He was Program Chair of CHDL'95 and Conference Cochair of FMCAD 2000.
Dr. Johnson was born October 11, 1948.
He is married to Jennifer R. Deam and has a son, Matthew, and a daughter,
Verity.
| Ph.D |
1983 |
Indiana University (Computer Science) |
| M.S. |
1976 |
Indiana University (Computer Science) |
| M.A. |
1972 |
Indiana University (Mathematics) |
| B.A. |
1970 |
DePauw University (Mathematics and Russian) |
| 2001- | now |
Professor of Computer Science, Indiana University |
| | 2003 |
(3 wks.) Visiting Scientist, National Aeronautics Institute, Hampton VA. |
| 1990- | 2001 |
Associate Professor of Computer Science, Indiana University |
| 1996- | 1997 |
Visiting Scholar, ECE/CS Department, University of Cincinnati |
| 1993- | 1995 |
Chairman of Computer Science Department, Indiana University |
| 1984- | 1990 |
Assistant Professor of Computer Science, Indiana University |
| 1983- | 1984 |
Visiting Assistant Professor of Computer Science, Indiana University |
| 1982- | 1983 |
Visiting Lecturer, Department of Computer Science, Indiana University |
| 1977- | 1979 |
Member of Technical Staff, Bell Telephone Laboratories,
Holmdel, NJ |
- [42]
- Steven D. Johnson.
Formal methods in embedded design.
Computer, 36:104-106, November 2003.
- [41]
- Danko D. Antolovic,
Bryce Himebaugh, and Steven D. Johnson.
Skeyeball: Real-time vision system for an autonomous model airplane.
In Proceedings of the 22nd Digital Avionics Systems Conference
(DASC'03), October 2003.
Indianapolis, Indiana.
(PDF)
- [40]
- Danko Antolovic, Bryce
Himebaugh, and Steven D. Johnson.
The Skeyeball tracking project.
16th Florida Conference on Recent Advances in Robotics (FCRAR'2003),
small tt http://www.eng.fau.edu/conf/fcrar2003/i, May 2003.
8-9 May 2003, Florida Atlantic University Seatech campus, Dania Beach,
Florida.
(PDF)
- [39]
- Steven D. Johnson.
View from the fringe of the
fringe.
In Tiziana Margaria and Thomas Melham, editors, 11th Advanced Research
Working Conference on Correct Hardware Design and Verification Methods,
CHARME 2001, Livingston, Scotland, Proceedings, volume 2144 of
Lecture Notes in Computer Science, pages 1-12. Springer-Verlag,
2001.
Invited paper.
(PDF)
- [38]
- Steven D. Johnson, Yanhoung A.
Liu, and Yuchen Zhang.
A systematic incrementalization
technique and its application to hardware design.
International Journal on Software Tools for Technology Transfer,
4, 2003.
(PDF)
- [37]
- Alex Tsow and Steven D. Johnson.
Visualizing system factorizations with behavior tables.
In Warren A. Hunt, Jr. and Steven D. Johnson, editors, Formal Methods
in Computer-Aided Design, Third International Conference, FMCAD 2000, Austin,
TX, USA, November 1-3, 2000, Proceedings, volume 1954 of Lecture
Notes in Computer Science, pages 523-541, Heidelberg Berlin, 2000.
Springer-Verlag.
(PDF)
- [36]
- Steven D. Johnson and Alex Tsow.
Algebra of behavior
tables.
In C. M. Holloway, editor, Lfm2000: Fifth NASA Langley Formal Methods
Workshop, pages 23-34, 2000.
NASA Conference Publication NASA/CP-2000-210100. Proceedings of the 5th NASA
Langley Formal Methods Workshop, Williamsburg, Virginia, 13-15 June, 2000,
http://shemesh.larc.nasa.gov/fm/Lfm2000/.
(PDF)
- [35]
- Steven D. Johnson, Yanhong A.
Liu, and Yuchen Zhang.
A systematic incrementalization technique and its application to hardware
design.
In L. Pierre and T. Kropf, editors, Correct Hardware Design and
Verification Methods (CHARME'99), volume 1703 of Lecture Notes
in Computer Science, pages 334-337, Berlin, 1999. Springer.
10th IFIP WG 10.5 Advanced Research Working Conference, CHARME '99, Bad
Herrenalb, Germany, September 1999, Proceedings.
(PDF)
- [34]
- Steven D. Johnson.
A workshop on formal methods
education: an aggregation of opinions.
International Journal on Software Tools for Technology Transfer,
2(3):203-207, November 1999.
- [33]
- Steven D. Johnson, Warren P. Alexander,
Shiu-Kai Chin, and Ganesh Gopalakrishnan.
Report on the 21st century engineering consortium workshop.
http://www.cs.indiana.edu/formal-methods-education/xxiec/report.html, March
1999.
Report of the meeting held March 1998 at Melbourne, Florida.
- [32]
- Steven D. Johnson and Paul S. Miner.
Integrated reasoning support in system design: design derivation and theorem
proving.
In Hon F. Li and David K. Probst, editors, Advances in Hardware Design
and Verification (CHARME'97), pages 255-272. Chapman-Hall, 1997.
IFIP TC10 WG 10.5 International Conference on Correct Hardware and Verification
Methods, 16-18 October 1997, Montreal, Canada.
- [31]
- Steven D. Johnson.
A tabular language for
system design.
In C. Michael Holloway and Kelly J. Hayhurst, editors, Lfm97: Fourth NASA
Langley Formal Methods Workshop, September 1997.
NASA Conference Publication 3356, Proceedings of the 4th NASA Langley Formal
Methods Workshop, Hampton, Virginia 10-12 September, 1997,
http://archive.larc.nasa.gov/shemesh/Lfm97/.
- [30]
- Paul S. Miner and Steven D. Johnson.
Verification of
an optimized fault-tolerant clock synchronization circuit.
In Mary Sheeran and Satnam Singh, editors, Designing Correct
Circuits, Electronic Workshops in Computing,
http://www.ewic.org.uk/ewic/workshop/view.cfm/DCC-96. Springer,
September 1996.
(PDF)
- [29]
- Steven D. Johnson, Gerard
Allwein, and K. Jon Barwise.
Toward the rigorous use of diagrams in reasoning about hardware.
In Gerard Allwein and Jon Barwise, editors, Logical Reasoning with
Diagrams. Oxford University Press, 1996.
- [28]
- Kathryn Fisler and Steven D.
Johnson.
Integrating design and verification envrionments through a logic supprting
hardware diagrams.
In Procedings of the 1995 IFIP International Conference on Computer
Hardware Description Languages and Their Applications, pages 669-674.
IEEE Cat. No. 95TH8102, September 1995.
- [27]
- M. Esen Tuna, Kamlesh Rath, and
Steven D. Johnson.
Specification
and synthesis of bounded indirection.
In Proceedings of the Fifth Great Lakes Symposium on VLSI (GLSVLS
I'95), pages 86-89. IEEE, March 1995.
- [26]
- Steven D. Johnson,
Paul S. Miner, and Albert Camilleri.
Studies of the single pulser in various reasoning systems.
In Ramayya Kumar and Thomas Kropf, editors, Theorem Provers in Circuit
Design, Theory Practice and Experience (TPCD'94), volume 901 of
Lecture Notes in Computer Science, pages 209-227. Springer,
1995.
Second International Conference, TPCD '94, Bad Herrenalb, Germany, September
26-28, 1994, Proceedings.
(PDF)
- [25]
- Paul S. Miner, Shyamsundar
Pullela, and Steven D. Johnson.
Interaction of formal design systems in the development of a fault-tolerant
clock synchronization circuit.
In 13th Symposium on Reliable Distributed Systems (RDS'94),
pages 128-137, 1994.
(PDF)
- [24]
- M. Esen Tuna, Steven D.
Johnson, and Bob Burger.
Continuations in
hardware-software codesign.
In Proceedings of the 1994 IEEE International Conference on Computer
Design (ICCD'94), pages 264-269. IEEE Cat. No. 94CH35712, October
1994.
- [23]
- Zheng Zhu and Steven D. Johnson.
Capturing synchronization specifications for sequential compositions.
In Proceedings of the 1994 IEEE International Conference on Computer
Design (ICCD'94), pages 117-121. IEEE Cat. No. 94CH35712, October
1994.
- [22]
- Kamlesh Rath, Venkatesh
Choppella, and Steven D. Johnson.
Decomposition of sequential behavior using interface specification and
complementation.
VLSI Design, 3(3-4):347-358, 1995.
- [21]
- Kamlesh Rath, M. Esen Tuna, and
Steven D. Johnson.
Behavior tables:
A basis for system representation and transformational system synthesis.
In Proceedings of the IEEE/ACM International Conference on Computer Aided
Design (ICCAD'93), pages 736-740. IEEE Cat. No. 93CH3344-9,
November 1993.
- [20]
- Kamlesh Rath, Bhaskar Bose, and
Steven D. Johnson.
Derivation of a
DRAM memory interface by sequential decomposition.
In Proceedings of the International Conference on Computer Design
(ICCD'93), pages 438-441. IEEE Cat. No. 93CH3335-7, October
1993.
- [19]
- Bhaskar Bose, M. Esen Tuna, and
Steven D. Johnson.
System factorization in codesign: A case study of the use of formal techniques
to achieve hardware-software decomposition.
In Proceedings of the International Conference on Computer Design
(ICCD'93), pages 458-461. IEEE Cat. No. 93CH3335-7, October 1993.
- [18]
- Bhaskar Bose, Steven D.
Johnson, and Shyam Pullela.
Integrating
boolean verification with formal derivation.
In D. Agnew, L. Claesen, and R. Camposano, editors, Computer Hardware
Description Languages and their Applications (CHDL'93), volume A-32
of IFIP Transactions, pages 127-134. North-Holland, 1993.
Proceedings of the 11th IFIP WG 10.2 International Conference on Computer
Hardware Description Languages and their Applications - CHDL'93, sponsored by
IFIP WG 10.2 and incooperation with IEEE COMPSOC, Ottawa, Ontario, Canada,
26-28 April, 1993.
- [17]
- Bhaskar Bose and Steven D. Johnson.
DDD-FM9001:
Derivation of a verified microprocessor. an exercise in integrating
verification with formal derivation.
In G. Milne and L. Pierre, editors, Correct Hardware Design and
Verification Methods (CHARME'93), volume 683 of Lecture Notes
in Computer Science, pages 191-202. Springer, 1993.
IFIP WG 10.2 Advanced Research Working Conference, CHARME'93, Arles, France,
May 24-26, 1993, Proceedings.
- [16]
- Zheng Zhu and Steven D. Johnson.
Automatic
synthesis of sequential synchronizations.
In D. Agnew, L. Claesen, and R. Camposano, editors, Computer Hardware
Description Languages and their Applications (CHDL'93), volume A-32
of IFIP Transactions, pages 285-301. North-Holland, 1993.
Proceedings of the 11th IFIP WG 10.2 International Conference on Computer
Hardware Description Languages and their Applications - CHDL'93, sponsored by
IFIP WG 10.2 and incooperation with IEEE COMPSOC, Ottawa, Ontario, Canada,
26-28 April, 1993.
- [15]
- Kamlesh Rath and Steven D. Johnson.
Toward a basis for protocol specification and process decomposition.
In D. Agnew, L. Claesen, and R. Camposano, editors, Computer Hardware
Description Languages and their Applications (CHDL'93), volume A-32
of IFIP Transactions, pages 169-186. North-Holland, 1993.
Proceedings of the 11th IFIP WG 10.2 International Conference on Computer
Hardware Description Languages and their Applications - CHDL'93, sponsored by
IFIP WG 10.2 and incooperation with IEEE COMPSOC, Ottawa, Ontario, Canada,
26-28 April, 1993.
- [14]
- Steven D. Johnson and Bhaskar Bose.
A system for
mechanized digital design derivation.
In IFIP and ACM/SIGDA International Workshop on Formal Methods in VLSI
Design, 1991.
IFIP WG 10.2 conference series. Available as Indiana University Computer
Science Department Technical Report No. 323 (rev. 1997).
- [13]
- Zheng Zhu and Steven D. Johnson.
An example of
interactive hardware transformation.
In P. A. Subramanyam, editor, IFIP and ACM/SIGDA International Workshop
on Formal Methods in VLSI Design, January 1991.
IFIP WG 10.2 conference series.
- [12]
- Zheng Zhu and Steven D. Johnson.
An algebraic framework for data abstraction in hardware description.
In Garaint Jones and Mary Sheeran, editors, Designing Correct Circuits
(DCC'90), Workshops in Computing. Springer, 1990.
Workshop jointly organised by the Universities of Oxford and Glasgow, 26-28
September 1990, Oxford.
- [11]
- John Franco, Daniel P.
Friedman, and Steven D. Johnson.
Multi-way streams in scheme.
Computer Languages, 15(2):109-125, 1990.
- [10]
- Steven D. Johnson, R.M.
Wehrmeister, and B. Bose.
On the interplay of synthesis and verification: Experiments with the FM8501
processor description.
In Claesen, editor, Formal VLSI Specification and Synthesis, VLSI
Design Methods - I, pages 385-404. North-Holland, 1990.
Proceedings of the IFIP WG 10.2/WG 10.5 International Worksho p on Applied
Formal Methods for Correct VlSI Design, Sponsored by IMEC, Houtha len,
Belgium, 13-16 November, 1989.
- [9]
- Zheng Zhu and Steven D. Johnson.
An algebraic characterization of structural synthesis for hardware.
In L.J.M. Claesen, editor, Formal VLSI Specification and Synthesis,
VLSI Design Methods - I. North-Holland, 1990.
Proceedings of the IFIP WG 10.2/WG 10.5 International Workshop on Applied
Formal Methods for Correct VlSI Design, Sponsored by IMEC, Houthalen,
Belgium, 13-16 November, 1989.
- [8]
- C.D. Boyer and Steven D. Johnson.
Using the digital design derivation system: case study of a VLSI garbage
collector.
In Darringer and Ramming, editors, Ninth International Symposium on
Computer Hardware Description Languages (CHDL'89), Amsterdam, 1989.
IFIP WG 10.2, Elsevier.
- [7]
- Steven D. Johnson.
Manipulating logical organization with system factorizations.
In M. Leeser and G. Brown, editors, Hardware Specification, Verification
and Synthesis: Mathematical Aspects, volume 408 of Lecture Notes
in Computer Science, pages 260-281. Springer, July 1989.
Mathematical Sciences Institute Workshop, Cornell University, Ithaca, New York,
USA, July 1989, Proceedings.
(PDF)
- [6]
- Steven D. Johnson and C.D. Boyer.
Modelling transistors applicatively.
In G.J. Milne, editor, The Fusion of Hardware Design and
Verification, pages 397-420. North-Holland, 1988.
Proceedings of the IFIP WG 10.2 Working Conference on The Fusion of Hardware
Design and Vierification, Glasgow, Scotland, 4-6 July, 1988.
- [5]
- Steven D. Johnson, B. Bose, and
C.D. Boyer.
A tactical framework for digital design.
In Birtwistle and Subramanyam, editors, VLSI Specification, Verification
and Synthesis, pages 349-383. Kluwer, Boston, 1988.
- [4]
- Steven D. Johnson.
Digital design in a functional calculus.
In G. Milne and P.A. Subramanyam, editors, Formal Aspects of VLSI
Design, pages 153-178. North-Holland, Amsterdam, 1986.
Proceedings of tthe 1985 Edingurgh Workshop on VLSI, Edinburgh, Scotl and,
U.K.
- [3]
- Steven D. Johnson.
Applicative programming and digital design.
In Proc. Eleventh Annual ACM SIGACT-SIGPLAN Symposium on Principles of
Programming (POPL'84), pages 218-227, 1984.
- [2]
- Steven D. Johnson.
Synthesis of Digital Designs from Recursion Equations.
MIT Press, Cambridge, 1984.
- [1]
- Steven D. Johnson.
Circuits and systems: Implementing communication with streams.
IMACS Transactions on Scientific Computation, II:311-319,
1983.
- [3]
- Warren A. Hunt, Jr. and Steven D. Johnson,
editors.
Formal Methods in Computer-Aided Design, Third International Conference,
FMCAD 2000, Austin, TX, USA, November 1-3, 2000, Proceedings,
volume 1954 of Lecture Notes in Computer Science, Heidelberg
Berlin, 2000. Springer-Verlag.
- [2]
- Steven D. Johnson, editor.
Computer Hardware Description Languages and Their Applications (CHD
L'95). IFIP WG 10.2/5, IEEE Cat. No. 95TH8102, August 1995.
Proceedings of the IFIP International Conference held in conjunction with
ASP-DAC'95 and VLSI'95, August 29-Sept 1, Makuhari Messe, Chiba, Japan.
- [1]
- Steven D. Johnson.
Synthesis of Digital Designs from Recursion Equations.
MIT Press, Cambridge, 1984.
- [20]
- Steven D. Johnson.
Photograph, Contexts 2(2):70.
- [19]
- Steven D. Johnson and Eric Jeschke.
Modeling with streams in
daisy/the schemengine project.
In M. Sheeran and T. Melham, editors, Designing Correct Circuits,
(DCC'02). ETAPS 2002, 2002.
Presentation at the Workshop on Designing Correct Circuits, held on 6-7 April
2002 in Grenoble, France.
(PDF)
- [18]
- Steven D. Johnson.
Formal
derivation of a scheme computer.
Technical Report 544, Indiana University Computer Science Dept., Bloomington,
Indiana, September 2000.
http://www.cs.indiana.edu/ftp/techreports/.
- [17]
- Caleb Hess, Steven D. Johnson, Robert W.
Wehrmeister, and Ingo Cyliax.
Logic engine user manual.
Electronically published for various Indiana University Computer Science
Department courses.
Revised yearly.
- [16]
- Steven D. Johnson, Caleb Hess, Bryce Himebaugh,
Franklin Prosser, David Winkel, and David Wilson.
B441/541 laboratory experiments.
Electronically published for Indiana University Computer Science Department
courses.
Revised yearly.
- [15]
- Steven D. Johnson.
Franklin Prosser.
In In Honor of Retiring Faculty: April 14, 1999. Indiana
University, 1999.
- [14]
- Ingo Cyliax, Steven D. Johnson, and Bhaskar
Bose.
Arriving at
FPGA based hardware unix-encription using iterated codesign methods.
Technical Report 496, Indiana University Computer Science Dept., Bloomington,
Indiana, October 1997.
- [13]
- Steven D. Johnson, Gary B. Parker, Ingo Cyliax,
and David Braun.
Using cyclic
genetic algorithms to reconfigure hardware controlers for robots.
Technical Report 494, Indiana University Computer Science Department,
Bloomington, Indiana, US, December 1993.
- [12]
- Kamlesh Rath, M. Esen Tuna, and Steven D.
Johnson.
An introduction
to behavior tables.
Technical Report 392, Indiana University Computer Science Department,
Bloomington, Indiana, US, December 1993.
- [11]
- Steven D. Johnson et. al.
Computer science department handbook.
Indiana University Computer Science Department.
1993-1994 edition revised with Leslie Ortquist and Dedaimia Whitney;
1992-1993 edition revised with Dedaimia Whitney; 1991-1992 edition
cowritten with Pam Larson, Pam Milam and Dedaimia Whitney.
- [10]
- Kamlesh Rath, Ignacio Celis, R. M. Wehrmeister,
and Steven D. Johnson.
RTBA: A
generic bit-sliced bus architecture for data path synthesis.
Technical Report 321, Indiana University Computer Science Department,
Bloomington, Indiana, US, December 1990.
- [9]
- Steven D. Johnson and Bhaskar Bose.
A system for
digital design derivation.
Technical Report 289, Indiana University Computer Science Department,
Bloomington, Indiana, US, August 1989.
- [8]
- Steven D. Johnson.
Daisy, DSI
and LiMP: Issues in architecture for suspending construction.
Technical Report 288, Indiana University Computer Science Department,
Bloomington, Indiana, US, August 1989.
- [7]
- Steven D. Johnson.
How Daisy is
lazy: Suspending construction at target levels.
Technical Report 286, Indiana University Computer Science Department,
Bloomington, Indiana, US, August 1989.
- [6]
- Steven D. Johnson.
Daisy programming
manual.
http://www.cs.indiana.edu/hyplan/sjohnson/dsi/.
- [5]
- Steven D. Johnson.
Storage
allocation for list multiprocessing.
Technical Report 168, Indiana University Computer Science Department,
Bloomington, Indiana, US, March 1985.
- [4]
- Steven D. Johnson.
Synthesis of
digital designs from recursion equations.
Technical Report 141, Indiana University Computer Science Department,
Bloomington, Indiana, US, May 1983.
Revision published by MIT Press in 1984.
- [3]
- A. T. Kohlstaedt and Steven D. Johnson.
DSI program description.
Technical Report 120, Indiana University Computer Science Department,
Bloomington, Indiana, US, November 1981.
- [2]
- Steven D. Johnson.
Connection networks for output-driven list multiprocessing.
Technical Report 114, Indiana University Computer Science Department,
Bloomington, Indiana, US, 1981.
- [1]
- Steven D. Johnson.
An interpretive model for a language based on suspended construction.
Technical report, Indiana University Computer Science Department, Bloomington,
Indiana, US, 1977.
MS thesis.
- 1.
- The Digital Design Derivation System. A transformation system
for deriving hardware system descriptions from functional expressions.
Implemented in Scheme, Emacs, and Tcl/TK.
- 2.
- The Daisy/DSI Programming System. A concurrent functional
list-processing language. Implemented in C under Unix/Linux.
- 3.
- Research prototypes and case studies. Artifacts b-f
were implemented using the Digital Design Derivation
system to demonstrate formal methods research.
- g.
- Skeyeball airborne vision system (2002)
http://www.cs.indiana.edu/hmg/skeyeball/.
- f.
- Schemachine computer (1994), CPU, hardware garbage collector,
and custom memory architecture, realized in FPGAs and PLDs; functioned
as a stand-alone computer, and tested against its own executable
specification.
- e.
- FM9001 microprocessor (1993), realized in Actel FPGAs; tested
against the LSI gate-array version developed by Warren Hunt.
- d.
- Hardware garbage collector (1989), realized in VLSI
using PLAs; partially tested on a testbench.
- e.
- SECD computer (1988), realized in MSI and PLD, with CPU
and hardware garbage collector; functioned as a stand-alone computer.
- b.
- Hardware garbage collector (1988), realized in MSI
and PLD, and tested against a production implementation of Scheme.
- a.
- Parallel DSI/Daisy (1987), implemented in C on a 32-node
BBN Butterfly multiprocessor, including a parallelized heap allocator,
garbage collector, and Daisy language implementation. The purpose of
the system was performance measurement of a truly parallel computational
model.
- 4.
- Instructional laboratories and platforms.
- d.
- Visual tracking laboratory for a course entitled Real-Time and
Embedded Systems, based on an XESS XSV Virtex 800 development
board and a PC operating under RTLinux.
- c.
- Servobot hexapod controller (1997) realized in reconfigurable
FPGAs. A robotics exhibit introducing K-12 students to robotics and control.
- b.
- TrCAS instructional lab (2000), hardware infrastructure for
a symmetric collision avoidance system, mounted on HO-guage model
railroad engines; realized with PIC microprocessor, Xilinx FPGA,
and infra-red range-finding sensor.
- a.
- The Logic Engine.
Originally developed by Franklin P. Prosser and David E. Winkel, I am
doing a fourth-generation redesign. An environment for hardware prototyping,
including a project board providing power, clocking, microprogram sequencing,
and I/O for hardware development; and connectivity to a software environment
for design development and testing. Instructional version includes a series
of laboratories for a full-year course on digital design. Also used in
research. http://www.cs.indiana.edu/hmg/le/LEv4/
-
Modeling with Streams in Daisy and The SchemEngine Project
Workshop on Designing Correct Circuits, held on 6-7 April 2002 in Grenoble,
France. See item [19] of Other Publications.
-
View from the fringe of the fringe.
Invited presentation to a joint session of CHARME 2001 and TPHOLs 2001 conferences,
Royal Museum of Scotland, Edinburgh, Scotland, September 5, 2001. See publicat
ion [39].
-
A systematic incrementalization technique and its application to hardware
design. 10th IFIP WG 10.5 Conference on Correct Hardware Design and Verification Methods (CHARME'99)
See publication [35].
-
Evolving Cyclic Behaviors in Hexapod Robots. DePauw University, Apri l3, 1998.
-
Using cyclic genetic algorithms to reconfigure hardware controllers for robots.
Refereed poster presentation at IEEE Conference on Field Programmable Gate
Arrays (FPGA'97), Santa Monica, California, February 1997.
-
Integrated reasoning support in system design: Design derivation and theorem
proving. Advanced Research Working Conference on
Correct Hardware Design and Verification Methods (CHARME'97),
Montreal, October 18, 1997.
See publication [32].
-
A tabular language for system design.
Fourth NASA Langley Formal Methods Workshop,
September 10, 1997.
See publication [31].
-
Integrating design and verification environments through a logic supporting
hardware diagrams. International Conference on Hardware Description Languages
and their Applications (CHDL'95), August 30, 1995. See publication [28].
-
The Scheme Machine: a case study in progress of digital design derivation
at system levels.
Third NASA Formal Methods Workshop, Langley Research Center, Hampton Virginia,
May 10-12, 1995. Proceedings (visual materials) published as
NASA Conference Publication 10176.
-
Studies of the single-pulser in various reasoning systems.
Second IFIP International Conference on Theorem Provers in Circuit Design
(TPCD 94), Bad Harrenalb, Germany, September 1994. See publication [26].
-
Capturing synchronization specifications for sequential compositions.
International Conference on Computer Design (ICCD 94), Cambridge MA,
October 1994. See publication [23].
-
A taxonomy of hardware verification methods.
NSA Science Advisory Board study group on formal methods in hardware.
February 9-10, 1993, Ft. George G. Meade, MD.
-
Derivational techniques for hardware verification.
Second NASA Formal Methods Workshop, Langley Research Center,
August 11-13, 1992.
-
Derivational reasoning for digital-system verification.
NASA Langley Research Center, Hampton VA, February 22, 1992.
-
Heterogeneous reasoning in digital system design.
University of Cincinnati Dept. of Electrical Engineering, February 5, 1992.
-
Daisy/DSI - an environment for exploring near-functional parallelism.
University of Utah Computer Science Department, October 25, 1991.
-
Deductive and derivational reasoning in digital system design.
University of Utah Computer Science Department, October 24, 1991.
-
On the interplay of synthesis and verification: Experiments with the
FM8501 microprocessor description. IFIP WG 10.2/10.5 International
Workshop on Applied Formal Methods for Correct VLSI Design, Houthlaten,
Belgium, November 1989. See publication [10].
-
A system for digital design derivation.
Refereed abstract, the 1989 IEEE High Level Synthesis Workshop,
Kennebunkport, MA, October 1989 (See report [9]).
-
Manipulating logical organization with system factorizations,
Cornell Mathematical Sciences Institute Workshop on Specification,
Verification, and Synthesis, July 1989 (See publication [7]).
-
Hardware synthesis in the functional algebra.
IFIP WG 2.8 (functional programming) meeting, Mystic, Connecticut, May 1989.
-
Algebra for digital design synthesis and its relation to formal verification.
AT&T Bell Laboratories, Murray Hill, December 14, 1988.
-
The DSI model of concurrent graph processing.
1988 Apsenas Workshop on the Implementation of Lazy Functional Languages,
University of Chalmers, Goteberg, September 1988.
-
Modeling transistors applicatively.
IFIP WG10.2 Working Conference on Hardware, Glasgow, July 1988
(See publication [6]).
-
Research in digital design.
1988 IEEE VLSI Workshop, Clearwater Beach, March 1988.
-
Digital design derivation.
Digital Equipment Corp., Maynard, July 1987.
-
A tactical framework for digital design.
1987 Calgary Hardware Verification Workshop,
January 1987 (See publication [5]).
-
Research at Indiana University in hardware.
1985 IEEE Workshop on Computer Aided Design,
Santa Barbara, 1985.
-
Digital design based on a functional calculus.
Carnegie Mellon University, March 1985.
-
Digital design in a functional calculus.
IFIP WG 10.2 Workshop on VLSI, Edinburgh, 1985 (See publication [4]).
-
Applicative programming and digital design.
Eleventh Annual ACM SIGACT-SICPLAN Symposium on Principles of Programming
Languages, Salt Lake City, January 1984 (See publication [3]).
-
Ultra-reliable infrastructure for safety-critical applications.
IUCS System Seminar, October 30, 2003.
-
Skeyeball: vision based guidance for a UAV. IUCS Systems Seminar, October 2, 2003.
-
Research survey: Steven D. Johnson. IUCS research survey, March 2003.
-
Some background on modeling with streams. The IUCS Programming Languages
Seminar. November 20, 1998.
-
A basis for design derivation. The IUCS Applied Logic Lunch.
March 9, 1998.
-
A tool for design derivation. The IUCS Programming Languages Seminar.
March 13, 1998.
-
Introduction to design derivation I-IV.
University of Cincinnati, ECE/CS Department, System Design Group,
May 20, June 3, July 8, July 22, 1997.
-
Design derivation with behavior tables.
University of Cincinnati, ECE/CS Department, System Design Group,
October 10, 1996.
-
Digital design derivation: an illustrated introduction,
University of Cincinnati Department of Electrical and Computer Engineering,
System Design Group, November 29, 1995.
-
Review of CHDL'95.
Applied Logic Seminar, Indiana University Computer Science Department,
October 23, 1995.
-
An overview of hardware verification issues.
Indiana University
Computer Science Department Applied Logic Lunch, October 18, 1993.
-
Digital design derivation.
Berkeley CAD Seminar (ECS 298-11),
University of California at Berkeley Department
of Electrical Engineering, March 17, 1993.
-
Verifications of a microprocessor: two methods of proving hardware correct.
Indiana University Logic Group, October 1992.
-
Digital design derivation.
Indiana University Logic Group, February 1991.
-
Digital design derivation.
Indiana University Computer Science Department, November 1988.
-
Modeling transistors applicatively.
Indiana University Computer Science Department, June 1988.
-
Functional programming and its relation to design.
Indiana University Research Expo, April 1985.
-
Programming in Daisy, I & II.
Indiana University Computer Science Department, summer 1984.
-
DSI/Daisy: boxes, arrows and clouds in 1983 (!?).
Indiana University Computer Science Dept., July 1983.
-
Connection networks for output driven list multiprocessing.
ACM National Conference, St. Louis, 1981.
-
An intuitive look at frons.
Indiana University Computer Science Dept., 1980.
-
SIG-CHARME meeting, Portland Oregon, November 8, 2002.
-
SIG-CHARME meeting, Livingston, Scotland, September 6, 2001.
-
Formal Methods World Congress, Toulouse, September 20-24, 1999.
-
Design Automation Conference, New Orleans, June 21-25, 1999.
-
IFIP Working Group 10.5 meeting, New Orleans, June 22, 1999.
-
IFIP Working Group 10.5 meeting, Palo Alto, California, November 7, 1998.
-
International Conference on Formal Methods in Computer-Aided Design.
Palo Alto, California, November 4-6, 1998.
-
NASA/LRC Formal Methods Group PVS School, Langley, Virginia, August 3-6, 1998.
-
Xilinx University Program training workshop, Philadelphia, Pennsylvania,
June 24, 1998.
-
21st Century Engineering Consortium Workshop,
Melbourne Florida, March 16-18, 1998.
-
Second ACM/SIGSOFT Workshop on Formal Methods in Software Practice
Clearwater Beach, Florida, March 3-5, 1998
-
Planning meetings for the 21st Century Engineering Consortium.
Syracuse, New York, March 24, 1997; New York City, May 9, 1997;
Cincinnati, Ohio, July 28, 1997, August 11, 1998.
-
International Conference on Formal Methods in Computer-Aided Design.
Palo Alto, California, November 6-8, 1996.
-
Combined Asia and South Pacific
Design Automation Conference,
IFIP International Conference on Computer Hardware Description Languages
and their Applications, IFIP International Conference on Very Large Scale
Integration, Makuhari Messe, Chiba, Japan, 29 August to 1 September 1995.
-
IFIP WG 10.5 meeting, San Jose, California, November 11, 1994.
-
IFIP WG 10.2/10.5 meeting, Grenoble, France, September 1994.
-
1994 IEEE International Conference on Codesign, held jointly with
the 1994 IFIP International Conference on Computer-aided
Hardware/Software Engineering (CODES/CASHE 94), Grenoble, September 1994.
-
1994 CRA Computer Science Chairs Meeting, Snowbird, Utah, July 1994.
-
1994 High Level Synthesis Symposium, Niagra-on-the-lake, Canada.
-
1993 IEEE International Conference on Computer Design (ICCD 93),
Boston, October 1993
-
1993 IEEE International Conference on Computer Aided Design
(ICCAD 93), Santa Clara, November 1993.
-
IFIP WG 10.2 meeting, Ottawa, Canada, 1993.
-
IFIP WG 10.2 Eleventh International Symposium
on Computer Hardware Description Languages and their Applications,
Ottawa, Canada, 1993.
-
Workshop on Computer-aided Verification of Digital Circuits,
Motorola Corp., Austin Texas, October 30, 1992.
-
Computational Logic Inc. Research Presentation,
Austin Texas, April 21-23, 1992.
-
1992 IEEE International Conference on Computer Design
Boston, MA, October 11-13, 1991.
Session chairman, Environments for High-level CAD.
-
Second NASA Formal Methods Workshop,
Langley Research Center, Hampton, VA, August 11-13, 1992.
Panel member: Issues in Hardware Verification.
-
IFIP Working Group 10.2 committee meeting, Boston, September 1991.
-
1991 IEEE International Conference on Computer Design, Boston, MA,
September 1991.
-
1991 Microelectronic System Education Conference, San Jose, CA,
July 1991.
-
IFIP WG10.2 meeting, Charlottesville, VA, November 1990.
-
Oxford Workshop on Designing Correct Circuits (DCC 90),
Oxford, U.K., September 1990.
-
1990 ACM/IEEE Design Automation Conference, Orlando FL, June 1990.
-
IFIP WG10.2 meeting, Orlando FL, June 1990.
Orlando, Florida, June 1990.
-
Trusted Systems Development,
Computational Logic, Inc., Austin TX, October 1988.
-
Second Calgary Workshop on VLSI Verification,
Banff, Canada, June 11-17, 1988.
-
IEEE/ACM-SIGACT Symposium on Logic in Computer Science,
Cambridge, MA, June 16-18, 1986.
-
The 1981 Marktoberdorf Summer School, Marktoberdorf, Germany, July-August,
1981.
-
Robot demonstrations, Monroe County Public Library Bloomington and
Ellettesville branches, with Bryce Himebau and Caleb Hess,
July 15, 2002.
-
``Robots!,'' with Bryce Himebaugh and Caleb Hess,
Wonderlab Science Center, Bloomington, Indiana, March 2, 2002.
-
``Robots!,'' with Bryce Himebaugh and Caleb Hess,
Wonderlab Science Center, Bloomington, Indiana, August 23, 1998.
-
Binford Elementary School Intersession, Bloomington, Indiana, February 1998.
-
Pleasant Run Elementary School Writers Seminar, Cincinnati, Ohio,
November 18, 1996.
-
Physics Department Open House, Bloomington, Indiana September 1995.
- 18.
- Xilinx Corporation Educational Program donation, 2002. Components
valued at $225,000.
- 17.
-
A design tool based on behavior tables (a NASA/GSRP fellowship),
NASA NGT-1-01009, 2002-2004.
Faculty supervisor.
$66,000.
- 16.
- Daisy/Patmos Connection Machine Pilot Project
Patmos International Corporation, Principal Investigator,
$37,000.
- 15.
- Hardware System Design with Behavior Tables.
NSF MIP96-10358, 1997-2000, Principal Investigator.
$282,000.
- 13.
- Assistantship for a Pilot Project in Electronic Application to
Graduate School. Indiana University Office of Research and the University
Graduate School, 1993-1995.
Project Director.
$22,000.
- 12.
- Graduate Research Traineeship Initiative
in Robotics and Intelligent Control.
NSF GER93-54898, 1993-1998.
Project Director with co-director Jonathan W. Mills.
$557,500 plus $41,250 cost sharing.
- 11.
- An Infrastructure for Conceptualization and Visualization
of Computation (PI: David S. Wise).
NSF CDA 93-03189, 1993-1998.
Faculty participant, (PI: D. S. Wise) departmental CISE research
infrastructure project,
$1.7 million.
- 10.
- Decomposing digital-system specifications
into interacting sequential processes.
NSF MIP92-08745, 1992-1995.
Principal Investigator.
$142,000.
- 9.
- The Derivation of a Verified Microprocessor FM8502 (a NASA fellowship),
NASA NGT-50861, 1991-1994.
Faculty supervisor
$66,000.
- 8.
- SIGDA library grant, 1990.
$1,000.
- 7.
- Algebra for digital design derivation.
NSF MIP89-21842, 1990-1992.
Principal Investigator.
$203,000.
- 6.
- Digital design derivation.
NSF MIP87-07067, 1987-1989.
co-Principal Investigator with David E. Winkel.
$206,000.
- 5.
- A conduit from theory to practice.
NSF DCR85-21497, 1985-1990, departmental CER project, 1985-1991,
Participating faculty member (PI: E. R. Robertson), proposal coordinator
and editor.
$2,853,313 plus cost sharing.
- 4.
- Methods and architectures for applicative programming.
NSF DCR84-05241, 1984-1987,
co-Principal Investigator with David S. Wise.
Approximately $175,000.
- 3.
- Applicative Programming for Indeterminate Systems.
MCS82-03978, 1982-1984.
Research Assistant (co-PIs Daniel P. Friedman and David S. Wise),
- 2.
- Applicative Programming for Systems.
MCS77-22325 1978-1982.
Research Assistant (co-PIs Daniel P. Friedman and David S. Wise),
- 1.
- Structured Recursion: Its Properties, Translation, and Implementation.
MCS75-08145, 1975-1978.
Research Assistant (co-PIs Daniel P. Friedman and David S. Wise),
-
Bhaskar Bose (November 1994), DDD/FM9001: Derivation of a Verified
Microprocessor. NASA Fellow.
-
Kathryn Fisler (August 1996).
A Unified Approach to Hardware Verification
Through a Heterogeneous Logic of Design Diagrams.
AT&T Bell Labs Fellow.
-
Eric Jeschke (May 1995). An Architecture for Parallel Symbolic
Computation based on Suspending Construction.
-
Paul Miner (June 1998). Hardware Verification using
Coinductive Assertions
-
Kamlesh Rath (January 1995) Sequential-system Factorization.
-
Zheng Zhu, PhD December 1992.
Structured Hardware Design Transformations.
-
Principal Advisor:
Lee Pike, Alex Tsow (NASA fellow), Yuchen Zhang (administrative, ABD),
-
Research Committees:
Cordelia Hall (PhD 1987, D. Wise),
Margaret Montenyohl (PhD 1986, M. Wand),
Richard Mong (PhD 1987, P. Purdom)
Gerard Allwein (PhD 1992, M. Dunn)
Ignacio Celis (PhD 1996, J. Mills),
Robert Montante (PhD 1997, J. Mills),
Michael Wollowski (PhD 1998, J. Barwise),
Venkatesh Choppella (CS, C. Haynes),
Gary Parker(PhD 1999, J. Mills),
Byron Long (active, D. Leivant),
Lei Qian (active, L. Moss)
-
External Examiner:
Ricky Lap Ki Chan, VLSI synthesis from Abstract Recursive Expressions,
PhD Oct 1991, U. of New South Wales, supr. Graham Hellestrand.
K Y Cheung, A formal description and transformation system for the design
of complex digital systems, PhD 1998, U. of New South Wales, supr. Graham
Hellestrand.
-
Advisory Committees:
Nancy Martin,
Joao Goncalves,
Gary Brooks,
Yugo Kashiwagi,
David Boyer,
Brian Heck,
Jay Kasberger,
David Braun,
Dan Lipofsky,
Cristobal Baray,
Lowell Vaughn.
-
Minor Representative:
Alexander Willmot, IU/HPER.
John Springer (CS, E. Robertson)
-
- Formal methods in System Design (1998);
Hardware derivation (1992, 1993);
Logic Synthesis, with Jonathan W. Mills (1991);
Laboratory in lisp: Experiments in functional multiprocessing, with
David S. Wise and Eric Jeschke (1990);
Hardware derivation (1989);
Daisy, DSI and LiMP: Topics in functional multiprogramming (1988);
Applicative system description (1987);
Daisy and DSI (1985).
-
- Computer Organization.
Digital Design I-II.
Discrete Structures for Computer Science
Introduction to Verification.
Logic and Program Verification.
Mathematical Foundations of Computer Science.
Microelectronic Computer-Aided Design.
Operating Systems I-III.
Real-Time and Embedded Systems.
Theory of Operating Systems.
-
Teaching Excellence Recognition Award,
Indiana University College of Arts
and Sciences, Spring 1999.
-
Director, System Design Methods Laboratory, Indiana University
Computer Science Department.
-
Editorial Board, Formal Methods in System Design.
-
Program Chairman,
1995 IFIP Working Group 10.2 International Conference on Hardware
Description Languages and their Applications (CHDL'95).
2000 International Conference on Formal Methods and Computer Aided Design (FMCAD00), with Warren A. Hunt, Jr.
-
Planning group, 21st Century Engineering Consortium.
-
Reviewer for
Acta Informatica,
ACM Trans. on Programming Languages and Systems (ToPLAS),
ACM Computing Surveys,
Formal Methods in System Design,
IEEE Transactions on Computer Aided Design,
IEEE Transactions on Computers,
IEEE Transactions on Software Engineering,
IEEE Transactions on Parallel and Distributed Computing,
IEEE Transactions on VLSI,
International Journ. of Parallel Programming,
Integration-The VLSI Journal,
Journal of Automated Reasoning,
Journal of Functional Programming,
Journal of Systems Architecture,
Software--Practice and Experience,
Software Tools for Technology Transfer,
The Oxford University Press,
National Science Foundation,
U.S. Civilian Research and Development Foundation,
IFIP World Congress,
Morgan-Kaufmann Publishing Co.
-
Program Committee, IEEE International Conference on Computer Design (ICCD92-03),
IFIP International Conference on Correct Hardware Methods (CHARME97, 99, 01, 03 ),
IFIP International Conference on Computer Hardware Description Languages and their Applications (CHDL93, 95, 97, 99)
Conference on Design Automation and Test in Europe (DATE99, 00)
Designing Correct Circuits 1990 (DCC90, 2002, 2004)
International Conference on Formal Methods and Computer Aided Design (FMCAD96, 98, 00, 02),
NASA Langley Formal Methods Workshop (Lfm2000)
Workshop on Qualitative Aspects of Programming Languages (QAPL04)
International Conference on Theorem Proving and Higher Order Logics (TPHOLs2000),
VHDL International User Forum (VIUF95).
-
Member
SIG-CHARME Special Interest Group for Formal Design and Verification
Methods for Hardware-Like Systems (chair 2001-2003),
FMCAD Steering Committee,
IFIP WG10.5, (system engineering and design tools),
Association for Computing Machinery,
IEEE Computer Society,
IFIP,
Sigma Xi;
observer IFIP WG2.8 (Functional Programming, 1989).
-
ACM Distinguished Dissertation, 1984.
Esther M. Kinsley Dissertation Award, 1984.
-
- Formal methods.
Design derivation.
Heterogeneous reasoning systems.
Hardware synthesis and verification.
Programming and hardware description languages.
Real-time and embedded systems.
Parallel symbolic processing.
My main research area is formal methods for systems,
and my approach stems from earlier studies in applicative programming
languages and methods.
Although it involves formalism, this research is applied in nature.
I formalize design activities with the twofold purpose of gaining
insight into conceptual aspects and implementing better software design tools.
My methodology centers on algebraic manipulation
of functional modeling expressions, which I have investigated in depth.
I am particularly interested in exploring how this reasoning formalism
interacts with other formalisms (e.g. predicate logic, temporal logic, etc.)
and decision procedures (e.g. linear arithmetic, equivalence checking, etc.).
The overriding goal is to create heterogeneous reasoning environments
for software and hardware design.
A thesis of my work is that design involves orthogonal aspects
whose synthesis must be reflected formalization through its syntax
and reasoning rules.
My metaphor for this thesis is a tetrahedron whose four facets are labeled
by the principal aspects of system design: architecture, behavior, coordination
(time), and data:

One can view any facet straight on, but a balanced view
of any two or three facets distorts each of them, and seeing all at
the same time is impossible.
Neither is it possible to subsume all these aspects in one
conceptual framework, nor, consequently, a single design notation.
Software's traditional emphasis on behavior and data has lead to
object oriented programming languages, while hardware description
languages reflect an emphasis on behavior and architecture.
I do not think it will prove fruitful to blend all four aspects into a
monolithic notation.
Instead, a foundation is needed which allows different aspects to
be brought out at different times, as one might turn the tetrahedron
to expose the faces.
I want my work to contribute to and be informed by practice, so
I devote a substantial portion of my research effort to implementing
the formalisms I study, integrating them with lower level tools,
and gaining experience with them through case studies and tutorial
demonstrations.
My two guiding principles as a computer science educator are
juxtaposing abstraction with realization and emphasizing individual discovery.
My own background is my motivation. I came into computer science from
a background in mathematics and so could easily absorb much of the
pedagogy about ``abstraction.'' But it was not until I was confronted with
the physical basis of computation, to hardware and computer architecture,
that I could begin to understand what was behind classroom concepts and
programming constructs. I think it is vital for students to experience
this connection individually. One cannot judge the quality of an abstraction
without knowing what it abstracts from.
In my courses I strive to create an environment and circumstances in
which my students can make discoveries and draw their own conclusions from
direct experience. I develop laboratory components in which the participants
are confronted with devices rather than models, and with the snowballing
complexities of large design problems. My approach is dialectic: in the
classroom, I present an orderly progression of topics and techniques,
while knowing the laboratory experience requires a holistic approach from
the outset.
In my lower level classes I address computing as a physical science,
the phenomenon under study being the devices that compute and the systems
in which they are embedded. Most students are very curious about these
objects and I try to exploit that curiosity by creating opportunities
to observe and measure, following up with models and methods. Of course,
there is aways a reflective ``twist'' in the story (e.g. a compiler written
in its own language, a microprocessor simulating itself, etc.) that motivates
interesting theory.
rev. January 8, 2004
Steve Johnson
2004-01-08