11
MDCF Tutorial Device Interface and App Development Acknowledgements: Funding provided by US National Science Foundation awards 0734204, 0930647 Clinical documentation and hardware provided by CIMIT MD PnP, DocBox, Inc., Cerner, Inc. http://mdcf.santos.cis.ksu.edu/

MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

Embed Size (px)

Citation preview

Page 1: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

MDCF Tutorial Device Interface and App Development

Acknowledgements:

Funding provided by US National Science Foundation awards 0734204, 0930647 Clinical documentation and hardware provided by CIMIT MD PnP, DocBox, Inc., Cerner, Inc.

http://mdcf.santos.cis.ksu.edu/

Page 2: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

Device Interface Development Current Workflow   Specify device interface

  Currently limited to input/output event ports

  Auto-generate .xml descriptors of component interfaces

  Auto-generate device code template   Complete coding

  Mock device: fill in code to simulate data streams or device control

  Real device: use host’s communication ports to communicate with real device

  Install device signature   Vision:   Signatures installed through Maintenance

console with authentication, or   Signature communicated dynamically

during “plug-n-play” step with authentication

  Current:   Signature is placed in a designated

directory that MDCF Network Controller will load at start up

Automatic code generation

Core “business logic” written by driver developer to either simulate device or access device over host’s communication ports

Connection protocol & channel set up code auto-generated

Device Interface

(ICE Device Model)

Vision: IDE for Driver Development & Validation

Vision: Integrated verification and validation

.compsig.xml

.java

Page 3: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

App Development Current Workflow   Break app functionality into components

and specify interfaces of each component   Auto-generate .xml descriptors of

component interfaces   Auto-generate code templates for

component implementations   Implement logic of components   Wire component interfaces together to

create app configuration   Auto-generate .xml description of app

configuration   Create app archive (.jar) and install

Vision: IDE for App Development & Validation

Component Interfaces, XML Sigs, and Implementations

App Configuration and XML description

<CONFIGURATION_PASS> <HOCOMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>

<CONFIGURATION_PASS> <HOCOMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>

<CONFIGURATION_PASS> <HOCOMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>

<CONFIGURATION_PASS> <HOCOMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>

.cfg.xml

.compsig.xml

.java

Page 4: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

App Archive Archive (.jar)

archive generation produces .jar containing…

<CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>

XML-based configuration information

.cfg.xml

+

XML for component signatures used in app

+

Java implementations of (non-device) components used in app

  Install app archive   Vision:   App archive installed through

Maintenance console with authentication, or

  App archive communicated dynamically during “plug-n-play” step with authentication

  Current:   App archive is placed in a designated

directory that MDCF Network Controller will load at start up

Page 5: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

BUILDING SIMPLE APP Tick Tock Example

Page 6: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

TickTock Example

  TickTockEmitter (Device Component)   TickTockInverter (Logic Component)   TickTockDisplay (App Panel Component)

Page 7: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

APP DEVELOPMENT I Designing Logic and App Panel component

Page 8: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

APP DEVELOPMENT II App configuration

Page 9: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

APP DEVELOPMENT III Building App Archive

Page 10: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

APPENDIX

Page 11: MDCF Tutorial Device Interface and App Developmentsantos.cis.ksu.edu/MDCF/doc/MDCF-Tutorial-Device... · MDCF Tutorial Device Interface and App Development ... DocBox, Inc., Cerner,

Roles of Components

  Device Component   Represents an interface to a real medical device or

which encapsulates a mock (simulated) medical device

  App Panel Component   Provides the control logic necessary for supporting a

UI that will appear on the MDCF Supervisor Console   Logic Component

  Represents software processing elements inside the app such as device data transformers, control logic, smart alarm decision components, etc