Home
Dynamic range assessment in block diagram systems
Contents
1. 2011 0214044 Al 9 2011 Davis et al 7 835 895 B1 11 2010 Orofino et al cece 703 13 2012 0066762 Al 3 2012 Todorovic 7 966 562 B1 6 2011 Brewton et al 2013 0198527 Al 8 2013 Lu et al 7 996 513 B2 8 2011 Gorman et al 2014 0053090 Al 2 2014 Lu et al 8 046 708 B1 10 2011 Aldrich 2014 0059525 Al 2 2014 Jawa et al 8 423 326 B1 4 2013 Astolfi etal sss 703 1 2014 0059573 Al 2 2014 Jawa etal 2002 0049934 Al 4 2002 Anderson et al 714 45 OTHER PUBLICATIONS 2002 0052725 Al 5 2002 Wasynczuk et al 703 22 2002 0054101 Al 5 2002 Beatty 345 764 LabVIEW User Manual National Instruments Jan 1998 Edition pp 2002 0070968 Al 6 2002 Austin et al 1 514 Part No 3209999B 01 2002 0143857 A1 10 2002 Bidarahalli et al 709 203 NightSim User s Guide Concurrent Computer Corporation pp 2003 0005180 Al 1 2003 Schmit et al 1 136 Sep 2002 2003 0016206 A1 1 2003 Taitel RedHawk Linux Real Time Software Environment Concurrent 2003 0037322 AI 2 2003 Kodosky etal 717 162 Computer Corporation pp 1 2 2002 2003 0046663 Al 3 2003 Rogers et al oes 717 425 W Mansor Z Awang and M Taib Software Methodology for 2003 0084127 Al 5 2003 Budhiraja et al Remote Monitoring and Control System pp 509 511 IEEE 2000 2003 0093239 Al 5 2003 Schmit SIMULINK model based and system based design Version 5 pp 2003 0107595 Al 6 2003 Ciolfi i xxii 1 1 to I 18 2002 Ee a prs Kodosky etal Using Simulink Version 5 pp 1 476
2. 51 Int CI 2002 G06F 17 50 2006 01 Continued GO6F 9 44 2006 01 Continued 52 U S CI Primar y Examiner Omar Fernandez Rivas AE pU 703 1 703 Pn nee Med eee Assistant Examiner Kibrom Gebresilassie 58 Field of Classification Search 74 Attorney Agent or Firm Harrity amp Harrity LLP USPC 717 105 124 125 127 130 132 153 717167 715 763 764 7 ABSTRACT See application file for complete search history Remote monitoring tools are provided for non intrusively and synchronously interacting with graphical models The remote 56 References Cited monitoring tools are dynamically connected to the graphical U S PATENT DOCUMENTS model without requiring the addition of components to the DE model definition The remote monitoring tool can perform 5 061 245 A 10 1991 Waldvogel dynamic range assessment on the graphical model 5 331 111 A 7 1994 O Connell 5 946 485 A 8 1999 Weeren etal oc 717 109 35 Claims 10 Drawing Sheets Provide Graphical Model 80 Connect Remote Monitoring Tool to Graphical Model 82 Observe Collect Data 84 If so Configured Reglster Perform Dynamic Range Assessment 88 Repeat as Necessary to Debug 20 US 8 812 269 B1 Page2 56 References Cited 2004 0210798 A1 10 2004 Higashi 2004 0255269 Al 12 2004 Santori et al U S PATENT DOCUMENTS 2005 0144587 Al 6 2005 Bryant 2005 0183098 AI 8 2005 Ilic et al 7 134 000 B2 11 2006 Kodosky
3. In addition to applications previously mentioned modeling applications such as Sim ulink 516 can be installed and operated on the electronic device 500 It should be noted that the electronic device 500 is merely representative of a structure for implementing the present invention However one of ordinary skill in the art will appre ciate that the present invention is not limited to implementa tion on only the device 500 as described herein Other imple mentations can be utilized including an implementation based partially or entirely in embedded code where no user inputs or display devices are necessary Rather a processor can communicate directly with another processor or other device Turning now to example embodiments of the present invention the method and system of the present invention operate in a block diagram modeling environment such as that of Simulink The block diagram modeling environment is otherwise referred to herein as the graphical model One of ordinary skill in the art will appreciate that there are a number of different graphical modeling and simulation applications that make general use of blocks or other graphical represen tations to model or simulate conditions events designs operations and the like or to model and control events imple mented on hardware devices and the like Accordingly the present invention is intended for use on all such modeling applications The present invention is gener
4. 2002 amanna et al ie 2004 0032429 Al 2 2004 Shah et al National Instruments LabVIEW Graphical Programming for 2004 0034696 Al 2 2004 Joffrain et al Instrumentation User Manual 34 pages 1996 2004 0045009 Al 3 2004 Bryant eee 719 316 International Search Report for PCT US2005 045493 4 pages dated 2004 0064750 Al 4 2004 Conway Apr 25 2007 2004 0093197 Al 5 2004 Billemaz et al 703 13 Summons to Attend Oral Proceedings for Application No 05854256 2004 0153997 Al 8 2004 Anderson et al 717 127 4 14 pages dated Nov 28 2012 2004 0205726 Al 10 2004 Chedgey etal 717 125 2004 0210426 Al 10 2004 Wood cited by examiner U S Patent Aug 19 2014 Sheet 1 of 10 US 8 812 269 B1 CPU Display Device 502 504 Keyboard Mouse 506 508 Electronic Device 500 Primary Storage Secondary Storage 510 512 Network Interface 514 Modeling Simulation Application Simulink 516 Fig 1 US 8 812 269 B1 Sheet 2 of 10 Aug 19 2014 U S Patent Vc 914 AEE ped 0592 ads HOM aj i 1 t oz Hi bs IIX i t3 epus abus X e u bh uqng Lid UOSUMO uagepua2ojny AVILVA i epe V euis EXOBL pez elus zi ars prz afus us Vi wa Wl Y Ja KO ULUWEY AE m m s zie x emclo daj spo jewid4 uojemwig maA WI ol U S Patent Aug 19 2014 Sheet 3 of 10 US 8 812 269 B1 19a 11 User starts Model ooo Remote Monitroing Tool registers liste
5. Processing to study design debug and refine dynamic systems Dynamic systems which are characterized by the fact that their behaviors change over time are representative of many real world systems Graphi cal modeling has become particularly attractive over the last few years with the advent of software packages such as Simulink made by The MathWorks Inc of Natick Mass LabVIEW made by National Instruments Corporation of Austin Tex and the like Simulink provides sophisticated software platforms with a rich suite of support tools that makes the analysis and design of dynamic systems efficient methodical and cost effective A dynamic system either natural or man made is a system whose response at any given time is a function of its input stimuli its current state and the current time Such systems range from simple to highly complex systems Physical dynamic systems include a falling body the rotation of the earth bio mechanical systems muscles joints etc bio chemical systems gene expression protein pathways weather and climate pattern systems etc Examples of man made or engineered dynamic systems include a bouncing ball a spring with a mass tied on an end automobiles air planes control systems in major appliances communication networks audio signal processing nuclear reactors a stock market etc Professionals from diverse areas such as engineering sci ence education and economics build math
6. by the remote monitoring tool are main tained while the model is not running step 60 When the model is not running step 60 the user can edit the model and possibly change it structure If the act of editing the model deletes an object such as a block 11 or line 13 that is connected to a remote monitoring tool the tool becomes disconnected from the model The user can start the model execution step 62 During model execution model and block methods are invoked Within Simulink this consists of a simulation loop Each computational block in Simulink may contain multiple run time methods that are executed within the simulation loop Simulink decomposes block methods by type and executes them in a predefined manner from model models that are invoked by the simulation loop During execution of a model or block method step 64 if a block with registered listeners is encountered step 66 the model sends an event step 68 causing the remote monitoring tool to execute Dynamic Range assessment can then be performed When execution completes step 70 the model returns to the not running state step 60 One example implementation of the remote monitoring tool of the present invention is shown in FIGS 4A 4D FIG 4A is a screen depiction of a tool resulting from the user implementing the remote monitoring tool The remote moni toring tool presents a histogram plot 12 showing dynamic range The histogram plot is a visual display
7. for per forming a method of using a remote monitoring tool The method includes connecting at least one remote monitoring tool to the graphical modeling environment prior to execu tion during execution or after execution of a model The method continues with operating the at least one remote monitoring tool to perform dynamic range assessment The remote monitoring tool is detachable from the model during execution of the model in the graphical modeling environ ment In accordance with one example embodiment of the present invention the at least one remote monitoring tool can be implemented using block diagram primitives These primitives are aggregated into the block diagram automati cally prior to execution by the modeling environment In accordance with one example embodiment of the present invention the at least one remote monitoring tool can be implemented as an event listener application program ming interface API This API can provide a non intrusive and synchronized interface The listener may be implemented using one of block diagram primitives and textual language primitives In accordance with one example embodiment of the present invention the at least one remote monitoring tool can be implemented as a set of callbacks These callbacks are invoked synchronously with block diagram execution events 20 25 40 45 65 4 The callbacks may be implemented using one of block dia gram primitives and textual lang
8. hierarchy and con nects the tool the object Alternatively the user can select an object in the model and then click a button in the signal selector to attach the remote monitoring tool to the selected object It should be noted that one useful implementation of the remote monitoring tool of the present invention is in the performance of debugging of a system being modeled using the graphical model 10 as shown in FIG 7 To debug an operating model the model is first provided step 80 The user implements an instance of the remote monitoring tool step 82 At this point the remote monitoring tool can influ ence the next steps The user may attach the remote monitor ing tool at a point in the model at which access to data is desired or collect data step 84 If desired the data collected can be registered step 86 The remote monitoring tool can then perform dynamic range assessment DRA step 88 while still maintaining its non invasive characteristics in the graphical model The steps can be repeated as necessary to debug the model step 90 One skilled in the art will recognize that there are several ways to attach monitoring tools to a model In one example shown in FIG 8 as model 150 an alternative embodiment of the present invention can be used to connect or disconnect remote monitoring tools from the model 150 One can bring up the context sensitive menu for a signal 160 by right clicking on a signal such as signal 161 Wi
9. illustrative model 10 and sends the data to another system for processing One of ordinary skill in the art will appreciate that the present invention is not limited to using the event listener API to non intrusively and synchronously con nect the remote monitoring tool s to the model Ideally the monitoring tool is used in performing dynamic range assessment on the monitored system Dynamic range assessment may take place during the design and simulation phase of building a system when the model of the system is being created It may take place during the test of subsystems of the simulation system or as a test on the completed simu lation system It may also take place on the actual system produced such as a DSP implementation of a signal process ing system This latter case may be accomplished by commu nication with the final hardware system such as in hardware in the loop HIL test systems The number of nodes within a block diagram that are tracked within a system as part ofa dynamic range assessment can vary widely depending on the particular assessment being conducted The assessment can be a partial character ization ofjust a single component or just a single computation of interest within a single component it might be across a subsystem of components for a specific operation it might be characterization of a class of components having certain sys tem characteristics such as all components of a particular type or acros
10. is included in a set of remote monitoring tools where when monitoring the data of interest the processor is to monitor other data of interest associated with an execu tion of another model using another remote monitor ing tool included in the set of remote monitoring tools and where when providing the result for display the processor is to provide for display the other data of interest 27 A non transitory computer readable storage medium storing instructions the instructions comprising one or more instructions that when executed by one or more processors cause the one or more processors to US 8 812 269 B1 17 determine data of interest associated with a model of a dynamic system the model being provided via a graphical modeling envi ronment invoke a remote monitoring tool synchronously with an execution of the model in the graphical modeling envi ronment the remote monitoring tool being connected to the model via an event listener application interface the event listener application programming interface enforcing a synchronization of data being trans ferred between the model and the remote monitor ing tool using one or more of a pre execution callback a post execution callback or an occurrence of an event associated with the data of interest and the remote monitoring tool providing a user interface that enables a user to track and select one or more elements associated with an operation of the
11. remote monitoring tool and identify configuration information for configuring the operation of the remote monitoring tool the configuration information being stored in a model associated with the remote monitoring tool execute the remote monitoring tool during the execution of the model non invasively monitor the data of interest based on the one or more of the pre execution callback the post execu tion callback or the occurrence of the event perform a dynamic range assessment based on monitoring the data of interest determine based on the dynamic range assessment a dynamic range associated with the data of interest the dynamic range including a ratio of a maximum data value to a minimum data value and provide for display a result of the dynamic range assess ment during the execution of the model 28 The non transitory computer readable storage medium of claim 27 where the one or more instructions to determine the data of interest include one or more instructions that when executed by the one or more processors cause the one or more processors to determine the data of interest during the execution of the model 29 The non transitory computer readable storage medium of claim 27 where the one or more instructions to determine the data of interest include one or more instructions that when executed by the one or more processors cause the one or more processors to determine the data of interest prior to th
12. to one aspect of the present invention FIG 7 is a flowchart illustrating an example method of use of the tool in accordance with embodiments of the present invention and FIG 8 is ascreen depiction of context sensitive menus used to connect the tool to a model US 8 812 269 B1 5 FIG 9 illustrates a client server environment suitable for practicing an illustrative embodiment of the present invention DETAILED DESCRIPTION An illustrative embodiment of the present invention relates to aremote monitoring tool and corresponding method ofuse The remote monitoring tool is configured to perform dynamic range assessment The remote monitoring tool is non intru sively and synchronously connected to a graphical modeling environment prior to execution during execution or after execution of a model The remote monitoring tool is detach able from the model during execution of the model in the graphical modeling environment The remote monitoring tool is non intrusive to the graphi cal model such that the remote monitoring tool is not embed ded in the model in the same way that other elements of the model are interconnected and embedded In the case of a graphical model using blocks and signals the user does not add blocks or signals to the model diagram when attaching a remote monitoring tool in accordance with the present inven tion to the model Rather data of interest is selected for monitoring and during execution the model info
13. US008812269B1 a2 United States Patent ao Patent No US 8 812 269 B1 Orofino I 45 Date of Patent Aug 19 2014 54 DYNAMIC RANGE ASSESSMENT IN BLOCK 6 064 409 A 5 2000 Thomsen et al DIAGRAM SYSTEMS 6 226 787 Bl 2001 Serra et al 6 282 699 B1 8 2001 Zhang et al 6 330 356 B1 12 2001 Sundar tal 382 154 75 Inventor Donald Paul Orofino II Sudbury MA 6 335 741 Bl 1 2002 Ne al nag US 6 412 106 BL 6 2002 Leask etal 717 124 6 715 139 Bl 3 2004 Kodosky et al 73 Assignee The MathWorks Inc Natick MA 6 748 583 B2 6 2004 Aizenbud Reshef et al US 6 817 010 B2 11 2004 Aizenbud Reshef et al 717 127 6 839 894 Bl 1 2005 Joshi et al d 7 3 A 6 971 065 B2 11 2005 Austin Notice Subject to any disclaimer the term of this 6 988262 B1 1 2006 Mallory et al 717 27 patent is extended or adjusted under 35 7 051 322 B2 5 2006 Rioux U S C 154 b by 1012 days 7 058 950 B2 6 2006 Jeyaraman 718 104 j E 7 062 779 Bl 6 2006 Courtney et al This patent is subject to a terminal dis 7 072 801 B2 7 2006 James claimer 7 072 813 B2 7 2006 Billemaz et al 703 6 7 076 740 B2 7 2006 Santori et al 21 Appl No 11 137 006 Continued 22 Filed May 24 2005 FOREIGN PATENT DOCUMENTS Related U S Application Data WO 99 09473 Al 2 1999 63 Continuation in part of application No 11 011 298 OTHER PUBLICATIONS filed on Dec 13 2004 RedHawk NightStar Tools Version 1 1 Release Notes pp 1 17 Sep
14. a of interest using the remote monitoring tool and outputting from the server to the client device the result of the dynamic range assessment BRIEF DESCRIPTION OF THE DRAWINGS The present invention will become better understood with reference to the following description and accompanying drawings wherein FIG 1 is a is a diagrammatic illustration of an electronic device that can be utilized to execute a method performed in an embodiment of the present invention FIG 2A is a screen depiction of an example model that can make use of the tool and method according to one aspect of the present invention FIG 2B is another embodiment of model block having a symbol indicating a connected remote monitoring tool FIG 3 is a diagrammatic illustration of a method of use of the tool in accordance with embodiments of the present invention FIG 4A is a screen depiction of an example tool according to one aspect of the present invention FIG 4B is a screen depiction of the toolbar of the example tool of FIG 4A FIG 4C is a screen depiction of another toolbar embodi ment of the example tool of FIG 4A depicting one state of a remote monitoring tool FIG 4D is a screen depiction of toolbar embodiment of FIG 4C depicting another state of a remote monitoring tool FIG 5 is a screen depiction of multiple displays for a tool according to one aspect of the present invention FIG 6 is a screen depiction of multiple displays according
15. acp Heffen t alla U S Patent Aug 19 2014 Sheet 8 of 10 Provide Graphical Model 80 Connect Remote Monitoring Tool to Graphical Model 82 Observe Collect Data 84 If so Configured Register Data Collected 86 Perform Dynamic Range Assessment 88 Repeat as Necessary to Debug 90 Fig 7 US 8 812 269 B1 U S Patent Aug 19 2014 Sheet 9 of 10 US 8 812 269 B1 150 B ml F3 File Edit Tools Help Eel ES EE ETE LI EI Copy Delete Highlight to Source Highlight to Destination Remove Highlighting Open Viewer Connect to Viewer Disconnect Viewer Create View U S Patent Aug 19 2014 Sheet 10 of 10 US 8 812 269 B1 Storage Device Fig 9 US 8 812 269 B1 1 DYNAMIC RANGE ASSESSMENT IN BLOCK DIAGRAM SYSTEMS CLAIM OF PRIORITY This application is a continuation in part of Ser No 11 011 298 entitled Tools for System Level Design Envi ronments filed on Dec 13 2004 FIELD OF THE INVENTION The present invention relates to a system and method suit able for non intrusively monitoring data synchronous with events in an executing block diagram or graphical model and more specifically on performing dynamic range assessment on the monitored data BACKGROUND OF THE INVENTION Historically engineers and scientists have utilized graphi cal models in numerous scientific areas such as Feedback Control Theory and Signal
16. ally directed to a system and method for interacting non intrusively yet synchronously with a graphical model FIG 2 is a screen depiction of a graphical model 10 simulating a dynamic process FIG 2 shows a version ofa time based or event based block diagram graphical model 10 As referred to herein graphical model 10 is intended to encompass multiple variations of graphical model Graphical model 10 is formed generally of a plurality of blocks 11 that pass signals 13 to represent a dynamic system The particular use or purpose of the graphical model 10 can vary to include anything that can be modeled using a graphical modeling environment Thus the present invention is not limited to the specific example embodiments discussed herein as understood by one of ordinary skill in the art In the example embodiment time based graphical models 10 have blocks 11 connected by signals 13 Blocks 11 are responsible for computing the values of signals 13 as time progresses The arrows denote the computational direction of the signal Input ports read signals and output ports write signals The user ofthe present invention may wish to obtain a reading of a value of one of the signals 13 in the graphical model 10 or of one of the processes in one of the blocks 11 However in the graphical model 10 illustrated there is no instance of a scope shown with the model Accordingly ifthe graphical model 10 is running a model execution at the time illustrated i
17. an be accurately retained only if they fall within prescribed range limits These examples are rep resentative and by no means exhaustive Failure to adhere to such dynamic range limits can lead to poor system perfor manice incorrect system operation or overall system failure Assessment of the dynamic range of values occurring within the system is thus of great importance However conventional non intrusive approaches to observing the various data elements such as dynamic range do not allow users to observe the data synchronously with the various execution events in the block diagram or other oper ating model Such synchrony is necessary in many scenarios US 8 812 269 B1 3 because data values may be not be in a deterministic observ able state at all times during model execution n example of such a scenario is when a signal memory location is reused by multiple blocks for efficiency reasons Furthermore allowing synchronous observation of the data also ensures that observ ers ofthe data are operating optimally for example when the data values are refreshed SUMMARY OF THE INVENTION There is a need in the art for a design tool that interacts with an executing model in a manner that is non intrusive but that is also synchronized with the model as the model executes The interaction can be decoupled from the model as a remote monitoring tool which can observe data from or for the model as it executes and perform dynamic rang
18. and the remote monitor ing tool using one or more of a pre execution callback a post execution callback or an occurrence of an event associated with the data of interest invoke the remote monitoring tool synchronously with an execution of the model execute the remote monitoring tool during the execution of the model non invasively monitor the data of interest using the remote monitoring tool based on the one or more of the pre execution callback the post execution callback or the occurrence of the event perform based on monitoring the data of interest a dynamic range assessment un 20 25 30 35 40 45 50 60 65 16 determine based on the dynamic range assessment a dynamic range associated with the data of interest the dynamic range including a ratio of a maximum data value to a minimum data value and provide for display a result of the dynamic range assess ment during execution of the model 17 The electronic device of claim 16 where when deter mining the data of interest the processor is to determine the data of interest during the execution of the model 18 The electronic device of claim 16 where when deter mining the data of interest the processor is to determine the data of interest prior to the execution of the model 19 The electronic device of claim 16 where when deter mining the data of interest the processor is to receive a selection of a portion of th
19. art will appreciate that debugging is an iterative process that can be implemented in a number of different ways such that the present invention is not limited to the specific example of debugging described herein Rather the present invention and corresponding method of use can vary in accor dance with preferred debugging processes Accordingly the present invention is generally directed to a remote monitoring tool and corresponding method of use The tool is non intrusive meaning there are no explicit mod US 8 812 269 B1 13 eling primitives e g blocks or lines added to the graphical model Thus there is no requirement that the tool be pro grammed into the model when the model is being created The remote monitoring tool is furthermore remote and monitoring in nature meaning that it is separate from the graphical model The remote monitoring tool can be connected to the graphical modeling environment prior to execution during execution or after execution of a model and is also detach able from the model during execution of the model in the graphical modeling environment Numerous modifications and alternative embodiments of the present invention will be apparent to those skilled in the art in view of the foregoing description Accordingly this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the best mode for carrying out the present invention Details of the str
20. ction with the portion of the model 11 The method of claim 1 further comprising storing a reference associated with the remote monitoring tool in the model and where invoking the remote monitoring tool includes invoking the remote monitoring tool based on the refer ence 12 The method of claim 1 where the remote monitoring tool is included in a set of remote monitoring tools where non invasively monitoring the portion of the model includes monitoring using another remote monitoring tool included in the set of remote monitoring tools a por tion of another model 13 The method of claim 1 where the remote monitoring tool is expressed using block diagram primitives and US 8 812 269 B1 15 where invoking the remote monitoring tool synchronously with the execution of the model includes aggregating the block diagram primitives and elements included in the model into an execution engine 14 The method of claim 1 where the event listener appli cation programming interface enforces the synchronization of the data being transferred using the group identifiers and the occurrence of the event and where invoking the remote monitoring tool synchronously with the execution of the model includes registering using the listener application programming event listener application programming interface inter est in specific execution events associated with the execution of the model 15 The method of claim 1 where invoking th
21. del 10 The connections can be highlighted at some point in time to associate a symbol 19 with one or more selected signals 13 For example this can be accomplished by pressing a button in the display interface with the corresponding signal 13 in the model highlighted by color blinking or other temporary or persistent graphical indication in addition to textual or other representations The connection can also be highlighted by a graphical affordance in the graphical model 10 such as a test point symbol small lollipop icon connected to a signal line for as long as the virtual connection remains For con nections to internal block state as in the illustrative block 11 the connections can be created in similar fashion to signal selection except that a block 11 is selected Likewise the connection of a remote monitoring tool to a block 11 may be represented by test point symbol 19a an example of which can be as seen in FIG 2B The remote monitoring tool can be connected to the model 10 using an event listener API More specifically and in accordance with an example embodiment of the present invention the API that enables the practice of the remote monitoring tool in accordance with the present invention includes the presence of user definable pre execution and or post execution callbacks or events associated with any of the methods of the computational blocks in the graphical model 10 such that the callback or event en
22. e assessment using the observed data The present invention is directed toward further solutions that address this need In accordance with various aspects of the present inven tion a remote monitoring tool is provided The monitoring tool can non intrusively collect data of interest of a model Data of interest can be dynamically selected for monitoring The monitoring tool can initiate an action upon occurrence of a predetermined execution event of the model Data of inter est may also be dynamically selected upon occurrence of a condition The monitoring tool can access at least one of data and an event of the model using one of block diagram primi tives and textual language primitives In accordance with one embodiment of the present inven tion in a graphical modeling environment operating on an electronic device a method of using a remote monitoring tool includes connecting it to the graphical modeling environment prior to execution during execution or after execution of a model The method continues with operating the at least one remote monitoring tool to perform dynamic range assess ment The remote monitoring tool is detachable from the model during execution of the model in the graphical model ing environment In accordance with one embodiment of the present inven tion a medium is provided for use in a graphical modeling environment on an electronic device The medium holds instructions executable using the electronic device
23. e connection manager 32 is shown as a tree structure However any number of file organization techniques and configurations can be utilized to generate the remote connection manager 32 such that the manager 32 is not limited to the specific embodiment illustrated As described the remote monitoring tool includes at least one tool The remote monitoring tool is attached to the model in the graphical modeling environment prior to execution during execution and or after execution of a model The remote monitoring tool is detachable from the model during execution of the model in the graphical modeling environ ment The monitoring tool non invasively collects data after data of interest has been selected 10 The selection of the data of interest can be displayed in accordance with the examples illustrated herein In addition the remote monitoring tool can initiate an action upon selection of a predetermined charac teristic of the data or event observed For example if a pre determined data point such as a maximum or a minimum is achieved in a graphical model as it is running the remote monitoring tool can register the occurrence and forward instructions or implement other actions to address the occur rence Such actions may include pausing the model execu tion forwarding data relating to other points in the model at the time of the occurrence sending a message to the user implementing a change in the operation of a separate model and
24. e execution of the model 30 The non transitory computer readable storage medium of claim 27 where the one or more instructions to determine the data of interest include one or more instructions that when executed by the one or more processors cause the one or more processors to receive during the execution of the model and via the graphical modeling environment a selection of a model element included in the model and determine the data of interest based on the selection 31 The non transitory computer readable storage medium of claim 27 where the instructions further comprise one or more instructions that when executed by the one or more processors cause the one or more processors to 5 o 20 25 30 35 40 45 50 55 60 65 18 express the remote monitoring tool using block diagram primitives 32 The non transitory computer readable storage medium of claim 27 where the instructions further comprise one or more instructions that when executed by the one or more processors cause the one or more processors to express the remote monitoring tool using textual pro gramming primitives 33 The non transitory computer readable storage medium of claim 27 where the model includes a block and where the one or more instructions to determine the data of interest include one or more instructions that when executed by the one or more processors cause the one or more processors to rec
25. e model during the execution of the model via the graphical modeling envi ronment and determine the data of interest based on the selection 20 The electronic device of claim 16 where the remote monitoring tool is expressed using block diagram primitives 21 The electronic device of claim 16 where the remote monitoring tool is expressed using textual programming primitives 22 The electronic device of claim 16 where the model includes a block and where when determining the data of interest the proces sors is to receive a selection of the block and determine the data of interest based on the selection 23 The electronic device of claim 16 where the model includes a signal line and where when determining the data of interest the proces sors is to receive a selection of the signal line and determine the data of interest based on the selection 24 The electronic device of claim 16 where when deter mining the data of interest the processor is to determine the data of interest based on one or more of execution events or an occurrence of a condition 25 The electronic device of claim 16 where the processor is further to store a reference associated with the remote monitoring tool in the model and where when invoking the remote monitoring tool the pro cessor is to invoke the remote monitoring tool based on the refer ence 26 The electronic device of claim 16 where the remote monitoring tool
26. e monitoring tool s into one execution engine This can be done when the connections to the model are made prior to model execution and are not altered during execution The remote monitoring tool is not added to the graphical definition of the model rather an internal aggregated representation of the model is formed consisting of both the model objects plus the remote monitoring tools After this is done an internal execution structure can be created by translating the model into execut able operations or generated code If the connections are altered during execution it is necessary to know a priori the full range of alterations that may be performed Otherwise dynamic alteration of the execution structure needs to occur and dynamic alteration of the execution structure is very similar to the event listener paradigm The examples to this point have focused primarily on the system where the graphical modeling environment was on a local electronic device The graphical modeling environment may of course also be implemented on a network 900 as illustrated in FIG 9 having a server 902 and a client device 904 Other devices such as a storage device 906 may also be connected to the network In one such embodiment a system for generating and dis playing a graphical modeling application comprises a distri bution server for providing to a client device a remote moni toring tool for performing dynamic range assessment Here the distributio
27. e remote monitoring tool synchronously with the execution of the model includes providing the remote monitoring tool expressed in block diagram primitives providing a callback system for incorporating the remote monitoring tool the callback system comprising an engine for generating callbacks the callbacks including at least one of the pre ex ecution callback or the post execution callback generating using the engine the callbacks synchronously with block diagram execution events and registering using the event listener application program ming interface interest in specific execution events associated with the model 16 An electronic device comprising a processor to provide a user interface associated with a remote monitor ing tool the user interface enabling a user to track and select one or more elements associated with an operation of the remote monitoring tool and input configuration information associated with the operation of the remote monitoring tool the configuration information being stored in a model associated with the remote monitoring tool determine data of interest associated with the model the model being provided via a graphical modeling envi ronment and the remote monitoring tool being connected to the model using an event listener application programming interface the event listener application programming interface enforcing a synchronization of data being trans ferred between the model
28. e used in such situations with each scope connected to a signal of interest in the model Alternatively environments such as Real Time Workshop manufactured by The MathWorks Inc of Natick Mass offer interfaces to various data values of the model such that an individual can non intrusively observe the data values In many systems the dynamic range of values appearing within the system is of interest when verifying operation of the system For example some system components which take as input numeric values that change over time may oper ate properly only if the inputs fall within a prescribed numeri cal range system performance may be negatively impacted if the values fall outside the range In this example knowledge of the dynamic range of input values under situations of interest is an important characterization of the system Dynamic range is a ratio of the maximum data value to the minimum data value Typically mechanisms used to retain values within a dynamic system have associated with them limits on their maximum dynamic range The dynamic range limit can arise from several sources constraints imposed on system components such that they operate within a prescribed specification for interoperability safety or performance rea sons a physical limitation on the operation of an analog system component such as saturation limits on an analog amplifier or storage considerations of digital system compo nents whereby values c
29. eive information identifying the block and determine the data of interest based on the informa tion identifying the block 34 The non transitory computer readable storage medium of claim 27 wherein where the model includes a signal line and where the one or more instructions to determine the data of interest include one or more instructions that when executed by the one or more processors cause the one or more processors to receive information identifying the signal line and determine the data of interest based on the informa tion identifying the signal line 35 A method comprising determining data of interest associated with a model of a dynamic system the model being provided in a graphical modeling envi ronment and the determining the data of interest being performed by one or more processors of a device invoking a remote monitoring tool synchronously with an execution of the model execution in the graphical mod eling environment the invoking the remote monitoring tool being per formed by the one or more processors theremote monitoring tool being connected to the model via an event listener application programming inter face the event listener application programming interface enforcing a synchronization of data being trans ferred between the model and the remote monitor ing tool using one or more of a pre execution callback a post execution callback or an occurrence of an event associated with the da
30. ematical models of dynamic systems in order to better understand system behavior as it changes with the progression of time The mathematical models aid in building better systems where better may be defined in terms of a variety of performance measures such as quality time to market cost speed size power consumption robustness etc The mathematical mod els also aid in analyzing debugging and repairing existing systems beitthe human body orthe anti lock braking system in a car The models may also serve an educational purpose ofeducating others on the basic principles governing physical systems The models and results are often used as a scientific communication medium between humans The term model based design is used to refer to the use of graphical models in the development analysis and validation of dynamic sys tems Dynamic systems are typically modeled in model environ ments as sets of differential difference and or algebraic equations At any given instant of time these equations may be viewed as relationships between the system s output an 5 25 40 45 50 60 2 response outputs the system s input stimuli inputs at that time the current state of the system the system param eters and time The state of the system may be thought of as a numerical representation of the dynamically changing con figuration of the system For instance in a physical system modeling a simp
31. en the model and the remote monitor ing tool using one or more of a pre execution callback a post execution callback or an occurrence of an event associated with the data of interest the invoking the remote monitoring tool being per formed by the device executing the remote monitoring tool during the execution of the model the executing the remote monitoring tool being per formed by the device the non invasively monitoring via the event listener appli cation programming interface the data of interest based on the one or more of the pre execution callback the post execution callback or the occurrence of the event 20 25 30 35 40 45 50 55 60 65 14 the non invasively monitoring the data of interest being performed by the device performing a dynamic range assessment based on moni toring the data of interest the performing the dynamic range assessment being per formed by the device determining based on performing the dynamic range assessment a dynamic range associated with the data of interest the dynamic range including a maximum data value and a minimum data value and the determining the dynamic range being performed by the device and providing a result of the dynamic range assessment for display during the execution of the model the providing the result for display being performed by the device 2 The method of claim 1 where receiving the information indicating the data of interest i
32. et al 2006 0041859 AI 2 2006 Vrancic et al 7 171 653 B2 1 2007 Albrecht 717 24 2006 0053211 Al 3 2006 Kornerup et al 7 185 315 B2 2 2007 Sharp et al 2006 0064670 Al 3 2006 Linebarger et al 7 200 838 B2 4 2007 Kodosky et al 2006 0111074 Al 5 2006 Petilli et al 455 334 7 210 105 B2 4 2007 Melamed etal 715 779 2006 0129371 A1 6 2006 Orofino et al 703 22 7 210 117 B2 4 2007 Kudukoli et al 2006 0184410 Al 8 2006 Ramamurthy et al 7 215 270 B1 5 2007 Kozak etal 341 143 2006 0259870 Al 11 2006 Hewitt et al 7 302 675 B2 11 2007 Rogers et al 717 125 2007 0143455 Al 6 2007 Gorman et al 7 302 676 B2 11 2007 Schmitt et al 717 132 2008 0007332 AL 1 2008 Dubowsky 330 129 7 315 791 B2 1 2008 Tlic et al 2008 0028196 Al 1 2008 Kailas 712 245 7 325 210 B2 1 2008 Rao etal sss 716 113 2008 0098349 Al 4 2008 Lin et al 7 439 891 B2 10 2008 Kozak et al 341 143 2008 0222620 Al 9 2008 Little et al 0 eee 717 149 7 480 906 B2 1 2009 Joffrain et al 2009 0012757 Al 1 2009 Orofino et al 703 2 7 490 029 B2 2 2009 Wasynczuk et al 703 17 2009 0132993 A1 5 2009 Mani et al 717 105 7 512 931 B2 3 2009 Schmit 2009 0216546 Al 8 2009 Huang etal we 705 1 7 568 017 B2 7 2009 Shah et al 2010 0223564 Al 9 2010 Hsu et al 7 813 825 B2 10 2010 Dubowsky 700 94 2011 0023019 Al 1 2011 Aniszczyk et al 7 827 068 B2 11 2010 Shah et al
33. forces proper synchro nization for data transfer to and from the tool Suchan API can likewise be provided where the definitions refer to data nodes 20 25 30 35 40 45 50 55 60 65 8 in a physical hardware device such as memory locations in a processor a physical I O protocol for a processor or an FPGA or ASIC or some other defined method for data delivery as understood by one of ordinary skill in the art A unique identifier can be provided for each signal in the graphical model 10 or hardware such that the tool can be associated with any signal or group of signals Methods to read signal data via the unique identifier which can be synchronized by the pre execution and or post execution callback or event can be provided Furthermore textual graphical audio visual tactile or other data rendering techniques and capa bilities supported by or interfaced to the modeling environ ment can be provided such that the signal data is presented to user in a discernable manner The remote monitoring tool can include different types of tools such as display scopes strip chart recorder an oscillo scope a spectrum analyzer a 2 port network analyzer a logic signal display a waterfall plot a communications constella tion plot an audio output device and a video display device The monitoring tool can also be a non graphical tool such as a tool that reads the model data such as the signal at point A of the
34. gn incorporating mul tiple display devices in a single master window 18 In this example there are connections established for each display corresponding to signals originating from multiple graphical models 10 A first display 20 reports data from a first graphi cal model A second display 22 reports data from a second graphical model A third display 24 and a fourth display 26 report data from a third and fourth graphical model The remote monitoring tool is formed of the collection of the displays 20 22 24 and 26 Each of the displays operates independently and pulls data from different model locations The displays can pull data from the same model location if desired Furthermore as mentioned previously each of the collection of the displays 20 22 24 and 26 forming the remote monitoring tool can be individually or collectively attached or detached from the graphical models before dur ing or after the graphical models are implemented FIG 6 is another screen depiction of an MDI GUI 30 with a pre loaded collection of displays forming the remote moni toring tool such as those illustrated in FIG 5 In addition the remote monitoring tool in this example embodiment includes a remote connection manager 32 The remote connection manager 32 provides an organized GUI that enables a user to track and select different elements making up the remote monitoring tool One of ordinary skill in the art will appreci ate that the example remot
35. ions personal digital assistants PDAs Internet appliances cellu lar telephones and the like In the illustrated embodiment the electronic device 500 includes a central processing unit CPU 502 and a display device 504 The display device 504 enables the electronic device 500 to communicate directly witha user through a visual display The electronic device 500 further includes a keyboard 506 and a mouse 508 Other potential input devices not depicted include a stylus track ball joystick touch pad touch screen and the like The electronic device 500 includes primary storage 510 and sec ondary storage 512 for storing data and instructions The storage devices 510 and 512 can include such technologies as a floppy drive hard drive tape drive optical drive read only memory ROM random access memory RAM and the like Applications such as browsers JAVA virtual machines and other utilities and applications can be resident on one or both ofthe storage devices 510 and 512 The electronic device 500 can also include a network interface 514 for communi 20 25 30 35 40 45 50 55 60 65 6 cating with one or more electronic devices external to the electronic device 500 depicted A modem is one form of network interface 514 for establishing a connection with an external electronic device or network The CPU 502 has either internally or externally attached thereto one or more of the aforementioned components
36. le pendulum the state may be viewed as the current position and velocity of the pendulum Similarly a signal processing system that filters a signal would maintain aset of previous inputs as the state The system parameters are the numerical representation of the static unchanging con figuration of the system and may be viewed as constant coef ficients in the system s equations For the pendulum example a parameter is the length of pendulum and for the filter example a parameter is the values of the filter taps Generally graphical analysis and modeling methods such as the block diagram method are used in modeling for design analysis and synthesis of engineered systems The visual representation allows for a convenient interpretation of model components and structure and provides a quick intuitive notion of system behavior During the course of modeling and simulation it is often desirable to be able to observe particular data values at certain locations of the model or to observe how data is transformed through the model Examples of such data values include signal values states work areas and parameters Signal dis plays used in conjunction with a system level design environ ment such as Simulink often require multiple display mechanisms to be associated simultaneously with multiple signals to monitor the progress of a model at various points of interest Currently block diagram environments offer scope blocks to b
37. n server provides a client device with a remote monitoring tool for performing dynamic range assessment This remote monitoring tool may be part of a tool set available to the client on the server The client may then use the remote monitoring tool for performing dynamic range assessment on a block diagram for a dynamic system In another embodiment the server may execute the graphi cal modeling environment A user may then interact with the graphical modeling interface on the server through the client device In one example of such a system a server and client device are provided The server is capable of executing a graphical modeling environment The client device is in com munication with the server over a network On the server from the client data of interest to be monitored may be selected The remote monitoring tool may then be invoked synchro nously with model execution in the graphical modeling envi ronment Dynamic range assessment may then be performed and the results outputted from the server to the client device The remote monitoring tool provides freedom to tap into an existing and executing model at any time to collect data Accordingly a user attempting to diagnose or debug a model ofadynamic system can use the remote monitoring tool of the present invention to both take contemporaneous or real time readings of signal values within the graphical model and or communicatively associated devices One of ordinary skill in the
38. n the figure conventional modeling applications in the situation illustrated have no mechanism for a user to be able to take readings of signal or internal block model states synchronously However with the remote monitoring tool of the present invention in accordance with one embodiment an event listener API or equivalent tool is provided to associate the tool with the graphical model 10 without being embedded in the graphical model 10 For example if the user wishes to know the value ofthe signal at point A in the graphical model 10 for US 8 812 269 B1 7 the purpose of performing dynamic range assessment the user implements the remote monitoring tool of the present invention to initiate an observation event The user registers with the model using the event listener API a request to invoke the monitoring tool when point A in the graphical model 10 is computed by the source block of the signal of point A As the model is executing when the signal at point A is re computed by the source block of the signal an event is sent to the listener The listener in this illustrative example reads the value of the signal at point A which can then be used in assessing dynamic range at that point in the model It should be noted that throughout this description the example embodiments make use of an API form of tool to connect the remote monitoring tool to the model However one of ordi nary skill in the art will appreciate that the remote moni
39. ncludes receiving the information indicating the data of interest during the execution of the model 3 The method of claim 1 where receiving the information indicating the data of interest includes receiving the information indicating the data of interest prior to the execution of the model 4 The method of claim 1 where receiving the information indicating the data of interest includes receiving a selection of a portion of the model via the graphical modeling environment 5 The method of claim 1 where the remote monitoring tool is expressed using block diagram primitives 6 The method of claim 1 where the remote monitoring tool is expressed using textual programming primitives 7 The method of claim 1 where the model includes a block and where receiving the information indicating the data of interest includes receiving a selection of the block 8 The method of claim 1 where the model includes a signal line and where receiving the information indicating the data of interest includes receiving a selection of the signal line 9 The method of claim 1 further comprising indicating based on the information indicating the data of interest a selection of the data of interest viaa display of the model using an indicator 10 The method of claim 1 further comprising indicating that a portion of the model is to be monitored during the execution of the model to collect the data of interest using an indicator displayed in conjun
40. ner s with the model for a specific ae event Execution wl Zo Model Execution occurs which consists of invoking model and block methods 64 Remote Monitoring Tool removes listener s m model Event Handling Encountered model or block methods that has registered listener s Listen reads data from the model and Dynamic Range Assessment is panormeg Send event to invoke listeners synchronously with model execution Fig 3 U S Patent Aug 19 2014 Sheet 4 of 10 US 8 812 269 B1 File Edit View jnsert Tools Desktop Window Help 0 ees A A 7 0120 pla m 1 0 T 7 E i i E i 5 HA Range of b to 11 1 beler ncel mag erdee d 1 1 t i is Tut and 16 bits oae i is xe M og cale factpr Es 14 T inig n En 0 7 Ga nderiod see Ga ot 0 6 De tendens Nette a 0 5 Frequency 0 4 I i 0 3 0 2 DNE Nus 0 1 S1 0 0 2 log Magnitude 14 16 File Edit View Window Help U S Patent Aug 19 2014 Sheet 5 of 10 US 8 812 269 B1 File Tools View Playback He D JE UICE m b lg Fig 4C File Tools View Pieyback He SEE mp mo p d oll Fig 4D U S Patent Aug 19 2014 Sheet 6 of 10 US 8 812 269 B1 LL Fig 5 U S Patent Aug 19 2014 Sheet 7 of 10 US 8 812 269 B1 Ele Edit View Insert Tools Desktop Window Help Cle eX
41. of the dynamic range for the graphical model at point A The remote moni toring tool can include a number of different interfacing options some of which can be implemented in a toolbar configuration For example FIG 4B shows a toolbar 14 hav ing a number of standard buttons One of ordinary skill in the art will recognize there can be several button configurations One example button that can be utilized in conjunction with the present invention is a highlight button 16 which when clicked on will highlight the signal in the graphical model 10 being displayed by the remote monitoring tool an 5 20 30 35 40 45 55 65 10 Another example toolbar 15 can be seen in FIGS 4C and 4D In this implementation the toolbar 15 has a button for connecting and disconnecting a remote monitoring tool They button may also indicate the current state of connectivity for the remote monitoring tool In FIG 4C the button 17a indi cated that the remote monitoring tool is currently discon nected and the user may click the button 17a to connect the remote monitoring tool In FIG 4D the button 175 indicates the remote monitoring tool has been connected and the user may click the button 175 to disconnect the remote monitoring tool In addition the remote monitoring tool interface in a par ticular embodiment can vary For example in FIG 5 the remote monitoring tool is implemented as a multiple docu ment interface MDI style GUI desi
42. or hardware device and the like US 8 812 269 B1 11 The remote monitoring tool configurations can be saved in the graphical model or can be saved separate from the graphi cal model In addition one of ordinary skill in the art will appreciate that a reference or other identifier to a specific remote monitoring tool can likewise be stored within the graphical model or separate from the graphical model being viewed or manipulated by the remote monitoring tool Fur thermore the selection of blocks signals or ports to be inter faced with the remote monitoring tool can be performed using any available interface mechanism including graphically textually data and can be implemented through in direct or direct connection to other software or hardware and the like in addition to user interface In the embodiments presented herein the remote monitor ing tool configurations consist of the various attributes of the tool the user has created The tool can be connected to the model using an object selector The object selector is one component of the remote monitoring tool that associates each tool the user has created with objects e g blocks signals or ports in the model For example the selection of model objects blocks signals or ports to be connected to a remote monitoring tool can be done using a signal selector that dis plays the model hierarchy in a textual fashion The user navi gates to the desired object in the textual
43. range assessment the modifying the model being performed by the one or more processors 20 20
44. ring tool as well as histograms of the data being monitored In some embodiments mean values may be determined In cer tain embodiments the remote monitoring tool may also be configured to monitor the number of times a specific set of threshold values has been crossed Other possible configura tions and measurements will apparent to one skilled in the art given the benefit of this disclosure In addition the displays of the remote monitoring tool if required are provided separate from the graphical model 10 thus keeping with the non intrusive feature of this invention Likewise a GUI can be provided with a multiple document interface type of layout in which a master GUI contains one or more visual display device windows with additional inter faces for managing the connections to the model correspond ing to each remote tool Several example embodiments of implementations of the remote monitoring tool in accordance with the present inven tion are described herein In addition FIG 3 is a diagram matic illustration of a method of using the remote monitoring tool realized using the event listener API In accordance with one example embodiment of the present invention a user can attach a remote monitoring tool to a model to listen to specific events before during or after model execution step 50 The user can detach a remote monitoring tool before during or after graphical model 10 execution step 52 Connections to the model 10
45. rms the remote monitoring tool of events of which the tool has requested to receive notification The process of sending an event can be achieved through but not limited to an event listener application programming interface API a callback based interface and or model and remote monitoring tool aggregation for execution The remote monitoring tool can work with execution modes that include but are not limited to interpretive accelerated or generated code model execution modes FIGS 1 through 9 wherein like parts are designated by like reference numerals throughout illustrate example embodi ments of a remote monitoring tool capable of performing dynamic range assessment and corresponding method ofuse according to the present invention Although the present invention will be described with reference to the example embodiments illustrated in the figures it should be under stood that many alternative forms can embody the present invention One of ordinary skill in the art will additionally appreciate different ways to alter the parameters of the embodiments disclosed in a manner still in keeping with the spirit and scope of the present invention FIG 1 illustrates one example embodiment of an electronic device 500 suitable for practicing the illustrative embodi ments of the present invention The electronic device 500 is representative of a number of different technologies such as personal computers PCs laptop computers workstat
46. s all values produced within an entire system as a whole The digital implementation of a system is of particular interest The dynamic range constraint often arises from a pre selected number of bits used to represent values within a digital system the storage location being an address in a computer memory or a register of certain size within a pro cessor GPP DSP etc a predetermined number of storage locations allocated for this purpose within an ASIC or FPGA or other temporary or permanent storage mechanism exhib iting a constraint on the number of bits used to represent a numeric value Dynamic range characterization of constant values that is values that are certain to remain fixed through out the course of simulation may be of interest for charac terization Of even greater interest is the characterization of dynamic values that is values that are subject to change during the course of simulation In another embodiment it may be desirable to change the implementation of a system in which the mechanisms used to retain values within the system such as a set of pre defined data types impose limits on the representation of dynamic US 8 812 269 B1 9 range An example of this is the change from floating point to fixed point numeric representation of digital values Typically the types of measurements made for dynamic range assessment include minimum and maximum values observed at the node s monitored by the remote monito
47. ta of interest and the remote monitoring tool providing a user interface that enables a user to track and select one or more elements associated with an operation of the remote monitoring tool and identify configuration information for configuring the operation of the remote monitoring tool the configuration information being stored in a model associated with the remote monitoring tool executing the remote monitoring tool during the execution of the model to cause the remote monitoring tool to non invasively monitor the data of interest based on the one or more of the pre execution callback the post execution callback or the occurrence of the event US 8 812 269 B1 19 the executing the remote monitoring tool being per formed by the one or more processors performing a dynamic range assessment based on the data of interest the performing the dynamic range assessment being per formed by the one or more processors determining based on the dynamic range assessment a dynamic range associated with the data of interest the dynamic range including a ratio of a maximum data value to a minimum data value and the determining the dynamic range being performed by the one or more processors providing the result of the dynamic range assessment for display during the execution of the model the providing the result for display being performed by the one or more processors and modifying the model based on the result of the dynamic
48. thin the context sensitive menu one can open a viewer that is connected to the signal using an open viewer selection 162 note multiple viewers can be connected to one signal disconnect one or all of the viewers connected to the signal using a disconnect selection 164 or create and connect a new viewer using a create view selection 166 When executing the model using an interpretive engine the event listener paradigm provides a straight forward means by which to support the remote monitoring tool However one skilled in the art recognizes that a model can be translated to generated code where the generated code can be a high level programming language such as C Java or C or assembly code To support the adding and removing of remote moni toring tools during execution the generated code can be instrumented before and after each block method Alterna tively a run time engine can be created which using the executable created after compiling and linking the code can 0 an 5 20 30 35 40 45 55 12 instrument the executable with entry points before and after the code for each model and block method thus enabling one to implement the event listener architecture enabling the removal and addition of remote monitoring tools during model execution An alternative to the event listener paradigm for synchro nously connecting the remote monitoring tool to the model is to aggregate the model objects and the remot
49. toring tool does not need to be implemented in the form of an API but rather can be implemented using a number of different tools including library based modules and other tools As such references to an API in the present description are intended to include APIs as well as such other equivalent tools noted above In addition an alternative example embodiment of the present invention makes use of an aggregation pro gramming paradigm to achieve the non intrusive and syn chronized behavior of the remote monitoring tool The remote monitoring tool does not need to be repre sented graphically in the graphical model 10 However because the remote monitoring tool registers listeners with the model the model can insert a graphical symbol or text such as symbol 19 in FIG 2A or other representation in the graphical model 10 showing the existence of the listener for the remote monitoring tool Such graphical representation can be for example shown in the block 11 indicating the remote monitoring tool is connected to the internal state of the block 11 and not the signal 13 More specifically in the illustrative example showing the symbol 19 connections made by the remote monitoring tool can be described by selection of one or more signals 13 from a list of all available signals 13 in the graphical model 10 The remote monitoring tool can also be described by the direct entry of an identifi cation of one or more signals 13 in the graphical mo
50. uage primitives In accordance with another aspect in an electronic device supporting a graphical modeling environment a method of debugging a model using a remote monitoring tool is pro vided The method comprises connecting at least one moni toring tool to the graphical modeling environment prior to execution during execution or after execution of the model The method continues with operating the at least one moni toring tool to perform dynamic range assessment on data of interest of the model Based on the results of the dynamic range assessment the model may then be modified Further monitoring can then be performed In accordance with another aspect a system for generating and displaying a graphical modeling application is provided The system comprises a distribution server and a client device in communication with the distribution server The distribu tion server provides to the client device a remote monitoring tool for performing dynamic range assessment In accordance with another aspect in a network having a server executing a graphical modeling environment and a client device in communication with the server a method is provided The method comprises selecting at the server from the client device data of interest of a model in the graphical modeling environment invoking the remote monitoring tool synchronously with model execution in the graphical model ing environment performing dynamic range assessment on the dat
51. ucture may vary substantially without departing from the spirit of the present invention and exclusive use of all modifications that come within the scope of the appended claims is reserved It is intended that the present invention be limited only to the extent required by the appended claims and the applicable rules of law The invention claimed is 1 A method comprising providing a user interface associated with a remote moni toring tool the providing the user interface being performed by a device and the user interface enabling a user to track and select one or more elements associated with an operation of the remote monitoring tool and input configuration information associated with the operation of the remote monitoring tool the configuration information being stored in a model associated with the remote monitoring tool receiving via the user interface information indicating data of interest associated with the model the model being provided via a graphical modeling envi ronment and the receiving the information indicating the data of inter est being performed by the device invoking the remote monitoring tool synchronously with an execution of the model in the graphical modeling environment the remote monitoring tool being connected to the model via an event listener application programming inter face the event listener application programming interface enforcing a synchronization of data being trans ferred betwe
Download Pdf Manuals
Related Search
Related Contents
M4 Bluetooth User Guide © 2013 Neckmike USA AIR WELL SHAMPOO DESMANCHADOR Sony D-EJ2000 User's Manual Altinex MX2206RM User's Manual Samsung ES73 Bruksanvisning Netgear DGND3700B ADSL2+ Wi-Fi Ethernet LAN Dual-band CVHE-SVX02C-PB (19 dec 2011): Manual de Instalação Milescraft 1206 Instructions / Assembly Copyright © All rights reserved.
Failed to retrieve file