Reference Hub1
Formal Specification and Implementation of Priority Queue using Stream Functions

Formal Specification and Implementation of Priority Queue using Stream Functions

Gongzhu Hu, Jin Zhang, Roger Lee
Copyright: © 2013 |Volume: 1 |Issue: 3 |Pages: 10
ISSN: 2166-7160|EISSN: 2166-7179|EISBN13: 9781466634671|DOI: 10.4018/ijsi.2013070105
Cite Article Cite Article

MLA

Hu, Gongzhu, et al. "Formal Specification and Implementation of Priority Queue using Stream Functions." IJSI vol.1, no.3 2013: pp.66-75. http://doi.org/10.4018/ijsi.2013070105

APA

Hu, G., Zhang, J., & Lee, R. (2013). Formal Specification and Implementation of Priority Queue using Stream Functions. International Journal of Software Innovation (IJSI), 1(3), 66-75. http://doi.org/10.4018/ijsi.2013070105

Chicago

Hu, Gongzhu, Jin Zhang, and Roger Lee. "Formal Specification and Implementation of Priority Queue using Stream Functions," International Journal of Software Innovation (IJSI) 1, no.3: 66-75. http://doi.org/10.4018/ijsi.2013070105

Export Reference

Mendeley
Favorite Full-Issue Download

Abstract

Formal specification of software components, as a core research area in software engineering, has been widely studied for decades. Although quite a few formal models have been proposed for this purpose, specification of concrete software components is still a challenging task due to the complexity of the functionalities of the components. In this paper, the authors use the stream function model to specify the behavior of priority queue, a commonly used software component. This specification formally defines the regular behavior and fault tolerance behavior of priority queue. In particular, a priority-concatenation operator is defined to handle the ordering of data items to ensure the highest-priority item is removed first. A finite state machine is built based on this specification as an implementation of priority queue. In addition, the authors also discuss a priority upgrading approach to handle possible starvation situation of low-priority data items in the priority queue.

Request Access

You do not own this content. Please login to recommend this title to your institution's librarian or purchase it from the IGI Global bookstore.