Networking course projects are usually described by an informal specification and a collection of test cases. Students often misunderstand the specification or oversimplify it to fit just the test cases. Using formal methods eliminates these misunderstandings and allows the students to test their projects thoroughly, but at the expense of learning a new language. SeSF (Services and Systems Framework) is one way to overcome this obstacle. In SeSF, both implementations and services are defined by programs in conventional languages, thereby, eliminating the need to teach the students a new language. SeSF is a markup language that can be integrated with any conventional language. The integration of SeSF and Java is called SeSFJava. SeSFJava provides a technique to mechanically test whether student projects conform to their corresponding specifications, thereby, providing the instructors with a technique for semi-automated grading. We present a four-phase transport protocol project, a...
Tamer Elsharnouby, A. Udaya Shankar