graphical object oriented programming
Skip this Video
Download Presentation
Graphical Object-Oriented Programming

Loading in 2 Seconds...

play fullscreen
1 / 19

Graphical Object-Oriented Programming - PowerPoint PPT Presentation

  • Uploaded on

Graphical Object-Oriented Programming. Jörgen Jehander - ENDEVO Stepan Riha - LabVIEW Software Engineer Thu 10:15a, 12:45p, and 3:30p Red River (4B). Overview. Problems with monolithic applications Conventional development Component-based development Using components in LabVIEW

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Graphical Object-Oriented Programming' - lucian

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
graphical object oriented programming

Graphical Object-Oriented Programming

Jörgen Jehander - ENDEVO

Stepan Riha - LabVIEW Software Engineer

Thu 10:15a, 12:45p, and 3:30p

Red River (4B)

  • Problems with monolithic applications
  • Conventional development
  • Component-based development
  • Using components in LabVIEW
  • Implementing OOP in LabVIEW
problems with monolithic applications
Problems with Monolithic Applications
  • Difficulties we face:
    • Design can quickly become confusing
    • Numerous developers increase problems
    • Testing is not straightforward
    • Difficulty finding and correcting bugs
    • Expensive to add functionality
conventional development
Conventional Development
  • Top-down design
    • Functionality abstracted into subVIs
  • GUI often designed first
    • SubVIs often created from sections of virtual instruments (VI)
  • State information stored in global variables
    • Data dependencies
    • Race conditions
conventional development1
Conventional Development
  • Case study – climate control system
    • Maintain a desired temperature using a heater, cooler, fan, and temperature sensor
conventional development2
Conventional Development
  • Climate control system
component based development

Component Program

Component A

Component B

Component C

Component D

Component E

Component-Based Development

Monolithic Program

component based development1
Component-Based Development
  • Design begins by identifying components
    • Look at the problem description
    • Think in higher level terms
    • Decide on responsibility and behavior of each component
    • Test each component on its own
  • Application is built up from components
    • They snap together like Lego blocks
    • You can add new pieces in the future
component based development2
Component-Based Development
  • Case study – climate control system






component based development3
Component-Based Development
  • Climate control system
designing components
Designing Components
  • Responsibility first
    • Determine component behavior
    • Decide on component responsibilities
  • Interface second
    • Select which functions you should use to control the component
  • Implementation third
    • Test component
using components in labview
Using Components in LabVIEW
  • Queue VIs
    • Responsibility
      • Passing data between diagrams running in parallel
      • Using FIFO buffer for string data
    • Interface
      • Create queue
      • Insert queue element
      • Remove queue element
      • Destroy queue
classes methods and objects
Classes, Methods, and Objects
  • Classes
    • Implementation of components
  • Methods
    • Public interface to component
  • Objects
    • Instances of class data
implementing oop in labview
Implementing OOP in LabVIEW
  • Should use the same as built-in components
  • No direct language support in LabVIEW
    • Object management implemented on diagram
  • Class Wizard
    • Automatically generates class and method VIs
implementing oop in labview1
Implementing OOP in LabVIEW

Class New

Creates an object

Class Delete

Destroys the object

Class Get Data

Reads object state information (read-only)

Class Get Data to Modify

Class Set Modified Data

Reads and writes object state information

implementing oop in labview2
Implementing OOP in LabVIEW
  • Class Methods
    • Implemented using Get Data or Get Data to Modify and Set Modified Data VIs
graphical object oriented programming conclusion
Graphical Object-Oriented Programming Conclusion
  • GOOP and Components improve:
    • Reusability
    • Testability
    • Maintenance
    • Scaleability
    • Team development
  • GOOP is built on:
    • Classes, objects, and methods