Abstract: |
Today’s software technology was created for applications that used a relatively small number of homogeneous devices. Current applications need to deal with thousands, and in the future perhaps millions, of highly heterogeneous devices. As a result, an active area of research in distributed systems is currently trying to invent software methodologies consisting of communication paradigms, tools, mechanisms, and techniques that overcome the limitations of current languages and techniques. One of the promising techniques for this purpose is the event-based communication paradigm (also called implicit invocation or publish/subscribe) The primary benefit of the event-based paradigm is that it supports the loose coupling of components that compose an application and therefore scales to large numbers of heterogeneous components. The use of the event-based architectural style has been successfully demonstrated in the development of large-scale and complex systems. It has therefore been rapidly incorporated in not only research prototypes but also commercial products and toolkits and even in software communication standards. The practice of application development based on this paradigm is, however, ad hoc and informal. As a result, it is often difficult to reason about the correctness of the resulting applications. The lack of a systematic and rigorous basis for the development of event-based systems has become a serious problem as the event-based paradigm is being used increasingly in important domains such as flight-control, e-commerce, automotive, and home applications. The existing theory of specifying and verifying such applications cannot be applied for the development of large-scale and complex systems. This thesis proposes a novel approach (LECAP) for the construction of correct event-based applications. The LECAP framework includes a methodology for the specification, stepwise development, and verification of event-based applications. The approach is compositional, hence, intrisically oriented towards the construction of complex software systems. The methodology will have practical application in all emerging application domains that exploit the event-based paradigm. Such domains include pervasive computing, telecommunications, electronic commerce, and Internet-based applications. |