On Formal Techniques in Protocol Engineering — Example Challenges
Formal Techniques for Networked and Distributed Systems
In this invited paper -for the 2001 FORTE Conference on F O Rmal Description TEchniques for Protocol Specification, Testing and Verification -we intend to illustrate a number of methodological issues that the practising software engineer might wish to consider when developing software for interacting, distributed software, more precisely, for such software which significantly contains interaction protocols. We "attach" our "guided tour" of software engineering using formal techniques, and
... chniques, and following a triptych of domain engineering, requirements engineering, and software design, to two example "challenges". The particular examples are the domain and requirements for an "inverse" smart card application, that is, of a domain where ordinary citizens gather, refer to and update ("change") accumulated information and money resources and of requirements to a "really" smart card system which is the primary carrier of (ie. repository for) such information, and the (electronic) monies (themselves). The other example is that of "market" transactions; that is, a domain of interactions between government (G) institutions, businesses (B), and citizens (C). That is with G↔ B ↔ C sequences of interactions -ie. "protocols", as well as some thoughts on requirements (an "extended E-Business system"). We outline the problems while adhering to our approaches to both informal and formal software engineering, to the development triptych, and indicate some of the very many principles and techniques inherent in any good method. By showing two different examples we illustrate the "impossibility" of one simpe, straightforward method.