Donald Craig
Memorial University of Newfoundland
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Donald Craig.
international conference on dependability of computer systems | 2006
Donald Craig; Wlodzimierz M. Zuberek
Component-based software engineering (CBSE) has been emerging as a promising approach to the development of large-scale software architectures in which software components with well-defined interfaces can be quickly assembled into complex software systems. However, assembled components must be compatible in the sense that any sequence of operations requested by one of the interacting components must be provided by the other component(s). Component incompatibility may result in subtle software failures which are difficult to detect and correct. A formal model of component interaction is proposed by representing component behaviors by labeled Petri nets. These net models are designed in such a way that component incompatibility is manifested by deadlocks in the net model of interacting components. Reachability-based as well as structural methods of deadlock detection are discussed. A simple example illustrating the proposed approach is provided
international conference on dependability of computer systems | 2007
Donald Craig; Wlodzimierz M. Zuberek
In component-based systems, two components are behaviorally compatible if all possible sequences of services requested by one component can be provided by the other component. Verification of this compatibility is essential if subtle software failures, which are difficult to detect and correct, are to be eliminated. For verification of compatibility, the behavior of interacting components, at their interfaces, is modeled by labeled Petri nets with labels representing the requested and provided services. The paper discusses the verification process for several classes of interface languages, with emphasis on the algorithmic aspects of verification.
collaboration technologies and systems | 2011
Donald Craig
Physicians must collaborate with a variety of healthcare professionals during the course of their duties. This results in the accumulation of numerous pieces of patient information from a variety of sources that must be consulted in order for physicians to provide comprehensive treatment for their patients. Efficient access to laboratory results, radiology reports, correspondence with other colleagues and the physicians own notes is crucial if effective patient care is to be delivered. This paper describes a web-based user interface prototype which can allow physicians to rapidly access and retrieve data from a number of collaborative sources while at the same time preserving a contextual overview of the abundant number of health events that can occur during a patients excursion through the healthcare system. Health events originating from a variety of domains, such as laboratories, radiology, pharmacies and other physicians, are temporally arranged on a grid to give a physician a contextual overview of all the health events that have occurred during the course of a patients treatment. A navigation scheme is then proposed which allows physicians to effortlessly access information within a single source or across multiple sources. This provides physicians with a means of quickly accessing several sections of a patient chart without having to navigate an unwieldy number of menus, pop-up windows or pulldown lists.
international conference on database theory | 2007
Donald Craig; Wlodek M. Zuberek
An approach to verification of component compatibility is proposed in which each components behaviour (at its interfaces) is represented by a labeled Petri net in such a way that the sequences of services (provided or requested) correspond to sequences of labels assigned to occurring transitions. The behaviour of a component can thus be defined as the language of its modeling net. Two interacting components are compatible if and only if all possible sequences of services requested by one of these two components can be satisfied by the other component; in other words, two components are compatible if the language of the requesting component is a subset of the language of the component providing the services. Verification of this simple relation depends upon the class of languages defining the behaviours of the components. If the languages are regular, the verification of compatibility is straightforward. For non-regular languages, a more elaborate approach is needed in which a net model composed of the interacting components is checked for the absence of deadlocks. Some applications of the proposed approach are also discussed.
international conference on application of concurrency to system design | 2007
Donald Craig; Wlodek M. Zuberek
Software architecture has been introduced with promise of better re-use of software, greater flexibility, scalability and higher quality of software services. Software architecture uses components as the basic building blocks of software systems. Components represent high-level software models; they must be generic enough to work in a variety of contexts and in cooperation with other components, but they also must be specific enough to provide easy reuse. To be composable with other (third-party) components, a component needs to be sufficiently self-contained. Also, it needs a clear specification of what it requires and what it provides. In other words, a component needs to encapsulate its implementation and interact with its environment by means of well-defined interfaces.
Archive | 1996
Donald Craig
Archive | 2007
Donald Craig; Wlodzimierz M. Zuberek
CBE- Life Sciences Education | 2014
Steven M. Carr; H. Todd Wareham; Donald Craig
international conference on health informatics | 2010
Donald Craig; Gerard Farrell
Archive | 2015
Steven M. Carr; H. Dawn Marshall; Todd Wareham; Donald Craig