|
||||
T1. Multicast Networking T2. Trustworthy Software Systems Detailed descriptions: T1. Multicast Networking The Internet’s explosive growth was spurred by a variety of new and emerging applications and the simultaneous exponential growth of the Internet user community. In particular, multimedia applications are becoming increasingly important in the Internet and this should make the ubiquitous deployment of multicast, native or otherwise, an imminent event. However, despite the proliferation of Internet applications such as WWW, noticeably there is the lack of pervasiveness of Internet video; this has been attributed to the non-ubiquitous deployment of multicast technology. Despite the bandwidth saving ability of multicast, embracement of the technology has been extremely slow due to protocol complexity, undefined billing models, an inclination to maintain the existing stability of the current unicast client connections, as well as unknown traffic and routing implications. Furthermore, there is also concern regarding the security issues of multicast networks. The deployment problems of IP multicast have led to the birth of Application Layer Multicast, a multicast communication technique in the application layer. This tutorial session will discuss the following topics:
T2. Trustworthy Software Systems Much software engineering focuses on cost and schedule, especially schedule. My view is that a shift is needed. The software engineer must make judgments or tradeoffs among the features the software provides, the time it will take to produce the software, the cost of producing the software, how easy it is to use and how reliable it is. Too often performance and functional technical requirements become an issue once the software is deployed. Rarely is trustworthiness considered. Not only must software designers consider how the software will perform they must account for consequences of failures. Trustworthiness encompasses this concern. The requirements must encompass the trustworthiness of the emerging system. Trustworthy software is stable software. It is sufficiently fault-tolerant that it does not crash at minor flaws and will shut down in an orderly way in the face of major trauma. Trustworthy software does what it is supposed to do and can repeat that action time after time, always producing the same kind of output from the same kind of input. The National Institute of Standards and Technology (NIST) defines trustworthiness as “software that can and must be trusted to work dependably in some critical function, and failure to do so may have catastrophic results, such as serious injury, lost of life or property, business failure or breach of security. Some examples include software used in safety systems of nuclear power plants, transportation systems, medical devices, electronic banking, automatic manufacturing, and military systems. |
||||
Copyright (c) 2006, IARIA