| | |
Mathematical tools in computer science
Please support our Computer Science advertiser: Learn about neural networks and artificial intelligence.
![]() |
•
•
Join Date: Sep 2008
Posts: 2
Reputation:
Solved Threads: 0
Hello everyone.
I am a student working on network protocols. Now I have a rough idea
to use mathematical tools, e.g. formal methods, to examine or even
build the model of protocols.
As I have no in-depth concept of these tools, I would like now ask
some naive questions:
1. What is the relationship between formal methods and type theory, as
some papers mentioned that they are inter-related.
2. What is lamda calculus and its relationship with formal methods.
Any help will be appreciated. Thanks very much!
Ed
I am a student working on network protocols. Now I have a rough idea
to use mathematical tools, e.g. formal methods, to examine or even
build the model of protocols.
As I have no in-depth concept of these tools, I would like now ask
some naive questions:
1. What is the relationship between formal methods and type theory, as
some papers mentioned that they are inter-related.
2. What is lamda calculus and its relationship with formal methods.
Any help will be appreciated. Thanks very much!
Ed
And here are some naive answers.
1. Type checking proves properties about the code. The compiler proves your assertion that your function returns an int, or that it returns something whose type depends on the types of the arguments in some way. They can also prove other claims you make about your functions, like whether they throw any exceptions (which Java supports) or what side effects the functions may have (which Haskell supports, albeit without any granularity). Regarding network I/O, searching for things like "monad", "linear types", "uniqueness types", and maybe "session types" might reveal some more information.
2. You can read about lambda calculus on Wikipedia, and I don't know its relationship to formal methods.
1. Type checking proves properties about the code. The compiler proves your assertion that your function returns an int, or that it returns something whose type depends on the types of the arguments in some way. They can also prove other claims you make about your functions, like whether they throw any exceptions (which Java supports) or what side effects the functions may have (which Haskell supports, albeit without any granularity). Regarding network I/O, searching for things like "monad", "linear types", "uniqueness types", and maybe "session types" might reveal some more information.
2. You can read about lambda calculus on Wikipedia, and I don't know its relationship to formal methods.
Last edited by sarehu; Sep 20th, 2008 at 8:03 pm.
•
•
Join Date: Oct 2008
Posts: 8
Reputation:
Solved Threads: 1
As far as Lambda Calclus is concerned it is a mathematical way
to write computer programs and that too recursive programms.
To give u a taste ::
let y = lambda
y:f(x)->x+1
this is a lambda statement that says f is a function that takes an argument and add 1 to it
Lambda calclus can be seen in pure Type strong languages like Gofer.
Formal mathods is used for programme specification..
When u are building a software It needs
1: Specification
2: Design
3: code
4:test
5:maintain
In specifications we specify the problems in terms of functional parameters....
Tell me If that hepls.
to write computer programs and that too recursive programms.
To give u a taste ::
let y = lambda
y:f(x)->x+1
this is a lambda statement that says f is a function that takes an argument and add 1 to it
Lambda calclus can be seen in pure Type strong languages like Gofer.
Formal mathods is used for programme specification..
When u are building a software It needs
1: Specification
2: Design
3: code
4:test
5:maintain
In specifications we specify the problems in terms of functional parameters....
Tell me If that hepls.
![]() |
Similar Threads
- unknown harddrive error (Windows NT / 2000 / XP)
- memory management in wndows 2000 (Windows NT / 2000 / XP)
- [JOB] Software Engineer - C++ (Based in Singapore) (Software Development Job Offers)
Other Threads in the Computer Science Forum
- Previous Thread: Combine a half adder with a full adder to a 2 bit adder
- Next Thread: Graph Theory Complexity
Views: 1093 | Replies: 5
| Thread Tools | Search this Thread |
Tag cloud for Computer Science
ai algorithm algorithms amazon assignment assignments automata battery bigbrother binary bizarre bletchleypark blogging bomb business cern clueless codebreaker computer computers computerscience computertrackingsoftware connect dataanalysis dataintepretation development dfa dissertation dissertations dissertationthesis dissertationtopic ebook energy extensions floatingpoint foreclosure foreclosuresoftware fuel gadgets geeks givemetehcodez government graphics hardware history homeowners homework homeworkhelp humor ibm idea ideas internet iphone itcontracts jobs kindle laws lazy linkbait lsmeans mainframes marketing mining mobileapplication msaccess nano netbeans networking news os p2p parser piratebay principles programming rasterizer research sam-being-cute sas science sex spoonfeeding sql stephenfry student study supercomputer supercomputing sweden syntactic technology textfield tree turing turingtest uk virus warehouse ww2





