sl-gms overviewsldownloads.sl.com/docs/c++dev/6.2x/pdffiles/gpov/gpov.pdf · 2006. 5. 26. · •...
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