Kwok-Bun Yue
Permanent URI for this collectionhttps://hdl.handle.net/10657.1/891
Bun Yue (B.S., M.Phil., Physics, Chinese University of Hong Kong, M.S., Ph.D., Computer Science, University of North Texas) is a Professor of Computer Science and Computer Information Systems at University of Houston-Clear Lake (UHCL).
His research interests are in concurrent programming, Internet computing, semi-structured data, and information systems and computer science education. He has published more than 40 papers, and is the principal investigator of 10 external grants with a total amount of $1.8 million. He is a member of the senior editorial board of the Journal of Information Systems Education.
He has consulted a number of companies, including serving briefly as a CTO of a startup company.
Browse
Browsing Kwok-Bun Yue by Issue Date
- Results Per Page
- Sort Options
Item Starvation-Free Solutions of Mutual Exclusion Problems Using Semaphores(Proceedings of the ACM South Central Regional Conference, 1987-10) Yue, Kwok-BunThe standard implementation of mutual exclusion by means of a semaphore allows starvation of processes. Between 1979 and 1986, three algorithms were proposed that preclude starvation. These algorithms use a special kind of semaphore. We model this so-called buffered semaphore rigorously and provide mechanized proofs of the algorithms. We prove that the algorithms are three implementations of one abstract algorithm in whicheverycompetingprocessisovertakennotmorethanoncebyanyotherprocess.Wealsoconsideraso-called polite semaphore, which is weaker than the buffered one and is strong enough for one of the three algorithms. Refinement techniques are used to compare the algorithms and the semaphores.Item Semaphore Solutions To General Mutual Exclusion Problems(University of North Texas, Denton, 1988) Yue, Kwok-BunAutomatic generation of starvation-free semaphore solutions to general mutual exclusion problems is discussed. A reduction approach is introduced for recognizing edge-solvable problems, together with an O(N^2) algorithm for graph reduction, where N is the number of nodes. An algorithm for the automatic generation of starvation-free edge-solvable solutions is presented. The solutions are proved to be very efficient. For general problems, there are two ways to generate efficient solutions. One associates a semaphore with every node, the other with every edge. They are both better than the standard monitor—like solutions. Besides strong semaphores, solutions using weak semaphores, weaker semaphores and generalized semaphores are also considered. Basic properties of semaphore solutions are also discussed. Tools describing the dynamic behavior of parallel systems, as well as performance criteria for evaluating semaphore solutions are elaborated.Item Using the game Cube-4 as an example in an introductory artificial intelligence course(SIGCSE Bulletin, 1989-09) Yue, Kwok-BunNo abstract available.Item Teaching a graduate expert systems course(SIGCSE Bulletin, 1990-12) Yue, Kwok-BunBecause expert systems technology is relatively new, there are only a few papers describing a graduate course on the subject. Most of the described courses were either seminar oriented or centered around a student project, but did not have a complete coverage of the major topics. This paper describes the teaching of a graduate expert system course that has a relatively complete coverage of the subject area. Other additional features of the course include incremental development of the student projects, emphasis on evaluations of tools and projects, as well as using more conventional problems for strengthening expert system shell programming techniques.Item Dining Philosophers Revisited, Again(SIGCSE Bulletin, 1991-06) Yue, Kwok-BunThis paper describes a problem in the solution of the dining philosophers problem by Gingras [2] that makes it inefficient, instead of the claimed maximal efficiency. A correct implementation is presented. Even then, the solution has other undesirable characteristics and is still not maximally efficiency. Depending on the definition of efficiency, it may not be possible to attain maximal efficiency and be starvation-free at the same time. A better and simpler solution for general mutual exclusion problems, in which the dining philosophers problem is a special case, is presented. This solution can become symmetric if appropriate data structures are used.Item An Efficient Starvation-Free Semaphore Solution for the Graphical Mutual Exclusion Problem.(The Computer Journal, 1991-08) Yue, Kwok-BunA fast method for constructing efficient solutions for graphical mutual exclusion problems based on semaphores associated with processes is described. The number of semaphores used is equal to the number of processes in the mutual exclusion problem. The solution is both deadlock-free and starvation-free, and allows a reasonable degree of concurrency. This method can be generalised to deal with generalised semaphore systems such as the PVchunk.Item Using CLIPS as the cornerstone of a graduate expert systems course(Proceedings of the 2nd Annual CLIPS Users Conference, 1991-09) Yue, Kwok-BunThe effective use of the C Language Integrated Production System (CLIPS) as a cornerstone in a graduate expert systems course is described. The course include 8 or 9 hours of in-depth lecturing in CLIPS, as well as a broad coverage of major topics and techniques in expert systems. As part of the requirements of the course, students solved two small yet non-trival problems in CLIPS before going on to develop a toy expert system in CLIPS in an incremental manner as the term project. Furthermore, students were required to evaluate CLIPS programs written by their classmates. An anonymous questionnaire at the end of the semester revealed that the students responded very favorably to the course, especially their experience with CLIPS.Item A More General Model For Handling Missing Information In Relational DataBases Using A 3-Valued Logic(SIGMOD Record, 1991-09) Yue, Kwok-BunCodd proposed the use of two interpretations of nulls to handle missing information in relational databases that may lead to a 4-valued logic [Codd86, Codd87]. In a more general model, three interpretations of nulls are necessary [Roth, Zani]. Without simplification, this may lead to a 7-valued logic, which is too complicated to be adopted in relational databases. For such a model, there is no satisfactory simplification to a 4-valued logic. However, by making a straightforward simplification and using some proposed logical functions, a 3-valued logic can handle all three interpretations.Item An Ada Solution to the General Mutual Exclusion Problem(Ada Letters, 1993) Yue, Kwok-BunAlthough some specific mutual exclusion problems have been studied extensively, automatic solutions to synchronize general mutual exclusion problems with arbitrary mutual exclusion constraints have not been fully explored. This paper discusses an Ada 83 solution that can be applied to any general mutual exclusion problem. This solution is based on strong binary semaphores. A generic package is used to generate the solution for an given mutual exclusion problem. An Ada program for the simulation of the classical Dining Philosophers Problem is presented as an example to demostrate how the solution can be used.Item Semaphores in Ada-94(Ada Letters, 1994) Yue, Kwok-BunThe new protected type and requeue features in Ada-94 make possible the efficient implementations of many concurrent solutions, previously not possible in Ada-83. In this paper, the implementations of various semaphore systems in Ada-94 are presented. These systems are more general and powerful than the familiar binary and counting semaphores. As examples, the uses of the most general one, PVgeneral, in resource management and the synchronization of general mutual exclusion problems are discussed.Item An Optimal Algorithm For Reducing Edge-Solvable Mutual Exclusion Graphs(The Computer Journal, 1994) Yue, Kwok-BunA mutual exclusion graph can be used to model a graphical mutual exclusion problem where a concurrent process is represented by a vertex and a mutual exclusion constraint between two processes is represented by an edge joining the two corresponding vertices. The first step of an algorithm for generating very efficient semaphore-based edge-solvable synchronization solutions for a class of graphical mutual exclusion problems calls for reducing the mutual exclusion graph to an optimal final graph with a single composite vertex representing them. The process of reduction involves the identification of similar vertices (with identical neighbors except, perhaps, the vertices themselves) and the replacement of the similar vertices by a composite vertex. In this paper, a fast worst case O(N2) reduction algorithm, where N is the number of vertices in the graph, that adds vertices incrementally to build the final graph is presented. Using the new algorithm, the entire algorithm for the automatic generation of edge-solvable solutions becomes O(N2) too. Because of the vast improvement over the straightforward O(N4) reduction algorithm, this algorithm should also be of theoretical interest. Since the number of edges is O(N2), and every edge must be visited in any graph reduction algorithm, the algorithm is optimal.Item An Undergraduate Course In Concurrent Programming Using Ada(SIGCSE Bulletin, 1994-12) Yue, Kwok-BunThis paper describes a senior level course in concurrent programming using Ada. Unlike other similar courses in the subject area, it is not part of an operating systems course, nor is it tied to a particular hardware architecture. The course is software oriented and it discusses in depth a concurrent programming language, Ada, so that students are able to actually develop effective concurrent programs to solve problems in a wide range of applications. Ada is selected because of its popularity, superb portability, numerous hardware platforms, and rich concurrent constructs. Classical issues in concurrent programming are presented in the context of Ada. General issues in designing concurrent programming languages are elaborated using Ada, together with other concurrent programming languages such as CSP, Occam, and Linda. Finally, general principles of designing parallel programs are also discussed. Therefore, the course provides both the depth in a concurrent programming language for program development and the breadth in concurrent programming theory for insight. Using Ada throughout the course strengthens student's expertise in Ada and provides an useful reference point for understanding concurrent programming theory. The course is heavily based on handouts, examples, homework and programming assignments. A rich set of instructional materials are available from the author.Item Priority Ceiling Protocol in Ada(Proceedings of the Tri-Ada '96 Conference, 1996-11) Yue, Kwok-BunThe priority ceiling protocol (PCP) is an effective protocol for minimizing priority inversions in real-time scheduling. Priority inversion occurs when a high priority task is blocked by a low priority task, such as at a shared semaphore or a protected operation. PCP guarantees the absence of chained priority inversion or deadlock. The ceiling looking (CL) priority on protected objects of Ada-95 also has these properties but has some limitations. For example, tasks cannot suspend themselves inside a protected operation. PCP has no such restrictions. Thus, PCP is more appropriate for some real-time applications. PCP has not been implemented in any language, including Ada. A guideline for emulating PCP using Ada-83 exists but it lacks generality and flexibility. This paper discusses an implementation of PCP in Ada-95, the Ada-95 features that enable the implementation, the desigu of the implementation and some related issues.Item An undergraduate Web-based database project(J. Computing in Small Colleges, 1998-04) Yue, Kwok-BunWeb technologies have become essential in the computing curricula. However, teaching a Web development course to computing students is challenging because of large bodies of knowledge, rapidly changing technologies, demanding support infrastructures and diverse background of audiences. This paper presents the evolution and the experiences we have gained in teaching a Web development course for the past seven years. We incorporate selected leading edge Web technologies as soon as they become mature and stable. The course covers a broad spectrum of Internet technologies to provide a solid conceptual framework. It also includes an in-depth study of a selected technology to provide the necessary depth and knowledge to build realistic Web applications. This paper describes the course design, our choice of topics, programming assignments, course delivery and our experience in coping with the rapidly changing Web technologies.Item Web-Centric Projects in Computer Science Courses(J. Computing in Small Colleges, 2002-04) Yue, Kwok-BunAs the computing world becomes increasingly Web-centric, software systems will obtain more contents and services from outside the organizations. As a result, more university computer science courses will add Web server-side project assignments that use not only local resources within the university, but also external resources throughout the Web. This creates new problems in logistic as the university has no control of the external Web sites. This paper discusses our experience on Web-centric projects, their unique challenges and our recommendations.Item Open Courseware and Computer Science Education(Journal of Computing Sciences in Colleges, 2004) Yue, Kwok-BunAbstract Authors References Cited By Index Terms Publication Reviews Comments Table of Contents The recent enthusiastic reception of the MIT OpenCourseWare (OCW) project has significantly improved the general awareness of Open Courseware (OC). However, many other lesser known projects and resources can also be classified as OC. The OC movement can potentially provide a vast pool of resources to satisfy diverse needs of Computer Science (CS) educators. However, there are only limited discussions on the possible meanings of OC to CS education. This paper elaborates several important facets of OC. It describes how CS educators can utilize raw educational materials from OC and how OC can support a continuum of approaches on constructing courseware. The impact of OC on CS educators will likely be greater than that of Open Source Software (OSS), since CS educators are more likely developers of course contents but only users of OSS. Thus, this paper suggests deeper and broader studies on the opportunities and challenges of OC provided to CS education.Item Design of a distributed computer security lab(Journal of Computing Sciences in Colleges, 2004) Yue, Kwok-BunAcross the US and the rest of the world, there exists a lack of computer security components in many CS/IT curricula. For those programs that do have such components in computer security, a common difficulty is to integrate "real-world" labs into the courses, in order to provide hands-on experiences to the learners. Due to concerns for security breaches and network hacking, system administrators are reluctant to allow computer security labs involving network sniffing, virus scripting, etc. to be deployed in the campus network. Without hands-on, real-world projects, it is difficult for the learners to integrate the acquired security theories and knowledge with up-to-date security technologies and practices. Computer science educators who are interested in teaching computer security in a "realistic" context are thus faced with a unique challenge: Setting up 'real-world' computer security laboratories and assignments, without negatively impacting the rest of the campus network. The primary goal of our project is to develop a Distributed Computer Security Lab (DCSL) to answer the challenge. We have established, across multiple university campuses, a computer lab which enables the faculty and students to analyze and study vulnerabilities of a realistic corporate network. The lab provides hands-on experience for students to study cutting-edge computer security technologies, and serves as a test bed for projects which are otherwise impossible to implement in general-purpose labs. In this paper, we first discuss the general model of the DCSL and our implementation, and then present a selected set of projects that we have conducted to aid the design of the DCSL. The paper concludes with a summary and future work.Item A model for open content communities to support effective learning and teaching(Proceedings of the IADIS International Conference on Web-based Communities 2004, 2004-04) Yue, Kwok-BunOpen Source Software (OSS) has provided a successful model for community-based collaborative development of software. The success of OSS has triggered interests in applying similar approaches to other areas besides software development, such as open courseware development and open content projects. However, there are nearly no projects on building highly collaborative Open Content Community (OCC) for developing high quality, comprehensive, rich and freely distributable educational materials on specific subjects. Learners can directly use these educational materials to effectively learn the respective subjects, and instructors can use them to construct courses. This paper presents an OSSbased model for building an OCC that supports volunteers to effectively develop, evaluate and use open content educational materials. The model is composed of fine-grained knowledge units to encourage high degree of collaboration. It also has a hierarchical module-based framework for structuring projects. The community Website provides tools and services for content development, project management and project navigation. It is designed to provide high flexibility to cater to varying requirements of different projects, which may evolve in a way similar to OSS projects. An initial prototype has been developed and the authors are in the process of fine-tuning the prototype for experimentation with sample projectsItem Analysis and Metrics of XML Schema(Proceedings of the 2004 International Conference on Software Engineering Research and Practice, 2004-06) Yue, Kwok-BunDespite the ubiquity of XML, research in metrics for XML documents is scarce. This paper proposes and discusses eleven metrics to measure the quality and complexity of XML Schema and conforming XML documents. To provide an easy view of these metrics, two composite indices have been defined to measure quality and complexity. An open source metric analyzer tool for XML Schema has been developed. The tool can easily be extended to add new metrics and alter the composition of the indices to best fit the requirements of a given application.Item Design and Evolution of An Undergraduate Course on Internet Application Development(Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education, 2004-06) Yue, Kwok-BunWeb technologies have become essential in the computing curricula. However, teaching a Web development course to computing students is challenging because of large bodies of knowledge, rapidly changing technologies, demanding support infrastructures and diverse background of audiences. This paper presents the evolution and the experiences we have gained in teaching a Web development course for the past seven years. We incorporate selected leading edge Web technologies as soon as they become mature and stable. The course covers a broad spectrum of Internet technologies to provide a solid conceptual framework. It also includes an in-depth study of a selected technology to provide the necessary depth and knowledge to build realistic Web applications. This paper describes the course design, our choice of topics, programming assignments, course delivery and our experience in coping with the rapidly changing Web technologies.
- «
- 1 (current)
- 2
- 3
- »