sl-gms overviewsldownloads.sl.com/docs/c++dev/6.2x/pdffiles/gpov/gpov.pdf · 2006. 5. 26. · •...

54
Part Number GPOV-360526 SL-GMS ® Overview SL Corporation ® OBJECT-ORIENTED GRAPHICAL MODELING SYSTEM Version 6.2a- 26 May 2006

Upload: others

Post on 10-Feb-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

  • SL-GMS® Overview

    SL Corporation®

    OBJECT-ORIENTED

    GRAPHICAL MODELING SYSTEM

    Version 6.2a- 26 May 2006

    Part Number GPOV-360526

  • The information in this document is subject to change without notice and shouldnot be construed as a commitment by the Sherrill-Lubinski Corporation. TheSherrill-Lubinski Corporation assumes no responsibility for any errors that mayappear in this document.

    The software described in this document is furnished under a license and may beused or copied only in accordance with the terms of such license.

    This software is based in part on the work of the Independent JPEG Group.

    Symbol Factory TM artwork is licensed from Software Toolbox, Inc.

    SL-GMS OverviewThis manual is for use only in connection with the described software and may notbe used for any commercial purpose or copied, distributed, sold, displayed,modified, published, or posted in whole or in part without the prior writtenpermission of Sherrill-Lubinski Corporation.

    SL-GMS, SL Corporation, the SL Logo, and all Sherrill-Lubinski product namesreferenced in this manual are trademarks or registered trademarks of theSherrill-Lubinski Corporation; any unauthorized use of these marks is strictlyprohibited. All trademarks and registered trademarks referenced in this documentare property of their respective companies.

    SL-GMS (6.2x) 26 May 2006Configuration: C62a1_360526

    Copyright (c) 1987-2006 Sherrill-Lubinski Corporation. All Rights Reserved.

    LIMITATIONS ON USE

    Use, duplication, or disclosure by the U.S. Government is subject to restrictions asset forth in the Technical Data - Commercial Items clause at DFARS252.227-7015, the Rights in Data - General clause at FAR 52.227-14, and anyother applicable provisions of the DFARS, FAR, or the NASA FAR supplement.

    SL CORPORATION240 Tamal Vista Blvd.

    Corte Madera, CA 94925

    CUSTOMER SUPPORTPhone 800.548.6881 (inside U.S.)

    415.927.8400Fax 415.927.8401E-mail [email protected]

    5/26/06 v6.2x

  • Table of Contents

    1. What Is SL-GMS?2. What are the Features of SL-GMS?

    Flexibility through object-oriented technology ............................. 2-1Object attributes ................................................................... 2-4

    Screen Dynamics ......................................................................... 2-5Dynamic Properties .............................................................. 2-5

    SubModels and Dynamic Instancing ............................................ 2-10Charts and Graphs as dynamic SubModels ........................... 2-14

    A powerful drawing tool: SL-GMSDraw ..................................... 2-15High-level programming objects .................................................. 2-17Powerful integration with native GUI control objects ................... 2-19

    Minimum programming........................................................ 2-20Control object interface ........................................................ 2-20The Native Control Object Library ....................................... 2-21

    Performance optimization ............................................................ 2-22Object level double-buffering ...................................................... 2-22Flexible support for imported graphics......................................... 2-23Multiple language interfaces ........................................................ 2-23Flexible data interface ................................................................. 2-23

    Simulation Datasource ......................................................... 2-24OPC Datasource ................................................................... 2-24

    Editor customization .................................................................... 2-24Mapping application library ......................................................... 2-25Numerous example applications ................................................... 2-27

    3. What are the Benefits of SL-GMS?Code reduction ............................................................................ 3-1Ease of Use.................................................................................. 3-1Portability ................................................................................... 3-1Upward compatibility .................................................................. 3-1Conformance with latest standards ............................................... 3-1Designed for OEM’s .................................................................... 3-2Unified Solution .......................................................................... 3-2

    4. The Unified SolutionPortability ................................................................................... 4-2Programming Frameworks ........................................................... 4-2

    SL-GMS AX/Developer ....................................................... 4-2

    SL-GMS Overview iVersion 6.2a- 26 May 2006

  • SL-GMS C++/Developer ...................................................... 4-3SL-GMS J/Developer ........................................................... 4-3Integration with Motif GUI builders ..................................... 4-4Integration with Visual C++ application frameworks ............ 4-4

    World Wide Web Solutions .......................................................... 4-5ActiveX solutions ................................................................. 4-6Java Solutions ...................................................................... 4-6

    5. How is SL-GMS Licensed?

    SL-GMS Overview iiVersion 6.2a- 26 May 2006

  • Version 6.2a- 26 May 2006

    Sherrill−Lubinski

    What Is SL-GMS?

    SL-GMS (SL Graphical Modeling System) is a 2D graphics software devel-opment tool that creates animated interface screens for the display andmanagement of dynamic data.

    Dynamic graphical screens are used in applications to manage real-time,real-world processes and events. Applications developed with SL-GMS arecommonly used in process control,

    Figure 1-1: . SL-GMS in Process Control

    SL-GMS Overview 1-1

  • power generation,

    Figure 1-2: . SL-GMS in Power Generation

    SL-GMS Overview 1-2Version 6.2a- 26 May 2006

  • manufacturing,

    Figure 1-3: . SL-GMS in Manufacturing

    SL-GMS Overview 1-3Version 6.2a- 26 May 2006

  • network management,

    Figure 1-4: . SL-GMS in Network Management

    SL-GMS Overview 1-4Version 6.2a- 26 May 2006

  • transportation,

    Figure 1-5: . SL-GMS in Transportation

    SL-GMS Overview 1-5Version 6.2a- 26 May 2006

  • defense command and control,

    Figure 1-6: . SL-GMS in Defense Command and Control

    SL-GMS Overview 1-6Version 6.2a- 26 May 2006

  • avionics,

    Figure 1-7: . SL-GMS in Avionics

    SL-GMS Overview 1-7Version 6.2a- 26 May 2006

  • and financial trading.

    Figure 1-8: . SL-GMS in Financial Trading

    SL-GMS Overview 1-8Version 6.2a- 26 May 2006

  • SL-GMS is the unified solution for dynamic graphics allowing mutli-platformdeployment of applications across UNIX

    Figure 1-9: . SL-GMS UNIX Application

    SL-GMS Overview 1-9Version 6.2a- 26 May 2006

  • Windows MFC,

    Figure 1-10: . SL-GMS Windows MFC Application

    SL-GMS Overview 1-10Version 6.2a- 26 May 2006

  • ActiveX /HTML,

    Figure 1-11: . SL-GMS ActiveX Control in HTML

    SL-GMS Overview 1-11Version 6.2a- 26 May 2006

  • ActiveX / Visual Basic,

    Figure 1-12: . SL-GMS ActiveX Control in Visual Basic

    SL-GMS Overview 1-12Version 6.2a- 26 May 2006

  • and Pure Java applets.

    Figure 1-13: . SL-GMS Pure Java Applet

    SL-GMS simplifies the construction of interactive graphical screens for thedynamic display and control of such applications.

    SL-GMS Overview 1-13Version 6.2a- 26 May 2006

  • 2

    Version 6.2a- 26 M

    What are the Features of SL-GMS?

    SL-GMS provides the following features

    • Flexibility through object-oriented technology

    • Screen Dynamics

    • SubModels and dynamic instancing

    • A powerful drawing tool

    • High-level programming objects

    • Powerful integration with native GUI control objects

    • Performance optimization

    • Flexible support for imported graphics

    • Multiple language interfaces

    • Flexible data interface

    • Editor customization

    • Mapping applications Library

    • Numerous example applications

    • Unified solution for portability and multi-platform applicationdeployment

    Flexibility through object-oriented technology

    SL-GMS is implemented using a true object-oriented architecture to pro-vide great versatility and functional extensibility to application source code.Such architecture, technically termed open, is hierarchical for efficiency,coherence, and simplicity. All SL-GMS higher-level utilities are built up fromthe same lower-level functions. At the same time SL-GMS does notrequired developers to be object-oriented programmers. The SL-GMS

    SL-GMS Overview 2-1ay 2006

  • What are the Features of SL-GMS?

    Run-time Functions provide the benefits of object-oriented design withoutadding complexity to an application.

    SL-GMS Objects

    Object Definition

    Graphical Primitives

    LinePolylinePolygonSplineClosed splineCircleRectanglePieSectorThree point sector MarkerTextFilled text rectangleBitmap

    graphical shapes that are defined by Points which fix their position and size

    Group a collection of Graphical Primitive objects that can be treated as a single Primitive and positioned anywhere

    GraphAxis/GraphTrace axes and plots for Graphs

    Model a collection of Graphical Primitive objects, Group objects, etc.

    Model Instance a position within a Model at which another specified Model is drawn

    View an object that describes the portion of a Model to display and where it is drawn in a window

    Workstation/Window an object that encapsulates the platform-dependent properties of a window and how to draw in it

    SL-GMS Overview 2-2Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    SL-GMS provides all components necessary to construct complex, custom-ized, dynamic charts and graphs consisting of any number or variety ofaxes and traces. Everything about the graph axes and traces functions inthe same way as other Graphical Primitives, including a set of specialactions to support the dynamic modification of any graph attributes (suchas value limits and plot data).

    Figure 2-1: . Graph Composed of Object Instances

    State a collection of Model, View, and Workstation/Window objects with sets of functions that operate on them

    System a collection of lists of Models, Views, Workstation/Windows, and modal attributes; the master control object for all of SL-GMS

    SL-GMS Objects(continued)

    Object Definition

    GraphAxis

    GraphAxisreference point major minor tick

    GraphTrace(Polyline) (Markers)

    GraphTrace GraphTrace(Polyline/Markers)

    tick tick label

    SL-GMS Overview 2-3Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Object attributesEach SL-GMS object has a set of Attributes which affect the display ofgraphical objects. The following tables list the attributes applicable toSL-GMS objects.

    Object attributes in SL-GMS are fully articulated. Every object attribute canbe changed directly with API functions, or manipulated by a dynamic prop-erty associated with the object.

    SL-GMS Object Attributes(Graphic Primitive Specific)

    Fill Color Fill Style Filled/Unfilled

    Line Color Line Style Line Width

    Text Color Text Font Text Height

    Text String Text Alignment Text Angle1

    1. The text angle attribute only applies to Hershey and True Typetext

    Arc Radius Arc Length Arc Start Angle

    Circle Radius Marker Color Marker Style

    SL-GMS Object Attributes(all Graphic Primitives, Groups, and Model Instances)

    User Data User Word Dynamic Property

    No Erase Flag Batch Erase Flag Double-buffer flag

    Points Relative Flag

    Points Symmetric Flag Dynarray Flag

    Transformation Matrix(move, rotate, & scale)

    SL-GMS Overview 2-4Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Screen Dynamics

    The aim of SL-GMS screen dynamics is to establish a one-to-one corre-spondence between 1) events on the screen, and 2) events in the real-timeenvironment — that is, the real process being visualized.

    Dynamic behavior is accomplished through actions which specify changesto be applied to objects in response to changes in application variables. Forexample, if a move action is specified in response to a change in the vari-able named position, the object is literally moved across the screen via atransformation matrix.

    Some examples of dynamic actions are shown in the following table.

    Dynamic PropertiesDynamic Properties (DynProps) are attributes of objects, just like graphicalattributes. At runtime, whenever specified data variables change, SL-GMSautomatically makes the correct sequence of library function calls to makespecified changes on the screen. DynProps can be attached to SL-GMSobjects using API calls in program code, or interactively with the SL-GMS-Draw editor.

    Examples of Dynamic Actions

    Sample Application Dynamic Action

    Position and movement with X and Y controlled independently

    Scale size of objects

    SL-GMS Overview 2-5Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Rotation of objects from any designated reference

    Fill and percent-fill of Circles, Closed Splines, Rectangles, and Polygons

    Color

    Visibility

    Line style, Line width

    Examples of Dynamic Actions(continued)

    Sample Application Dynamic Action

    Amps

    ALARM blackandred

    SL-GMS Overview 2-6Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Radius (of Circle)

    Text replace, including digital-readout values and strings

    Text font and height

    Graph axes and traces, linear, log, and calendar/clock

    Examples of Dynamic Actions(continued)

    Sample Application Dynamic Action

    34.5

    h hh

    SL-GMS Overview 2-7Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    SL-GMS provides over 50 kinds of dynamic actions that can be attached toscreen objects. Custom-built, user-defined dynamic actions can also beembedded in an icon. In this way developers can dramatically extend thedynamic properties of any SL-GMS object library.

    Both display dynamics, in which screen objects reflect the output of theapplication, and input dynamics, in which screen objects respond to mouseor keyboard events, are achieved by attaching Dynamic Properties to theobjects. In SL-GMS, dynamic specifications can be either part of the Modelor performed in application code. Since dynamic properties attached toModels are interpreted at runtime, the developer is assured that Modeldynamics are replicated when the application is moved to a new hard-ware/software platform.

    Virtually any property of an object, such as line length, circle radius, lineangle, or fill color, can be dynamically changed. Dynamic actions are either

    Bars, pies, and charts

    Examples of Dynamic Actions(continued)

    Sample Application Dynamic Action

    SL-GMS Overview 2-8Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    embedded in graphical icons or called from application code to change theappearance of an object in response to changes in application data vari-ables or input events.

    SL-GMS Overview 2-9Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    SubModels and Dynamic Instancing

    Any graphical Model created with SL-GMSDraw can be used repeatedly(nested) in the construction of other Models1 with full inheritance of theobject’s dynamic properties. SL-GMS supports the nesting of graphicalModels without writing any application code. This benefits developers whowish to standardize the appearance of various screen elements. Examplesof such nesting include common icons in a menu system, symbols repre-senting information overlaid on maps, buttons, meters, valves, gauges,charts, and graphs on process control screens.

    For example, the “meter” Model, shown in Figure 2-2:, can be re-used asmany times as required as a SubModel. Multiple instances are shown inFigure 2-3:.

    Figure 2-2: .Building the “meter” Model

    1. By contrast, graphical systems with “paint” architectures work by manipulating the pixels that make up a display, providing no organization beyond the position of a particular pixel on the display device.

    SL-GMS Overview 2-10Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Figure 2-3: . Instancing the “meter” Model

    Instances of SubModels become part of the Model as references only.When SubModels are re-edited or changed in any way, all Models in whichthey are incorporated as External are automatically updated to reflect thechanges.

    SL-GMS developers build libraries of Models that they re-use as SubMod-els in many different applications.

    In SL-GMSDraw, Models can be nested within other Models to an arbitrarynumber of levels. Each Model Instance retains the dynamic properties ofthe original Model. Users differentiate instance behavior by renaming vari-ables associated with the original Model.

    The ability to instance Models and then attach different driving variables iscalled parametric instancing. Parametric instancing is achieved inSL-GMSDraw by interactively creating an instance and assigning new val-ues or variables to each instance parameter. Each instance parameter can

    SL-GMS Overview 2-11Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    be assigned to a variable, a constant, an expression, or the value returnedby a user function. For applications that need to dynamically instanceobjects, parametric instancing can be accomplished programmaticallythrough API functions that are used to create an instance and assign val-ues or variables to its parameters.

    The aircraft icons shown in Figure 2-4: and Figure 2-5: are each a group ofthree instances of SubModels: speed bar, missile envelope and detectionring. The “speed bar” indicates the speed and direction of travel, the“detection ring” indicates the range of aircraft detection, and the “missileenvelope” indicates a firing range. Instances of the aircraft SubModel arecreated at runtime by the application.

    Figure 2-4: . An “aircraft” Model

    missile envelope

    speed bar

    detection ring

    SL-GMS Overview 2-12Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Figure 2-5: . Instances of the “aircraft” SubModel in a cockpit prototype screen

    RANGE STATUS NEXT

    60 KM

    SL-GMS Overview 2-13Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Charts and Graphs as dynamic SubModelsParametric instancing is particularly valuable for Graphs. A single Graphtemplate may have several controlling parameters, such as value limits, xtrace data, y trace data, background color, and so on. The SubModel ortemplate may be instanced, as shown in Figure 2-6: with different valuesset for each of its driving variables.

    To support dynamically changing graphs and charts, an extensive library ofready-to-use standard Graph templates are defined in SL-GMS. TheSL-GMS Graph Library2 includes trend graphs, pie charts, and logarithmicplots.

    Creating a working Graph involves simply instancing a Graph Model andrenaming variables for tick mark spacing, axis limits, and other characteris-tics.

    Figure 2-6: . Two Instances of the Graph template “lineplot”

    2. A complete description of the templates provided in the The SL-GMS Graph Library can be found in the SL-GMS Quick Reference.

    0 25 50 75

    0

    20

    40

    60

    80

    100

    0 25 50 75 100

    0

    250

    500

    750

    1000

    An Instance of the

    template SubModel

    "lineplot"

    using

    random numbers

    as its data source

    An Instance of the

    template SubModel

    "lineplot"

    using

    mathematical formulas

    as its data source

    SL-GMS Overview 2-14Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    A powerful drawing tool: SL-GMSDraw

    SL-GMSDraw is a graphic Model Editor that allows developers to create orimport custom screen objects, specify dynamic behaviors for those objects,and preview those behaviors with simulated data without writing programcode. SL-GMSDraw is a flexible, menu-driven tool with many CAD features.

    SL-GMSDraw provides:

    • tool panels to create and change objects

    • menus organized according to functionality

    • easy-to-use dialog windows

    • printing capabilities

    • import capabilities for foreign file formats, including “.xwd”(Motif) and “.bmp” (32-bit Windows) bitmaps

    • zoom and pan capabilities

    • “drag-and-drop” drawing operations for moving, scaling, rotating,and duplicating objects, and point handling

    • capability to select a list of objects and modify a graphicalproperty on the entire list with a single key-click

    • capability to select a list of objects and move forward andbackward through the list during editing operations

    • multiple “undo” and “redo” operations with the type of eachoperation identified

    • line-by-line error checking of dynamics scripts

    • 32-bit Windows- and Motif-compliant copy, cut, and pasteoperations via a clipboard

    • the ability to instance OLE controls in SL-GMS Models

    SL-GMSDraw is designed to take advantage of palettes which simplify theprocess of finding and instancing SubModels. An SL-GMSDraw palette issimply a Model that contains Model instances. SL-GMSDraw is shippedwith six pre-defined palettes that contain common control objects such asbuttons, scales and scrollbars. However, since an SL-GMSDraw palette is

    SL-GMS Overview 2-15Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    also a Model, custom palettes can be built in SL-GMSDraw itself. Any set ofModel instances can be combined to make a palette. Figure 2-7: shows acustom palette containing computer, and network equipment SubModels.

    Figure 2-7: .The SL-GMSDraw editor with the “PALETTE” window active

    SL-GMS Overview 2-16Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    High-level programming objects

    One of the most demanding tasks facing a developer of dynamic graphicalapplications is providing access to and processing of multiple screens(possibly in multiple windows) in different sequences as determined byuser input at runtime. SL-GMS simplifies programming tasks through classlibraries of high-level programming objects that package complex applica-tion operations such as

    • displaying all, or a portion of a Model in a window

    • changing the Model displayed in a window

    • zoom and pan operations

    • data linkage to Model variables

    • event handling

    • interactive object selection

    • data updates

    into ready-to-use modules.

    The base class of SL-GMS programming objects is known as the Stateclass. The State class combines finite-state-machine (FSM) and object-ori-ented programming concepts. Hence the name “State”. State objects aredesigned for easy use with other SL-GMS objects such as Models, Views,Workstation/Windows, and Events. The instantiation, destruction, manage-ment of and communication between State instances is provided by theState Management System (SL-SMS).

    Communication to State instances is accomplished through string-basedmessages which are sent by API functions, or dynamic actions attached tographical objects as shown in Figure 2-8: and Figure 2-9:. Application func-tionality contained in States is used by simply sending the appropriatemessages to State instances. Once an application’s capabilities are imple-mented in States, the messages that drive the application can come fromanywhere including files, queues, sockets, graphical objects in Models,pull-down menus, and toolbar buttons.

    SL-GMS Overview 2-17Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Figure 2-8: State Messaging with Native MFC Control

    Figure 2-9: State Messaging with SL-GMS Control Objects

    ON_COMMAND(ID_VIEW_ZOOMIN_ONCE, OnViewZoomInOnce)void CMainFrame :: OnViewZoomInOnce ( ){STMSG(“viewmgr”, “zoomin_once”, ““);}

    Visual C++ Generated Callback:

    State Messaging with MFC Controls

    State Messaging with SL-GMS Control Objects

    Renamed Variablesfor dynamic actions

    msg_statename :: “viewmgr”msg_strmsg :: “zoomin_once”value :: ““value_valtype :: 256

    set in SL-GMSDraw

    SL-GMS Overview 2-18Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Because a State encapsulates the basic elements of dynamic graphicalapplications, the management of multiple dynamic screens is handled at ahigh level. Therefore, a great deal of lower-level programming is eliminated.SL-SMS organizes the application into readable, easily managed modulesand provides a library of standard State classes available for use inapplication code or as templates to create customized State classes.

    SL-GMS provides three State Class libraries to assist in the developmentof SL-GMS applications.

    • SL-GMS State Class LibraryContains classes for the most common application functions.

    • SL-GMS Mapping Applications LibraryContains classes for advanced zoom/pan operations, Modellayering, decluttering and other functions required by map-basedapplications.

    • SL-GMS Editor LibraryContains classes that are used in SL-GMSDraw.

    Powerful integration with native GUI control objects

    Convenient user interaction with the screen in a windowing system is fun-damental to a successful graphical user interface. Operators must be ableto intuitively control real-world, real-time processes through mouse andkeyboard interaction. This interaction can be conducted using controlobjects. Many interface control objects are used, such as buttons, sliders,pull-down menus, scrolling lists, and text entry boxes.

    The control objects designed for use in a particular Graphic User Interfaceare said to be “native” to that GUI. For example, the control objects nativeto the X-windows Motif systems are called widgets. Graphical objects builtin SL-GMSDraw are completely compatible with widgets and other nativeGUI control objects. Motif widgets, for example, can be added to anSL-GMS graphical Model or an SL-GMS Model can be displayed in a Motifwidget.

    SL-GMS Overview 2-19Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Minimum programmingEncapsulating control object behavior within SL-SMS States frees thedeveloper from the details of programming in the underlying Window Sys-tem. In Windows NT environments native control objects are based uponthe Microsoft Foundation Class Library. In Unix environments native controlobjects are X-based Motif widgets.

    Figure 2-10: .SL-GMS encapsulates control object behavior

    With encapsulated behavior, there is no need to know details of WindowsNT or Motif programming: the developer can concentrate on the interfacesolution and still receive the benefits. See Figure 2-10:.

    Control object interfaceSL-GMS supplies powerful functionality that solves the problem of includ-ing native control objects in application screens. Through SL-GMS encap-sulation, native control objects can:

    • Display or modify application variables. No programming isrequired to achieve this.

    • Send a State message with parameters. Communication with theapplication is standardized and the application is automaticallymodularized. This separates the interface from the application.

    Programming effort necessary to create a complete interface for an appli-cation is greatly reduced by SL-GMS’ encapsulation of native controlobjects. Data is presented and modified via control objects through a sim-ple, direct-memory accessed table — an approach that is consistent withall other objects in SL-GMS.

    native control message

    applicationvariable

    to applicationobject

    applicationvariable

    SL-GMS Overview 2-20Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    The Native Control Object LibraryA library of the most common 32-bit Windows and Motif user interface con-trols is supplied in with SL-GMS. The controls are encapsulated for usewith SL-GMS and organized in palettes for convenient use in SL-GMSDraw.The Control Objects provided in the library include:

    • Push Button, Mode Button, Radio Button, Check Button, and3-state Check Button

    • Labels, Text Display and Text Edit Boxes (single and multi-line)

    • Text List Boxes

    • Scale Controls

    • Various Container Controls

    • Option menus

    Figure 2-11: Control Object Palette (Windows)

    SL-GMS Overview 2-21Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Figure 2-12: .Control Object Palette (Motif)

    Performance optimization

    SL-GMS provides exceptionally high performance in loading, displaying,and updating screens. Timing tools are provided to evaluate the perfor-mance of Models and many techniques are available for performance opti-mization. These include contiguous binary format, Model Instancecompression, double-buffering on an object-by-object basis, and the scop-ing of variables to a given State. See the SL-GMS® Reference manual fordetails.

    Object level double-buffering

    Double buffering provides smooth animation, but carries a performancepenalty, especially when applied to an entire Model. In SL-GMS the dou-

    SL-GMS Overview 2-22Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    ble-buffering flag can be set on individual objects. This selective applica-tion minimizes the performance penalty.

    Flexible support for imported graphics

    Because it supports a full 32-bit address space, SL-GMS allows high reso-lution maps, drawings, and images to be imported into SL-GMS Models.

    SL-GMS includes a DXF converter for importing AutoCAD files. The map-ping of AutoCAD entities and nested blocks is preserved and properly con-verted to the SL-GMS SubModel hierarchy. The conversion provides theadded benefit of attaching dynamics to any element within the hierarchy.

    SL Corporation provides specialized services for the conversion of filesfrom common map database sources, including those from NavTech, Tho-mas Bros., Tiger, and ETAK.

    Multiple language interfaces

    SL-GMS applications may be written in the C, C++, FORTRAN, and Adalanguages.

    Flexible data interface

    SL-GMS uses a data linkage technique that can be interfaced to any dataacquisition system. Variable references in Dynamic Properties are boundwith memory locations. When SL-GMS is notified of a change in the valueat a specified memory location, the graphic objects associated with thatvalue are updated automatically. The variable reference/memory bindingsare organized in tables that deliver high performance updates. Access to avariable binding table can be restricted to a single State instance, or agroup of State instances which localizes the data where it is needed andimproves performance.

    Classes are provided to give the developer easy access to Model informa-tion at run-time. The list of variable references in a Model can be queried atany time. Once the list of variable references is obtained, they can bebound with data obtained from sockets, pipes, shared memory, or any othersource of data.

    SL-GMS Overview 2-23Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    Simulation DatasourceSL-GMS is shipped with two pre-defined datasources. The first is a simula-tion datasource that is driven by text files containing data generation com-mands. The simulation datasource is used within SL-GMSDraw to testModel DynProps, and is also available to SL-GMS applications.

    OPC Datasource The second is an OPC (OLE for Process Control) datasource. The OPCFoundation is a consortium of companies including Microsoft and majorvendors of process control hardware, control systems and related tools.The charter of the OPC Foundation is to develop an open and interoperableinterface standard, based upon the functional requirements of OLE/COMand DCOM technology, that fosters greater interoperability between auto-mation/control applications, field systems/devices, and business/officeapplications. SL Corporation. is an active member of the OPC Foundationand SL Japan is a member of the Japan OPC Foundation.

    Applications using the OPC interface standards fall into two categories,either OPC Servers or OPC clients. OPC servers are networked data serv-ers that supply data for OPC clients. Examples of OPC clients are hard-ware I/O devices or graphical applications, which set or query the data fromOPC servers. To support the OPC standards, SL is creating an OPC datasource module that allows SL-GMS applications to act as OPC clientsaccessing and setting OPC server data. With this OPC data source mod-ule, the developer will be freed from programming or having to understandthe OPC protocols to communicate with an OPC server. This will beaccomplished by providing an easy means of allowing SL-GMS variables,which are driving object dynamics to be associated with available data froman OPC server.

    The OPC Datasource for SL-GMS is available by request.

    Editor customization

    The SL-GMSDraw editor is designed for easy configuration, and customi-zation. This flexability is obtained through use of the States in the SL-GMSEditor Library. Through four basic levels of customization, SL-GMSDrawcan be transformed to fit any set of requirements.

    • User preferencesMany aspects of the editor, such as the Undo/Redo stack size

    SL-GMS Overview 2-24Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    are changed through dialogs. Configurable parameters andinformation on the current state of the editor, such as activewindows and their positions are saved in resource files.

    • Appearance It is possible to change the way a particular function is presentedwithout changing the function itself. For example, the form orlayout of particular dialog boxes, or the text of menu entries canbe changed.

    • Simplified for ease of useCommon functions that are used frequently can be groupedtogether, or functions they are not needed can be removed frommenus, Models, and toolbars.

    • Enhanced to include new functionalityGraphical objects, with dynamic behaviors, that represent thereal-world objects of your business can be added. Access toexternal sources of data can be added and associated with thevariables used in Models through custom dialogs. New functionscan be added that manipulate external files or communicate withother processes, which are accessed through custom menuentries and toolbar buttons.

    The first three levels of customization can be done without changing editorcode or rebuilding the editor. The fourth level is available to SL-GMS OEMcustomers.

    Mapping application library

    Applications that use map and network data have special requirements dueto the large number of objects and images, and the navigation and viewingtechniques used with such large data sets. The SL-GMS Mapping applica-tion library provides developers with the capability of creating interactive,animated graphics that satisfy the needs of map and network based appli-cations.

    • Support of Imported Vector BackgroundsUtilities are provided for converting map data into SL-GMSModels that can be layered and tiled for increased viewingperformance. A large, complex map Model can be seperated intooverlapping or stacked Models which serve as map layers. For

    SL-GMS Overview 2-25Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    example, interstate highways in one Model, railroads in anotherModel, bodies of water in a Model, major streets in a Model, andneighborhood streets in a Model. Then, map layers can bedivided into adjoining rectangular Models called tiles.

    • Automatic management of map tilesThe SL-GMS Mappling Library controls the movement of Modelsto and from memory based on the current view of the map. Onlythe visible tiles that fall within the current view of the map are inmemory.

    • Smooth Pan, Zoom and DeclutteringMany options are available with SL-GMS for panning andzooming maps. The map library supports continuous zoomingand panning. Automatic and manual decluttering allowsindividual layers of the map to be displayed or hidden. The zoomthresholds at which layers are hidden or made visible can beadjusted without any programming changes, simply by editingthe layer configuration file.

    • Dynamic Vector MapsDynamic Properties can be associated with map vectorsallowing the color, style, or thickness of any vector to change inresponse to real-time data.

    • Dynamic IconsGraphic icons are instanced and moved dynamically on top ofthe map based on real-time position data. Conversely, users canselect a (moving) icon and the icon will remain centered in themap window while the background map moves beneath it. Also,different icons can be used to represent the same object atvarious zoom levels of the map

    • Non-Programmatic ConfigurationSL-GMS greatly reduces the amount of code that must bewritten for map and network applications. The SL-GMS mappinglibrary supports configuration files that specify

    1. information about the layers and tiles that make up the map.

    2. information about the layers in the map including their stackingorder and zoom thresholds for automatic decluttering.

    SL-GMS Overview 2-26Version 6.2a- 26 May 2006

  • What are the Features of SL-GMS?

    3. information about each of the windows that displays a map,including its size, position, user interface elements and configu-ration.

    The configuration files eliminate much of the code that is normally needed for a map or network application.

    • Integration with Live Video DisplaysApplications built with the SL-GMS Mapping Library can easilybe integrated with live video from CCTV cameras or otherdevices in the field, giving the operator a real-time view ofconditions at specific locations.

    Numerous example applications

    Over 70 examples are provided with SL-GMS that demonstrate its featuresand can servd as starting points for application development. Each exam-ple contains Models that can be used as is, or modified for use in applica-tions.

    SL-GMS Overview 2-27Version 6.2a- 26 May 2006

  • 3

    Version 6.2a- 26 M

    What are the Benefits of SL-GMS?

    SL-GMS helps developers achieve the following fundamental goals:

    Code reduction

    By providing functions and structures that simplify the construction, activa-tion and management of multiple, hierarchically related graphical screens.

    Ease of Use

    By automating the most difficult and time-consuming aspects of dynamicgraphics development.

    Portability

    By providing a file format that will allow completed screens to be easilymoved to other hardware/software platforms.

    Upward compatibility

    By ensuring that the screens created will always be compatible with laterversions of SL-GMS.

    Conformance with latest standards

    By incorporating new graphics standards in such a way that screens devel-oped under previous standards can still be displayed.

    SL-GMS Overview 3-1ay 2006

  • What are the Benefits of SL-GMS?

    Designed for OEM’s

    By using over 10 years of experience supporting OEM customers to contin-ually enhance SL-GMS, and provide development tools which allow OEMcustomers to build their own products that can showcase their own lookand feel, distinctive differences and domain expertise. Products are fasterto market and are flexible enough for the OEM end-users to customize theirown preferences in graphical interface needs. SL Corporation has had along history of supporting OEM partners in creating innovative and suc-cessful products.

    Unified Solution

    By providing rapid mulit-platform application deployment, preservation ofinvestment, and insulation from changes in technology.

    SL-GMS Overview 3-2Version 6.2a- 26 May 2006

  • 4

    Version 6.2a- 26 M

    The Unified Solution

    An important issue for the development of graphical user interfaces hasalways been the support of diverse Operating Systems, or different graph-ics libraries. With the advent of large network and web based applications,a new set of problems has emerged. Now, the issue is how to maintain acommon body of code in multiple component architectures and in new lan-guage and operating environments like Java. Application designers arefaced with difficult design decisions to support these various environmentsand to protect their investment when new technologies are introduced.

    The SL-GMS Unified Solution is a development concept designed to pro-vide maximum reusability of dynamic graphical interfaces across operatingsystem and framework architectures. While the Unified Solution insuresreusability, it also has a prime objective of providing tools which seamlesslyintegrate into the standard software development environments. SL alsouses these design criteria to investigate new technologies and insure thatcustomers can take advantage of them with minimal impact.

    The first concept in the SL-GMS Unified Solution involves defining graphicobjects and their animation (dynamic behavior) in platform/framework inde-pendent “graphical Model” files. SL-GMS Model files, created eitherthrough the SL-GMSDraw graphical editor or programmatically createdthrough the SL-GMS API, shield the user from the low level (and potentiallynon-portable) details of application development. The SL-GMS RuntimeEngine, which is available in all the platform/framework environments, isthen used to render these dynamic displays.

    The second concept of the SL-GMS Unified Solution provides tools for han-dling the complex user interactions, which must be defined to managethese dynamic displays. Typical interactions such as zoom/pan, object clut-ter/declutter/layering, object selection, and object property display andediting, often require complex low level (and potentially non-portable) eventhandling code. The SL-GMS State Management System is a library of highlevel management objects that provide an extensive and extendable set ofthese screen management features that can be directly ported to any of theplatform/framework environments.

    SL-GMS Overview 4-1ay 2006

  • The Unified Solution

    The SL-GMS Unified Solution currently supports applications developed inMicrosoft/MFC, Unix/Motif, and Java environments, as well as Java Beanand ActiveX component frameworks which are designed for ease of use incommon development environments such as Visual Cafe and Visual Basicand for use in web based applications.

    Portability

    SL-GMS works with the most widely used programming languages on avariety of hardware platforms under different operating systems and graph-ics systems. Graphical Models created with SL-GMSDraw can be saved ineither text or binary format. For example, the SL-GMS text format (“.g”) filesof Models developed on a Windows platform can be “ported”, unaltered, toa UNIX platform.

    The text format can be read and modified by a standard text editor on anyplatform and can be transformed with a single command into the nativebinary format for the platform. The text file format is particularly usefulwhen making global modifications to Models.

    Application code that uses the SL-GMS run-time libraries is portable to allplatforms supported by SL-GMS. As long as low-level, platform-dependentfeatures are not used, SL-GMS programs are ported by recompiling themon the target platform.

    Programming Frameworks

    SL-GMS can be used within native application frameworks. The applicationframework is buit using tools native to the environment. The framework cre-ates windows, or drawing areas in which SL-GMS can draw Models.

    SL-GMS AX/DeveloperSL-GMS AX/Developer enables users to create dynamic graphic displaysusing SL-GMSDraw and then animate these displays with live data fromwithin any ActiveX container such as Visual Basic or MS Internet Explorer.The SL-GMS AX/Developer includes the SL-GMSDraw graphical editor, theSL-GMS ActiveX control, and example uses of the control in the VisualBasic and HTML environments.

    The developer is able to create sophisticated graphical user interfaces inVisual Basic or web scripting environments without writing any C/C++

    SL-GMS Overview 4-2Version 6.2a- 26 May 2006

  • The Unified Solution

    code. The Models created with SL-GMSDraw are also portable to C/C++ orJava product environments.

    SL-GMS C++/DeveloperSL-GMS C++/Developer provides a complete solution for a wide range ofgraphics display and user interface requirements. The SL-GMS C++/Devel-oper contains the SL-GMSDraw graphical editor, SL-GMS Runtime libraryfor C++, tools and source templates for C/C++ application development.

    SL-GMS C++/MapSL-GMS C++/Map is an extension to SL-GMS C++/Developerwhich allows for the inclusion of high performance dynamicgeographical map displays and map icons within user interfaceapplications. SL-GMS C++/Map includes the SL-GMS Mappinglibrary and API , and traffic application frameworks.

    SL-GMS C++/Map is useful for traffic management systems, andutilities such as gas and power distribution who need highperformance geographical maps and real-time dynamicgraphics.

    SL-GMS C++/NetSL-GMS C++/Net is an extension to SL-GMS C++/Developerwhich provides functionality specific to the graphical userinterface needs of telecom/network management applicationdevelopers. SL-GMS C++/Net includes the Advanced Mappinglibraries providing support for node and connectivity features,and network management application frameworks.

    SL-GMS C++/Net is useful for customers needing highperformance cartographic maps, physical network diagrams,logical network diagrams, and equipment displays.

    SL-GMS J/DeveloperSL-GMS J/Developer allows for quick prototyping and rapid deployment ofJava applications and Java applets that require high performance dynamicgraphics. The SL-GMS J/Developer includes the SL-GMSDraw graphicaleditor, a code generator for Java, tools and source templates for Java appli-cations and Java applets.

    SL-GMS Overview 4-3Version 6.2a- 26 May 2006

  • The Unified Solution

    SL-GMS J/NetSL-GMS J/Net is an extension to SL-GMS J/Developer whichprovides functionality specific to the graphical user interaceneeds of telecom/network management developers on the Javaplatform. SL-GMS J/Net includes the J/Net network libraryextension and associated API, network sysmbols library, telecomapplication frameworks and source templates.

    SL-GMS J/Net features Thin Client technology, highperformance, customizable icons, industry standard icon libraryand automatic icon placement algorithms.

    Integration with Motif GUI buildersTo avoid the complexities of Motif programming, a growing number of largecorporate and government developers begin application development usingMotif productivity tools such as TeleUSE, UIM/X, or Builder Xcessory.These tools enable developers to build widgets interactively with drawingtools and to link events and callbacks to their code. SL-GMS provides themeans to easily integrate dynamic graphics, designed with SL-GMS draw-ing tools, with the Motif widgets produced by the productivity tools and toextend the object-oriented appearance provided by Motif to encompass thefunctional aspects of the application.

    Integration with Visual C++ application frameworksUnder Windows NT, SL-GMS is compatible with window control code andapplication frameworks developed with Visual C++. Developers may useVisual C++ to design the window controls for all or part of the user interace.SL-GMS provides access to and display of data within the existing frame-work of the application.

    Integrating graphicsThe application provides SL-GMS a single widget or multiplewidgets including a “drawing area” in which to draw. On-lineexamples distributed with SL-GMS show how widget creationand passing of the “drawing area” are done.

    Extending the object-oriented appearanceCurrently evolving sub-libraries of SL-SMS provide pre-cannedStates and SL-supplied callbacks that act as “wrappers” around

    SL-GMS Overview 4-4Version 6.2a- 26 May 2006

  • The Unified Solution

    Motif widgets. These “wrappers” eliminate much of thehand-coding ordinarily required to activate the widgets, feeddata to be displayed in them, and define callback functions tocontrol the application functions. In the resulting systemprocess, GUI screen states follow the required system statechanges, according to the overall object-oriented design, ratherthan forcing the system states to be driven by changes on thescreens. Current SL-SMS sub-libraries provided are:

    With SL-GMS, the application is portable across Motif builders;in fact, Windows NT objects can be substituted for Motif widgets.

    World Wide Web Solutions

    SL-GMS provides a unified solution to the problems facing designers ofnetworked applications. It provides a common definition and storage mech-anism for all the dynamic graphics screens and a powerful editor for theconstruction of these screens and components. The same dynamicscreens can be deployed in a wide range of environments, from thehigh-performance operator stations on a factory floor or a control room, toa web-browser viewing the same displays across the internet.

    SL-GMS provides a number of options for monitoring and control systemsthat need to be deployed in an intranet/internet environment. Choosing thecorrect option involves understanding the functionality and performanceneeded as well as the browser and platform requirements.

    SL-SMS Sub-library Used for

    SL-SMS-XM SL-GMS/Motif applications

    SL-SMS-WNT SL-GMS/Windows NT applications

    SL-GMS Overview 4-5Version 6.2a- 26 May 2006

  • The Unified Solution

    ActiveX solutionsWith the SL-GMS ActiveX solutions, users can place an SL-GMS ActiveX inan HTML page which will display the dynamic graphical screens built inSL-GMSDraw. The client must only have a Windows operating system andan ActiveX compatible browser (e.g. Microsoft Internet Explorer). When theHTML page is viewed in the browser, the SL-GMS ActiveX component isdownloaded from the server and registered on the client. Subsequentbrowsing of this HTML page will not require another download of theSL-GMS ActiveX unless the version number of the control has changed.Only one version of the SL-GMS ActiveX control needs to be downloadedregardless of how many different HTML pages with various models areviewed through the browser. The SL-GMS ActiveX control can either dis-play dynamic screens which already reside on the client or it can downloadthese screens directly from the server. There is no need for any SL-GMSspecific server features to support this functionality.

    Developers have the option of using the SL-GMS ActiveX Source CodeExample or the self-contained SL-GMS ActiveX. The Source Code Exam-ple would be used when developers would like to use Visual C/C++ toencapsulate existing SL-GMS applications, add specific data connectivitywhich is available from C/C++ or to add extensions to SL-GMS such asuser defined functions for special dynamic actions. The self-containedSL-GMS ActiveX would be used when no C/C++ programming is desiredand data connectivity is performed from the container's (browser) environ-ment through the data variables exposed from the ActiveX control.

    The ActiveX approach has the benefits of being a mature browser solutionthat integrates well with standard Microsoft environments. It also has thebenefit of native performance. It is limited only in that COM/DCOM is notcurrently well supported in operating systems other than Microsoft win-dows, and ActiveX is not supported on all browsers.

    Java Solutions SL-GMS J/Developer and SL-GMS J/Net provide an integrated solution sothat background maps, dynamic graphic displays and dynamic graphicsymbology used in any SL-GMS product can be accessed via the web orintranet using Pure Java thin clients. The SL-GMS Code Generator for Javaprovided with SL-GMS J/Developer, produces Pure Java source code forClasses which implement the dynamic graphics displays built in the editor.These Classes make use of a small, compact, and efficient run-time class

    SL-GMS Overview 4-6Version 6.2a- 26 May 2006

  • The Unified Solution

    library, which can be packaged with each applet to make it completelyself-contained.

    The Java code that is produced by the SL-GMS tools is readily usable in avariety of forms - as an applet, a Frame, a Java Bean, or a simple JavaClass. Several options permit the user to make tradeoffs regarding down-load time, data compression, redraw performance, etc.

    SL-GMS J/Developer has been specifically designed to create compact,efficient and high performance Java code for use in web applications andgenerates applets which can be compatible with any commonly usedbrowsers including older ones such as MS Internet Explorer 4 andNetscape 4.

    SL-GMS Overview 4-7Version 6.2a- 26 May 2006

  • 5

    Version 6.2a- 26 M

    How is SL-GMS Licensed?

    SL-GMS is licensed for use in two basic configurations: a Developmentsystem and a Run-time system.

    The developer uses the SL-GMS Development System to create an appli-cation. The end user executes the application with the SL-GMS Run-timeSystem.

    The Development System is a comprehensive development environmentthat includes the following tools:

    • Libraries of screen objects, control functions, and palettes

    • A graphical editor used to develop dynamic graphical screens,called Models

    • File converters

    Developers use the Development System to build graphical capabilities intotheir application. SL-GMS enables developers to create custom Modelswhich can be displayed once on a screen or can be re-used without limit byplacing them (as SubModels) in other Models.

    The Run-time System is a read-only version of SL-GMS that is used to loadand run the dynamic, interactive application created with the DevelopmentSystem. When the application is loaded and executing, the SL-GMSRun-time Functions load the Model files as required and display them onthe designated platform.

    Other licenses, such as an OEM license to customize editors (SL-GMS-Draw & SL-MINIDRAW), are also available under special arrangement withSL.

    SL-GMS licenses are node-locked, meaning a license key is required foreach computer using an SL-GMS development or run-time system.SL-GMS licenses are protected on Windows NT by a hardware key (Don-gle), or an ethernet card. Other license arrangements can be negotiatedwith SL Corporation.

    SL-GMS Overview 5-1ay 2006

    SL-GMS® OverviewTable of ContentsWhat Is SL�GMS?What are the Features of SL-GMS?Flexibility through object-oriented technologyObject attributes

    Screen DynamicsDynamic Properties

    SubModels and Dynamic InstancingCharts and Graphs as dynamic SubModels

    A powerful drawing tool:��SL�GMSDrawHigh-level programming objectsPowerful integration with native GUI control objectsMinimum programmingControl object interfaceThe Native Control Object Library

    Performance optimizationObject level double�bufferingFlexible support for imported graphicsMultiple language interfacesFlexible data interfaceSimulation DatasourceOPC Datasource

    Editor customizationMapping application libraryNumerous example applications

    What are the Benefits of SL-GMS?Code reductionEase of UsePortabilityUpward compatibilityConformance with latest standardsDesigned for OEM’sUnified Solution

    The Unified SolutionPortabilityProgramming FrameworksSL-GMS AX/DeveloperSL-GMS C++/DeveloperSL-GMS J/DeveloperIntegration with Motif GUI buildersIntegration with Visual C++ application frameworks

    World Wide Web SolutionsActiveX solutionsJava Solutions

    How is SL-GMS Licensed?Return to Documentation CD Index