Assurance for Temporal Compatibility Using Contracts

Assurance for Temporal Compatibility Using Contracts

Omkar J. Tilak (Indiana University-Purdue University Indianapolis, USA)
Copyright: © 2009 |Pages: 12
DOI: 10.4018/978-1-59904-855-0.ch031
OnDemand PDF Download:


Software realization of a large-scale Distributed Computing System (DCS) is achieved through the Componentbased Software Development (CBSD) approach. A DCS consists of many autonomous components that interact with each other to coordinate each system activity. The need for such coordination, along with requirements such as heterogeneity, scalability, security, and availability, considerably increases the complexity of code in a distributed system. This chapter depicts a formal method to specify component interactions involving temporal constraints. Using the component interactions, various types of temporal interaction compatibility classes are defined. A simple case study is presented that indicates the benefits of the component interaction specifications discussed in this chapter.
Chapter Preview


A major component of quality in software is assurance: a system’s ability to perform its job according to the specification and to handle abnormal situations (McGraw, 1999). Assurance is particularly important in the CBSD method because of the special role given by the method to reusability. It is important to obtain reusable software components whose assurance can be trusted in order to create a reliable system from such components.

Reliable software systems can be built using several methods (Musa, 1999). Static typing, for example, is a major help for catching inconsistencies before they have had time to become defects. Reusability also helps, using component libraries produced and (presumably) validated, rather than developing new software for the same purpose. But this is not enough. To be sure that DCS will perform properly, a systematic approach to specifying and implementing object-oriented software elements and their relations in a software system is needed. One such approach is known as design by contract, in Beugnard & Jezequel, et al., 1999. Under the Design by Contract theory, a software system is viewed as a set of communicating components whose interaction is based on precisely defined specifications of the mutual obligations known as contracts. The design by contracts, in a way, is a mechanism to achieve the correctness, and thereby a higher assurance, by a construction paradigm advocated by Dijkstra (1975).

Some benefits of Design by Contract include the following:

  • A better understanding of the DCS.

  • A systematic approach to building defect-free DCS.

  • An effective framework for debugging, testing and, more generally assuring quality.

  • A method for documenting software components.

Typically, contracts for software components have been specified at the syntactical level, which provides a description of type information for a particular method of a component. In a DCS, many other aspects of a component need to be considered and hence, Kumari (2004) and Zaremski et al. (1997) have proposed a multi-level contract for components. It augments the basis syntactic level of contract with behavior, synchronization, and quality of service. Thus, the use of such a multi-level contract, during the design and development of a component, increases the assurance about a component provides a better assurance about a DCS made of such components.

The four levels of contract mentioned above are certainly important for developing a component that is to be used in a DCS; however, many DCS are time-sensitive. Hence, it is equally important to consider the timing constraints as a part of a multi-level contract for a component. Another level for component contracts called the temporal level, is proposed in Tilak (2006). In addition to providing the formal mechanism for describing the temporal level contract, Tilak (2006) also discusses the issues of compatibility and replaceability. This chapter presents the details related to the issue of compatibility and how it plays a role in providing timing-related assurance about DCS made from time-sensitive individual components.

This chapter is organized as follows. Section 2 presents a brief overview of the related work and section 3 gives the design details of the Temporal Interaction Contract specifications. Section 4 describes the algorithms to check compatibility between Temporal Interaction Contracts. Section 5 describes an example for an experimental analysis of these concepts. Section 6 provides the conclusion of this research work with the possible future enhancements.

Key Terms in this Chapter

Distributed Computing Systems (DCS): A distributed computing system consists of networked processors, each with its own memory, that communicate with each other by sending messages.

Multi-level Contract: The multi-level contracts indicate contracts of a component as different levels, such as, syntax, semantics, synchronization, quality of service and temporal behavior.

Contract: A contract is the public interface of the component. Traditionally, a contract indicates the details of the methods a component supports.

Partial Temporal Compatibility: A component, as described by its Temporal Interaction Contract (TIC), T1, is said to be partially compatible to another TIC, T2, iff, some input message of T1 is contained by output messages of T2 or some output message of T1 is contained by input messages of T2.

Complete Compatibility: A component, as described by its Temporal Interaction Contract (TIC) T1, is said to be completely compatible to another TIC, T2, iff, starting from the initial state, every input message of T1 can be contained by an output message of T2 or every output message of T1 can be contained by an input message of T2.

Component: An encapsulated software piece that has a private state and public behavior as shown by its interface.

Temporal Interaction Contract (TIC): TIC is software component contract which highlights temporal dependencies involved in the execution of a component.

Temporal Logic of Actions (TLA): TLA is a technique for specifying the behavior of concurrent systems.

Complete Chapter List

Search this Book:
Editorial Advisory Board
Table of Contents
Jatinder N. D. Gupta, Sushil Sharma
Jatinder N. D. Gupta, Sushil Sharma
Chapter 1
Xin Luo, Qinyu Liao
In computer virology, advanced encryption algorithms, on the bright side, can be utilized to effectively protect valuable information assets of... Sample PDF
Ransomware: A New Cyber Hijacking Threat to Enterprises
Chapter 2
Joon S. Park
E-commerce has grown immensely with the increase in activity on the Internet, and this increase in activity, while immeasurable, has also presented... Sample PDF
E-Commerce: The Benefits, Security Risks, and Countermeasures
Chapter 3
Pamela Ajoku
Even though weapons and money are considered important factors for running a modern world, at the end of the day, it is all about controlling and... Sample PDF
Information Warfare: Survival of the Fittest
Chapter 4
Gaeil An, Joon S. Park
In this chapter, we discuss the evolution of the enterprise security federation, including why the framework should be evolved and how it has been... Sample PDF
Evolution of Enterprise Security Federation
Chapter 5
Roy Ng
The hypergrowth of computing and communications technologies increases security vulnerabilities to organizations. The lack of resources training... Sample PDF
A Holistic Approach to Information Security Assurance and Risk Management in an Enterprise
Chapter 6
John D’Arcy, Anat Hovav
A number of academic studies that focus on various aspects of information security management (ISM) have emerged in recent years. This body of work... Sample PDF
An Integrative Framework for the Study of Information Security Management Research
Chapter 7
Aditya Ponnam
Organizations worldwide recognize the importance of a comprehensive, continuously evolving risk assessment process, built around a solid risk... Sample PDF
Information Systems Risk Management: An Audit and Control Approach
Chapter 8
Udaya Kiran Tupakula
In this chapter we discuss Distributed Denial of Service (DDoS) attacks in networks such as the Internet, which have become significantly prevalent... Sample PDF
Distributed Denial of Service Attacks in Networks
Chapter 9
Andy Luse
This chapter describes various firewall conventions, and how these technologies operate when deployed on a corporate network. Terms associated with... Sample PDF
Firewalls as Continuing Solutions for Network Security
Chapter 10
Jamie Twycross
The immune system provides a rich metaphor for computer security: anomaly detection that works in nature should work for machines. However, early... Sample PDF
An Immune-Inspired Approach to Anomaly Detection
Chapter 11
Wasim A. Al-Hamdani
This chapter introduces cryptography from information security phase rather than from deep mathematical and theoretical aspects, along with... Sample PDF
Cryptography for Information Security
Chapter 12
Carlo Belletini
The chapter introduces and describes representative defense mechanisms to protect from both basic and advanced exploitation of low-level coding... Sample PDF
Memory Corruption Attacks, Defenses, and Evasions
Chapter 13
Dalila Boughaci, Brahim Oubeka, Abdelkader Aissioui, Habiba Drias, Belaïd Benhamou
This chapter presents the design and the implementation of a decentralized firewall. The latter uses autonomous agents to coordinately control the... Sample PDF
Design and Implementation of a Distributed Firewall
Chapter 14
Tom Coffey
This chapter concerns the correct and reliable design of modern security protocols. It discusses the importance of formal verification of security... Sample PDF
A Formal Verification Centred Development Process for Security Protocols
Chapter 15
Ahsan Habib
This chapter develops a distributed monitoring scheme that uses edge-to-edge measurements to identify congested links and capture the misbehaving... Sample PDF
Edge-to-Edge Network Monitoring to Detect Service Violations and DoS Attacks
Chapter 16
Doug White, Alan Rea
Hard disk wipes are a crucial component of computing security. However, more often than not, hard drives are not adequately processed before either... Sample PDF
A "One-Pass" Methodology for Sensitive Data Disk Wipes
Chapter 17
Lijun Liao
This chapter deals with the issues concerning e-mail communication security. We analyze the most popular security mechanisms and standards related... Sample PDF
Securing E-Mail Communication with XML Technology
Chapter 18
Li Yang, Raimund K. Ege, Lin Luo
This chapter describes our approach to handle security in a complex Distributed Virtual Environment (DVE). The modules of such an environment all... Sample PDF
Aspect-Oriented Analysis of Security in Distributed Virtual Environment
Chapter 19
Information Availability  (pages 230-239)
Deepak Khazanchi
This chapter describes the concept of information availability (IAV) which is considered an important element of information security. IAV is... Sample PDF
Information Availability
Chapter 20
Siraj Ahmed Shaikh
The purpose of this chapter is to introduce the reader to the research area of formal analysis of authentication protocols. It briefly introduces... Sample PDF
Formal Analysis and Design of Authentication Protocols
Chapter 21
Rajeev R. Raje, Alex Crespi, Omkar J. Tilak, Andrew M. Olson
Component-based software development offers a promising technique for creating distributed systems. It does require a framework for specifying... Sample PDF
Access Control Frameworks for a Distributed System
Chapter 22
Manish Gupta, JinKyu Lee, H. R. Rao
The Internet has emerged as the dominant medium in enabling banking transactions. Adoption of e-banking has witnessed an unprecedented increase over... Sample PDF
Implications of FFIEC Guidance on Authentication in Electronic Banking
Chapter 23
Sue Conger
Historically, companies have automated a security model that analogizes the concept of a “guardian” who monitors incoming and outgoing activities... Sample PDF
Disruptive Technology Impacts on Security
Chapter 24
Sushma Mishra
Internal auditing has become increasingly important in current business environments. In this era of the Sarbanes- Oxley Act and other similar... Sample PDF
Internal Auditing for Information Assurance
Chapter 25
William H. Friedman
This chapter is management oriented. It first proposes a general theoretical context for IT disasters within the wider class of all types of... Sample PDF
IT Continuity in the Face of Mishaps
Chapter 26
Yvette Ghormley
This chapter describes the tools that businesses can use to create a Business Continuity and Disaster Recovery Plan. Utilizing business modeling... Sample PDF
Business Continuity and Disaster Recovery Plans
Chapter 27
Yvette Ghormley
The number and severity of attacks on computer and information systems in the last two decades has steadily risen and mandates the use of security... Sample PDF
Security Policies and Procedures
Chapter 28
Arjmand Samuel
This chapter outlines the overall access control policy engineering framework in general and discusses the subject of validation of access control... Sample PDF
Enterprise Access Control Policy Engineering Framework
Chapter 29
Sushil K. Sharma, Jatinder N.D. Gupta
The purpose of the information security policy is to establish an organization-wide approach to prescribe mechanisms that help identify and prevent... Sample PDF
Information Security Policies: Precepts and Practices
Chapter 30
Paul D. Witman
This chapter provides a set of guidelines to assist information assurance and security researchers in creating, negotiating, and reviewing... Sample PDF
A Guide to Non-Disclosure Agreements for Researchers
Chapter 31
Omkar J. Tilak
Software realization of a large-scale Distributed Computing System (DCS) is achieved through the Componentbased Software Development (CBSD)... Sample PDF
Assurance for Temporal Compatibility Using Contracts
Chapter 32
Arjan Durresi
The latest estimates suggest that there are over two billion cell phone users worldwide. The massive worldwide usage has prompted technological... Sample PDF
Spatial Authentication Using Cell Phones
Chapter 33
Sushil K. Sharma, Jatinder N.D. Gupta, Ajay K. Gupta
The ability to perform E-Commerce over the Internet has become the driver of the new digital economy. As it has opened up opportunities for... Sample PDF
Plugging Security Holes in Online Environment
Chapter 34
Erik Graham, Paul John Steinbart
This chapter presents a step-by-step approach to improving the security of wireless networks. It describes the basic threats to achieving the... Sample PDF
Six Keys to Improving Wireless Security
Chapter 35
Robert W. Proctor, E. Eugene Schultz, Kim-Phuong L. Vu
Many measures that enhance information security and privacy exist. Because these measures involve humans in various ways, their effectiveness... Sample PDF
Human Factors in Information Security and Privacy
Chapter 36
Wm. Arthur Conklin
Software defects lead to security vulnerabilities, which cost businesses millions of dollars each year and threaten the security of both individuals... Sample PDF
Threat Modeling and Secure Software Engineering Process
Chapter 37
Christopher M. Botelho, Joseph A. Cazier
The threat of social engineering attacks is prevalent in today’s society. Even with the pervasiveness of mass media’s coverage of hackers and... Sample PDF
Guarding Corporate Data from Social Engineering Attacks
Chapter 38
Tom Clark
Data storage is playing an increasingly visible role in securing application data in the data center. Today virtually all large enterprises and... Sample PDF
Data Security for Storage Area Networks
Chapter 39
Edgar Weippl
This chapter outlines advanced options for security training. It builds on previous publications (Weippl 2005, 2006) and expands them by including... Sample PDF
Security Awareness: Virtual Environments and E-Learning
Chapter 40
Manish Gupta
Enterprises are increasingly interested in new and cost effective technologies to leverage existing investments in IT and extend capabilities to... Sample PDF
Security-Efficient Identity Management Using Service Provisioning (Markup Language)
Chapter 41
Dwayne Stevens, David T. Green
Voice over Internet Protocol (VoIP) networks signal an evolution in telecommunications that is accelerating the convergence of the Internet and the... Sample PDF
A Strategy for Enterprise VoIP Security
Chapter 42
Jose M. Torres
This chapter presents an Information Systems Security Management Framework (ISSMF) which encapsulates eleven Critical Success Factors (CSFs) along... Sample PDF
Critical Success Factors and Indicators to Improve Information Systems Security Management Actions
Chapter 43
Rebecca H. Rutherfoord
This chapter will deal with issues of privacy, societal, and ethical concerns in enterprise security. Security for a company is defined as... Sample PDF
Privacy, Societal, and Ethical Concerns in Security
Chapter 44
Rodolfo Villarroel, Eduardo Fernández-Medina, Juan Trujillo, Mario Piattini
This chapter presents an approach for designing secure Data Warehouses (DWs) that accomplish the conceptual modeling of secure DWs independently... Sample PDF
An MDA Compliant Approach for Designing Secure Data Warehouses
Chapter 45
Hai Wang
This chapter introduces the survivability evaluation, especially on the corresponding evaluation criteria and modeling techniques. The content of... Sample PDF
Survivability Evaluation Modeling Techniques and Measures
Chapter 46
Art Taylor
With the rise of the Internet, computer systems appear to be more vulnerable than ever from security attacks. Much attention has been focused on the... Sample PDF
The Last Line of Defense: A Comparison of Windows and Linux Authentication and Authorization Features
Chapter 47
M. Pradhan
Information Technology can be used at all levels to counter attack bioterrorism. This article gives an overview of use of Information Technology for... Sample PDF
Bioterrorism and Biosecurity
About the Contributors