computer science school of computing clemson university mathematical modeling murali sitaraman...
TRANSCRIPT
![Page 1: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/1.jpg)
Computer Science School of Computing Clemson University
Mathematical Modeling
Murali SitaramanClemson University
![Page 2: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/2.jpg)
School of Computing Clemson University
Some mathematics is implicit
We view programming integers as though they are mathematical integers (subject to bounds, of course)
We associate mathematical operators (e.g., +) with operations we can do on integers in programs (e.g., +)
This can be made explicit
![Page 3: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/3.jpg)
School of Computing Clemson University
Mathematical modeling
Type Integer is modeled by Z; Constraints for all i: Integer,
min_int <= i <= max_int;
![Page 4: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/4.jpg)
School of Computing Clemson University
Alternatively…
Type Integer is modeled by Z; Let i be an example Integer; Constraints
min_int <= i <= max_int;
![Page 5: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/5.jpg)
School of Computing Clemson University
Initial value specification…
Type Integer is modeled by Z; exemplar i; Constraints
min_int <= i <= max_int; initialization ensures i = 0;
![Page 6: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/6.jpg)
School of Computing Clemson University
Specification of operations …
Type Integer is modeled by Z; …
specification of operations, e.g., i++ Operation Increment
(updates i: Integer); requires i < max_int; ensures i = #i + 1;
![Page 7: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/7.jpg)
School of Computing Clemson University
More examples …
What is a suitable way to model the state of a light bulb? …
![Page 8: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/8.jpg)
School of Computing Clemson University
More examples …
Type Light_Bulb_State is modeled by B;
exemplar b; Initialization ensures b = false;
Exercises: specification of operations Turn_On, Turn_Off, and Is_On
![Page 9: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/9.jpg)
School of Computing Clemson University
More examples …
How would you model the state of a traffic light? …
Alternative models and discussion
![Page 10: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/10.jpg)
School of Computing Clemson University
Data abstraction examples …
How would you mathematically model a the contents of a stack? Is a set model appropriate? Why or why not?
What about a queue?
![Page 11: Computer Science School of Computing Clemson University Mathematical Modeling Murali Sitaraman Clemson University](https://reader035.vdocument.in/reader035/viewer/2022072009/56649da15503460f94a8ca73/html5/thumbnails/11.jpg)
School of Computing Clemson University
Mathematical Modeling Summary
To write formal specifications, we need to model the state mathematically
Some objects we use in programming, such as Integers and Reals, have implicit models
For others, such as stacks, queues, lists, etc., we need to conceive explicit mathematical models