Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Donald Craig is active.

Publication


Featured researches published by Donald Craig.


international conference on dependability of computer systems | 2006

Compatibility of Software Components - Modeling and Verification

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

Verification of Component Behavioral Compatibility

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

An EHR interface for viewing and accessing patient health events from collaborative sources

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

Component Compatibility and Its Verification

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

Multicomponent Compatibility and its Verification

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

Extensible hierarchical object-oriented logic simulation with an adaptable graphical user interface

Donald Craig


Archive | 2007

Petri Nets in Modeling Component Behavior and Verifying Component Compatibility

Donald Craig; Wlodzimierz M. Zuberek


CBE- Life Sciences Education | 2014

A web application for generation of random DNA sequences with a single open reading frame: exemplars for genetics and bioinformatics education.

Steven M. Carr; H. Todd Wareham; Donald Craig


international conference on health informatics | 2010

DESIGNING A PHYSICIAN-FRIENDLY INTERFACE FOR AN ELECTRONIC MEDICAL RECORD SYSTEM

Donald Craig; Gerard Farrell


Archive | 2015

The Big ORF Theory

Steven M. Carr; H. Dawn Marshall; Todd Wareham; Donald Craig

Collaboration


Dive into the Donald Craig's collaboration.

Top Co-Authors

Avatar

Steven M. Carr

Memorial University of Newfoundland

View shared research outputs
Top Co-Authors

Avatar

Wlodek M. Zuberek

Memorial University of Newfoundland

View shared research outputs
Top Co-Authors

Avatar

Wlodzimierz M. Zuberek

Memorial University of Newfoundland

View shared research outputs
Top Co-Authors

Avatar

H. Dawn Marshall

Memorial University of Newfoundland

View shared research outputs
Top Co-Authors

Avatar

H. Todd Wareham

Memorial University of Newfoundland

View shared research outputs
Top Co-Authors

Avatar

Todd Wareham

Memorial University of Newfoundland

View shared research outputs
Top Co-Authors

Avatar

Gerard Farrell

Memorial University of Newfoundland

View shared research outputs
Researchain Logo
Decentralizing Knowledge