V1.5 build 0003.0 ©2007-2011 20-Nov-2011 -------------------------------------------------------------------------------- MXAM settings: A new option to activate/deactivate the caching mechanism can be found in the Misc section. The cache improves performance when repeatedly filtering the same blocks within a check-set. mes_preprocess: - supports new global filtering parameters Global.IgnoredMaskedSubsystems_contentonly Global.IgnoredLibraries_contentonly Global.FilterConfigurableSubsystems Global.SkipSLObjectsInCharts Global.SkipLinkedSystems - accepts cmd-string option "usecache:off" / "usecache:on" - detects repeated calls from within a check to suppress unnecessary clearing of the filtercache mes_periprocess: - optionally returns information on filtering and caching actions including the history of repeated calls (see new function mesvar_logFilterStats) mesvar_logFilterstats: - new: controls amount of information on filtering returned by the checks 0 (default): none 1 lists filter actions that actually reduced the no. of checked items 2 lists all active filter actions mxam_callchecks: - additionaly returns cell with structs with counts of checked/failed/ignored items from each executed check mxam_getSettings: added: argument to enforce/prevent a refresh by means of reading of system settings from file mes_check: - additionaly returns struct with counts of checked/failed/ignored items and optional filtering actions - mes_color_001 proxi_0034: add functionality to check Stateflow chart color, config file format is changed too. In the config file, setting of one type of block can be defined in more than one rules(lines). - jm_0001: bug fix, wrong variable name; add additional block types in continuous section of simulink for matlab2010b - tc_1203: adapted for mat2010b and TL3.x - db_0042:ignore the trigger port blocks in process of finding the left most and right most postion of a subsystem. - tl_0043_a jc_0231 jc_0232 proxi_0007:do not check blocks with showname='off' - db_0129:transition is allowed to start from or end to a point inside a box mes_utils: ---------- mes_compare: new utiliy function: compares two variables, including nested structs, supporting various data types returns overall boolean result and in addition a struct with details on found differences - mes_filterLinkedBlocks, mes_filterSLBlocksWithinTLBlocks, mam_applyIgnorelist: changed: these filter functions now return an index field of the remaining items instead of an item vector - mes_getColorRgb.m new function to get the RGB of up to 148 colors - mes_EvalBlockParamValue.m: order of handling the parameter is changed: 1. evulate in masks 2. in model workspace 3. in base workspace; handle structure case such as a.b.c (parameter is a field of a structure); handle function call in parameter such as 'a+b+c.d+sqrt(v)' - mes_getOutputSignalName: remove the leading < and trailing > from a signal name; return empty string if try to get the output signal name of an outport block and the input signal name of an input block. - mes_getOutputDataInfo: support block TL_bitweiseoperator - mes_splitFunctionParameter: new function V1.5 build 0002.2 ©2007-2011 06-Oct-2011 -------------------------------------------------------------------------------- - Report hook-function: timeout set to 30min. If you are using this hook funtion be aware that failures in this function or MATLAB might cause the MXAM client to freeze - mxam_convertCheckset: bugfix: returning the check set struct corrected. In some cases some checks were missing in the struct although they were defined in the check set - mes_periprocess: option to use a cache added, which may substantially improve filtering performance - mesvar_usecache: added to temporarilly activate the usecache option - mes_preprocess: supports new keywords in argument s_cmd: 'usecache','clearcache' - mxam_listparamprops,mxam_getCheckInfo: argument s_userparamfile added V1.5 build 0002.1 ©2007-2011 27-Jul-2011 -------------------------------------------------------------------------------- - jc_0231 bugfix: matching pattern to find non-ANSI-C characters corrected - path_mxam: sl_refresh_customizations is now called after adding/removing paths to prevent unlinked context menus V1.5 build 0002.0 ©2007-2011 24-Aug-2011 -------------------------------------------------------------------------------- - misra_tl_5_8: Parameter MISRA.misra_tl_5_8.threshold, MISRA.misra_tl_5_8.criteria, MISRA.misra_tl_5_8.withoutAttributesFormatString - jc_0231: use parameter Names.AllowTrailingUnderScore to control the trailing underscore of block name (Names.AllowLeadingUnderScore is already used for leading underscore); - all tl releated checks: adopted for autosar blocks of TL 3.2 - ds_0082, misra_tl_3_2 bugfix: statistics output corrected V1.5 build 0001.0 ©2007-2011 31-May-2011 -------------------------------------------------------------------------------- - Batch analysis: A new function 'mxam_batchcheck' in it's first version is introduced to comfortably perform an analysis with any number of models and checks as well as generation of reports. For more information see >>help mxam_batchcheck TODO: keep check-set structure of mxml-file instead of a flat list of checks - Report layout: new layout for result table of check-sets to get a quick overview at first sight. Results are colored so they strike out and highlight important report information - Report hook-function: add additional version info to the report. See >>help mes_getVersionInfos - Report Bugfix: export after a fix operation now displays the new results instead of the old results before the fix action. - mes_setmode: now handles models which are open but not in the Matlab path - mxam_callchecks: returns a list of pathnames of all created reports - mes_getOperandType.m: handle the case such as a(i)(j) a[i][j], a{i}{j} - mes_isStringFunctioncall.m: char '.' may exist in function name, such as a.b() - mes_splitSFExpression.m: handle the -> operator, it belongs to operand, not belongs to operator add return parameter cs_signPos. - mes_splitSFStateLabel.m: ignore the delimier in parethese to find the correct delimer from action string to conver to cs_actions. - mes_splitsftransitionlabel.m:operators inside () [] and {} will be ignored. - mes_getOutputDataInfo: can handle autosar blocks of TL3.2 - mes_findSrcBlock: minor bug fix: wrong variable name is used. - mes_color_001: definition of parameter colorSchema is changed, this parameter now defines the name of the function that gives the structure of the color schema. V1.5 build 0000.0 ©2007-2011 15-Mar-2011 -------------------------------------------------------------------------------- - jc_0211,jc_0221: New parameters to allow special characters for signal and block names. All possible errors of a string will be shown in one message. (new parameters are:MAAB.jc_0211.AllowedCharPaternInName and MAAB.jc_0211.AllowedCharPaternInName) - na_0008: Does not require compiled mode anymore. bug fix: can find the corresponding data store memory block of a data store read block - na_0004: change in advice, library display :none->library display :all - mes_periprocess: bug fix: can filter out charts obtained by mes_getCharts - mes_model_error: open a model if a model is not opened and in search path open_sf_data open_sf_emFunction open_sf_graphFunction open_sf_junction open_sf_state open_sf_transition mes_open_params: move the code to find the handle of an object of a chart after calling the funtion mes_model_error, because some times the model is not loaded. It will be loaded if the model exists in the search path. - link to libraries fixed V1.4 build 0005.3 ©2007-2011 03-Mar-2011 -------------------------------------------------------------------------------- - MXAM Network installation: MXAM directories on the netdrive will be named as follows: mxam__ Example: MXAM_ROOT |_mxam_1_4_5_1_R2006b |_mxam_1_4_5_2_R2006b |_mxam_1_4_5_2_R2007b MXAM p-coded with R2006b works for R2006b-R2010a MXAM p-coded with R2007b works for R2007b-R2010b and higher - mxam_versionManager.m changed: Only MXAM versions compatible for the current calling MATLAB version will be offered in the selection dialog. If a specific MXAM version shall be started because the 'remember last decision' or 'force version' option is set and it is not compatible to the current MATLAB version, the selection dialog will be opened. V1.4 build 0005.2 ©2007-2011 16-Feb-2011 -------------------------------------------------------------------------------- - misra_tl_1_2: statistic info is corrected - mes_getOutputDataInfo: bugfix for inconsistent field name in r_ops, change b_setMissingUserRangeByDataRange to b_UseDataRangeForMissingUserRange. - mes_evalBlockParamValue: consider case that the value may be a string, so that it is not necessary to evaluate again. - mes_periprocess: only the child of a subsystem which is in an ignored Lib is filted - misra_tl_5_8 is now set to tl_required. - mes_findSrcBlock: improvement: if datatypeconversion block is found in TL subsystems, search again to find the source, because in TL, this block is ignored. - new layout check mes_color_001: model, block, line and annotation should have defined foregroundcolor and backgroundcolor, exceptions are defined by parameter 'mxam_colorSchema', which is defined in file ColorSchema.m. See this file for detail. - mes_isBlockLocked can also check if a line is locked. - new util function: mes_getValueOfConstantBlock can get constant value of all constant blocks including TL1.3 and tl3.2 block. - bug fix in misra_tl_5_9: outport number of source block is corrected. V1.4 build 0005.1 ©2007-2010 06-Jan-2011 -------------------------------------------------------------------------------- - enhanced function mes_cleanupCellOfStrings: support for multiple arguments, which are concatenated before applying the clean-up. - reg.param_names format restriction to row cells removed. - check mes_ds_0100: fixed: handling of muxed sources: TL data types of muxed source signals were not regognized but wrongly treated as double. - sl_customization: fixed: some check groups did not appear in the model advisor enhanced: speed of registering the MES checks in the MA - mes_check: fixed: wrong display of special chars (<,>,%) in the check advice. - mxam_filterchecklist: new argument useDBOnly, default=false, improves performance by relying on the check-DB for evaluating the check infos - macontainer: fixed: Model Advisor checks sometimes wrongly checked libraries instead of the model. In macontainer, the system argument from dem model advisor was not passed when calling the check, with the consequence that checks called from the Model Advisor always checked gcb. This was correct in most cases. However, in some cases, a check changed focus to a lib with the result that the next check wrongly was applied to the lib. V1.4 build 0005.0 ©2007-2010 05-Nov-2010 -------------------------------------------------------------------------------- - Report overview as PDF export: In the Reports view of the GUI, reports now can be saved by using the Menu 'Report' > Save HTML/PDF... From the command line, use: >> mxam_callchecks(, '/quiet:', ... {'HTML','XML','CompactHTML','CompactPDF'}, bdroot); - Output of meta information in the Report: User name, Date, Tool versions V1.4 build 0004.0 ©2007-2010 10-Okt-2010 -------------------------------------------------------------------------------- - QUICK RUN in GUI available from Run-Mode and Report-Mode! Right click on a check and select 'Quick run'. If you execute a quick run from Run-Mode a new report will be created with only one check. If executed within Report-Mode only the selected check will be executed and the previous report will be shown as a new report and changed only for the executed check. - mxam_convertCheckset: Has a new return value which contains all information of a specified check-set. Call the function as follows: >>[cell,message,struct] = mxam_convertCheckset() cell: list of all selected checks message: message in case of an error struct: structure of the check-set including selected/deselected, parameter and ignore list files - mxam_callchecks: Can now handle a converted check-set struct given from mxam_convertCheckset so that the report can contain different check-sets. Call the function as follows: >> mxam_callchecks(, '/quiet:', 'HTML',bdroot); - mxam_callchecks: HTML, XML, CompactHTML and CompactPDF report options are now supported. The report format options can be a string or cell array of strings as follows: 'HTML' or 'XML' or 'CompactHTML' or {'HTML','XML', 'CompactHTML'} The report will be saved in the report directory specified in the MXAM settings. - new function mxam_remapCheckItemResults: changes result types check items check items according to global check parameter CheckItemResultMappings (see below) - The global parameter 'Global.IgnoreConfigurableBlocks' is introduced. If set to 1 all configurable subsystems will be ignored and excluded from analysis. They will be checked if the parameter value is set to 0. - The global check parameter 'Global.IgnoredLibraries' is introduced. You may define a list of library names of which included blocks will be ignored by all checks. Configurable subsystem can be handled as well. Those library blocks will be filtered by mes_periprocess. - The global check parameter 'Global.SystemToCheck' is introduced. This parameter can be set in the project- or check-set parameter settings file. When such a file is applied during analysis all checks affected by this paramater will be executed on the specified subsystem regardless of which model or subsystem was selected in the Run-Mode or given by executing a check on the command line. - The global check parameter 'Global.CheckItemResultMappings' is introduced. A List of strings with a mapping to change the result type of check items for certain checks. This might be helpful if e.g. layout checks have a lower priority for you and you want to see only warnings instead of failures in your report. The following keywords are available: - f2w "faulty to warning", convert all rule violations to warnings - f2n "faulty to note", convert rule violations to notes - f2p "faulty to passed", omit all rule violations from report - w2f "warnings to faulty", convert all warnings to rule violations - w2n "warning to note", convert all warnings to notes - w2p "warning to passed", omit all warnings from report - n2f "note to faulty", convert all notes to rule violations - n2w "note to warning", convert notes to warnings - n2p "note to passed", omit notes from report Examples: Global.CheckItemResultMappings = {'ds_0055, ds_0012:w2p'} > Suppresses all warnings of check ds_0055 and ds_0012 Global.CheckItemResultMappings = {'*:w2n,n2p','is_0007:f2w'} > Suppresses notes and converts warnings to notes for all checks, in addition, for check is_007, all rule violations are converted to warnings. > Please note, that itÿs not allowed to combine conflicting keywords, e.g. in: '*:w2n w2p' or in: {'*:f2n','is_0007:f2w'}; - mes_parseSLTypeString, mes_getTLRangeOfSFTerm: function call expression is reconginized; bug fix: can not get the right one, if two variables with same name exist in a chart (in different hierarchy) - mes_getOutputDataInfo: add field b_setMissingUserRangeByDataRange in parameter r_ops, if this is true, the undefined use range (min max) will be set to the range of the data type. - mes_if_block_in_loop: call mes_getMuxDemuxBusStruct.m for mux block to avoid dump of matlab in some cases. - mes_preprocess: improved testing of required check info fields. - check_param: added: handling of DD access errors - mes_splitsftransitionlabel: added argument to remove comments from sf tran- sitions, which fixes an issue of ds_0063 and some tl_pr checks which did not remove comments from stateflow transition labels. - mxam_newcritem: option added to control the level of item validation - mes_findSrcBlock supports block BusToVector - sl_customization: added test for existence of check info field chi.scope V1.4 build 0003.2 ©2007-2009 16-Jun-2010 -------------------------------------------------------------------------------- - mes_splitsftransitionlabel: added: argument to remove comments from sf tran- sitions, which fixes an issue of ds_0063 and some tl_pr checks which did not remove comments from stateflow transition labels. - ds_0027: fixed: the masktype and block property names of the Lookup-Table (n-D) and Direct Lookup-Table (n-D) have changed within different MATLAB versions and are now correctly detected by the check. - ds_0097: check will only report failures in case the simulink block that connects with the TargetLink outport in TL top level subsystem reqires a non double input signal. - db_0123: fixed: in some cases inports and outports of charts weren't found but are now handled correctly by the check. - check tl_pr20080214_11,tl_pr20051017_01 error message such as the variable used in chart is not defined will be shown by the check. - new function in util:mes_isUnaryOperator.m - mes_splitSFExpression, mes_getTLRangeOfSFTerm,mes_getTerms,mes_combineRanges: support addition keywords: ! ~ += -= *= /= &= |= - mes_getTLSFVariableProps in targertLink,2.x local and const variables in chart will use the data type defined in SL props, if it is not defined as double, otherwise the prop in field description will be used. In tl3.x, only the props in field description will be used V1.4 build 0003.1 ©2007-2010 07-Jun-2010 -------------------------------------------------------------------------------- - path_mxam: changed: jdom.jar will only be added to classpath when not already specified in the javaclasspath by the current MATLAB version. - mes_findSrcBlock: handle the selector block of matlab version 2006 and 2008 fixed: handling of mux-demux in source path - mes_findDstBlocks: fixed: in some cases, the port number of the found dst blocks was not zero-based. - missing TargetLink prerequisites (TL installation, not a TL model) are reported more clearly. V1.4 build 0003.0 ©2007-2010 25-May-2010 -------------------------------------------------------------------------------- - Global parameters are introduced which are available at run time for any check. With the current version the following global parameters are defined: Global.IgnoredBlockTypes = {}; > Checks ignore all blocks of specified block types Global.IgnoredMaskedSubsystems = {}; > Checks ignore all blocks of specified mask types You may set these parameters within your project parameter settings file or check-set parameter settings file. As a use case you might want to exclude your companies library blocks from analysis. - Start script 'mxam.m' supports option gui:on|off to start MXAM with or without GUI. If option 'gui' ist set to 'off' only paths will be added. The client start script of the netdrive version supports the same option. - If a TargetLink model is required by a check (which means that a TargetLink subsystem is expected to be found) but not available, the status of a check is now 'warnings' instead of 'not executed'. This means that a warning will be raised and the check should be considered as not applicable for a non- TargetLink model. In this case the check might as well be removed from the check-set. MES-utils: --------- - mes_getCharts: Input parameter b_uniqueLib: If more than one block of the model refers to same library block only one library chart will be returned. Otherwise all chart with localPath will be returned. Output parameter lr_charts: List of charts with a handle and the local model path. - mes_periprocess: Can accept the structure of the return parameter lr_charts of mes_getCharts so that if the chart comes from a library, the local path of the chart block will be used. - path_mxam: fixed: handling when wrapper files for the Model Advisor are not found within the MXAM installation directory. - mes_cleanupCellofStrings added: removes duplicate, empty or non-char elements, reshapes cell to 1xn dimension. - mes_getOutputDataInfoOfTLBlock: can handle SL data type conversition block if such a block is finded, try to find its source block and get the right data info dSPACE-Checks: ------------- - ds_0030: added: detection of forbidden non-scalar inputs - ds_0056: bug fix: method corrected to identify that a variable is a matrix - ds_0047, ds_0107: use of a parameter to control if the min and max values of the source block are used by the check MISRA-Checks: ------------- - misra_tl_6_7, misra_tl_5_6, misra_tl_5_7: can use parameter to control if the min and max of the source block are used for check; more info will be display in the error message - misra_tl_5_1: the base data type is used for comparision. - misra_t_6_4,misra_tl_6_5,misra_tl_6_3,misra_tl_6_2, use mes_getOutputDataInfoOfTLblock to instead of output.type, and use mes_findSrcBlock to instead of search the directly connected source - misra_tl_5_5: If sl port at the top level of TL subsystem or function subsystem connects with the TL port in another subsystems, and in between no other blocks, no error report will be given. - misra_tl_6_1 improved: check if only blocks are in TL subsystems; check all lsb properties of a block; test if lsb is realy 2^N even if arbitary is defined; handle bus signal correctly; change to not fixable - misra_tl_4_6: improved: check if only blocks are in TL subsystems; check all min and max props of a block; handle bus signal correctly,change to not fixable. - misra_tl_5_6: improved: The true source of the control signal of a multiport switch will be obtained, and the data type of the control signal is handled correctly in more cases. The 'inherit property' and the TL info in chart data are handled as well. If the data range of the control signal of a multiport switch block fit the requiremnt of the multiportswitch block, no warning will be given. - misra_tl_5_7: As changes for misra_tl_5_6, use new function mes_getOutputDataInfoOfTLblock to obtain the info of the control signal. If the data type is not uint, but its value is limited to >=0, it is also ok. - misra_tl_5_8: As above, use of mes_getOutputDataInfoOfTLblock to get the outport info of tl and stateflow blocks. The attribute format string is converted to lower case before being compared. V1.4 build 0002.3 ©2007-2010 25-Feb-2010 ------------------------------------------------------------------------------- - path_mxam: fixed: check whether jar files are already added to java classpath. MAAB-Checks: -------------- - jc_0201, jc_0211, jc_0221, jc_0231: New parameter 'Names.AllowTrailingUnderScore' and 'Names.AllowLeadingUnderScore' with default value 0 to allow underscores at the beginning or end of a block or signal name. V1.4 build 0002.2 ©2007-2010 04-Feb-2010 ------------------------------------------------------------------------------- - path_mxam: fixed: Call of 'sl_refresh_customizations' only for Simulink version 6.4 and higher and 'sl_customize' for Simulink version smaller than 6.5. Function is used to add functionality to the simulink context menu and to integrate checks into the Model Advisor. - mxam_convertCheckset: added: New function to get a cell array of selected check Id's from a given Check-set file (.mxml). V1.4 build 0002.1 ©2007-2010 26-Jan-2010 ------------------------------------------------------------------------------- - fixed: mxam_callchecks now creates a correct report when a check produces an runtime error. When an error occures by calling the function e.g. with invalid parameters no report will be created but the error will be returned and printed on the MATLAB command window - mxam_callchecks fixed: Error handled when path to report folder is invalid. No more output messages except for error messages will be displayed in the MATLAB command window if 'quiet' is set in the cmd-string. - fixed: creating report when a list of models must be handled e.g. a list of TargetLink subsystems - ds_0056 fixed: Use of a vector as SF input is not handles as 'failed' anymore. - misra_tl_5_8 fixed: Checks now the correct TL type of the control input of a switch block instead of the SL type. V1.4 build 0002.0 ©2007-2010 22-Dec-2009 -------------------------------------------------------------------------------- - HTML report of mxam_callchecks: summary of check results included dSPACE-Checks: ------------- - ds_0067: fixed: indexing of arrays MISRA-Checks: ------------- - misra_tl_6_7: fixed: loc_getlsb_from_TL_block crashed if signal_name was an empty cell system/mes_utils: ----------------- - mes_find_srcblock: improved: source tracking through muxed and bus signals - mes_postprocess: fixed: when MXAM_GUI was not started, errors were not displayed on the command line - mes_getAutosarBlockInfo, ..BlockInfo2, and ..BlockInfo3: new functions to access Infos of Output data of Autosar 2 and 3 blocks. - mes_getMuxBusStruct: new function to get Bus Struct from Mux Block. Substitutes get_param(BusStruct') which does not work if Model Configuration diagnostis->connectivity->"Mux blocks used to create bus signals'" is set to 'error'. - mes_isLineCrossSubsystem: new function to test if a line crosses any object of a subsystem - mes_isEquivalent: new function to test if a pair of strings is found in the same row of a two-row table of strings. Used to check equivalence of tabled strings. - paraoptset: fixed: handling of arguments with old five-column format. V1.4 build 0001.2 ©2007-2009 03-Dec-2009 -------------------------------------------------------------------------------- - Report:added: The check Id will be written to the title-Tag in the check HTML report instead of the model name. When creating a PDF with Adobe Acrobat Professional using the 'From web page' option, the bookmark-menu now uses the check ID for easy navigation through the PDF document. - mes_preprocess: added: specific error message if TL is not installed - dSPACE/mes_ds_0072: fixed: only the first chart found in the model was checked - path_mxam: added: When called with 'remove' command all MXAM jar-files will now be removed from the dynamic javaclasspath. V1.4 build 0001.1 ©2007-2009 30-Nov-2009 -------------------------------------------------------------------------------- - mxam_paraoptdef_dSPACE.m: fixed: check parameter dSPACE.TargetLink.DiagnosticSettings for check ds_0093, Property "SingleTaskRateTransition" was wrongly set to "error" is now corrected to "warning". - mxam_getparaopt: fixed: misleading error messsage if parameter file was not found. - mes_preprocess: fixed: in some cases, a failure to access a parameter file. added: reg.on_param_error: ['error','warn','ignore'], default: 'warn' - mes_ds_0093.m: fixed: wrong call of mes_postprocess - mes_find_srcblock.m: A bug is fixed which occured for checks using this function when a from block was found. The signal name can can now be returned. - misra_tl_5_5.m: Now allow the use of TL Port blocks to specify the output datatype or used DD variable in top level TL subsystem and in function subsystem, and in such subsystems the SL inport and outport must connect directly with TL port and not to other type of blocks, the map of SL port to TL port is one to one map (SL-->TL). - misra_tl_5_8.m: Only TL switch blocks will be checked now. A warning will be raised for each Simulink switch block that will be found in a TargetLink system. If the threshold criteria is set to 'u2~=0', the threshold.value is not valid, even though it maybe still 0.5. For that reason if the threshold.criteria is 'u2~=0' a fail will be given. - misra_tl_5_7.m: Can now get the output data type of TL data store read, TL autosar blocks, TL constant and state chart. This means the check works also if the TL multiport switch connects with these blocks. A warning will be raised for each Simulink switch block that will be found in a TargetLink system. V1.4 build 0001.0 ©2007-2009 25-Nov-2009 ------------------------------------------------------------------------------- - mxam_readblocklist.m, mxam_writeblocklist.m: handling of ill-formated block names fixed, extra line feeds in ignore lists removed. - mes_check.m: Display of warnings and notes on the MATLAB console now includes link actions, if provided. Warnings and notes are now included in the html-report. - get_macheck.m, disp_macheck.m, list_machecks.mm, mes_get_checks: Additional argument b_useDBOnly added to enable faster access to check properties. V1.4 build 0000.3 ©2007-2009 20-Nov-2009 ------------------------------------------------------------------------------- - mxamgui.m: Call of MXAM_Launcher.exe by using winopen instead of '!' This resolves a problem of starting MXAM from a different path. It is still recommended to start MXAM from its home directory because it uses relative paths. - misra_tl_7_7: No fail is given to include statements which appear in fxp_header or flp_header sections. A warning will now be raised if an include file does not exist, is not specified, or can not be opened. - misra_tl_6_7: Problem fixed which occurred when attempting to get data type and scaling info's from Lookup tables where TL Autosar blocks are being used as input. - MXAM server instance The former global variable MXAMSERVER doesn't exist anymore. The server handle can only be received from mxam_serverHandle and is resitant to the 'clear all' command. This java server objekt is now implemented as singleton and should only be created, received or deleted via the m-script. V1.4 build 0000.2 ©2007-2009 28-Oct-2009 ------------------------------------------------------------------------------- - path_mxam.m: MXAM paths will now be added at the beginning of the MATLAB search path - misra_tl_6_7: Output of warnings for each Lookup table who's TL properties cannot be read instead of throwing an error and aborting the check execution. - mes_block_has_businport.m: warning (SL_BusSelDupMuxSigNames)) will be returned when reading the property 'busstruct' from a mux. V1.4 build 0000.1 ©2007-2009 15-Oct-2009 ------------------------------------------------------------------------------- - get_mesvar.m: error message enhanced - db_0043: Parameter name and fail criteria changed. An item will fail if the font name and size of this item is not set as defined in the parameter. In earlier releases a pass was given when all items have the same font name and size even if it was different to the parameter settings. V1.4 build 0000.0 ©2007-2009 12-Oct-2009 ------------------------------------------------------------------------------- - Starting MXAM with different settings MXAM can be run with different settings for different projects. This can be accomplished depending on the actual project by passing the settings file to MXAM during the startup call. There are two ways to use this feature: 1. Calling the script file 'mxam.m' in MATLAB with the path to the settings file. This will run the MXAM server and client with the correct settings: >> mxam() 2. Running MXAM server and client separately: >> start_mxamserver() >>!mxam_launcher.bat "" - Importing checks Checks can now be imported to the current database. An import button is provided above the check table in config mode. An XML database file must be chosen to select the new checks. If you wish to overwrite existing checks in the currently loaded database, the MXAM setting 'Overwrite checks during import if they already exist' must be enabled (in Settings/Misc). The number and IDs of imported or overwritten checks will be shown in a text field after the import has completed. - Function mxam_getversion has been introduced. Returns version information (application name, version number, and setup build date) for MXAM in MATLAB. For more information, type the following command in MATLAB: >>help mxam_getVersion - Checks which have the result 'passed' will display a warning if no blocks to by analyzed were found in the model. - Displaying warnings and notes in the report and on the command line is optional and can be enabled or disabled. Using the MXAM client the corresponding settings can be found under the menu item 'Options>Settings...' under the category 'Report'. - The MXAM version number can be obtained by calling the MATLAB command 'ver'. - New m-scripts in the installation root for running MXAM: 'mxam.m' is the default start script. It starts the MXAM server and client. All neccessary MATLAB paths are added beforehand. 'mxamgui.m' runs the MXAM client only. - dSPACE guideline ds_0063 (No Use of Implicit Events) added as check: Stateflow transitions which use the implicit events 'change', 'chg', 'enter', 'en', 'exit', 'ex', 'tick', or 'wakeup' fail the check. - Tags in model selection dialog The model selection dialog shows whether each MATLAB system is a model, library, or the current subsystem. They are marked accordingly as [MOD], [LIB], or [GCS]. - License file Activating MXAM is now more convenient. Every customer gets a license file 'mxam.key', which only needs to be placed into the MXAM subfolder 'license'. MXAM then automatically recognizes the license information. - More checks with fix option The following checks now also have a fix option. They replace invalid/unwanted characters with underscores: - jc_0201: Usable characters for subsystem name - jc_0211: Usable characters for Inport and Outport blocks - jc_0221: Usable characters for signal line name - jc_0231: Usable characters for block name You can find more information about each check by executing the help command in the MATLAB command window (e.g. >>help mes_jc_0201 or >>help mes_jc_0211). - Display of parameter and ignore list files The reports show the parameter and ignore list files used on the top level of each report. The project and model parameter files are listed as separate entries because they are globally defined. The check-set parameter and ignore list files are listed in a separate table, so their dependencies on the check-sets are clearly visible. - Improved display of error messages Error messages in the reports are now framed for better recognition. Furthermore, MXAM distinguishes between runtime errors and MXAM exceptions. MXAM exceptions occur on application level (e.g. if a check could not be found in the check database), whereas runtime errors are unexpected, lower level exceptions (e.g. accessing empty cell arrays). For improved traceability, exceptions and errors are now displayed with more detailed information about the error location (stack of involved files and line numbers). - Improved display of check-set tree The corresponding check title is shown for each check ID in the check-set tree. Additionally, the check boxes of each check-set are grayed out if some, but not all checks are selected. These two improvements enable an overall faster navigation through the check-set tree. - Report item numeration Faulty items, warnings, and notes in reports are numbered consecutively. Each of the three categories are listed separately whereas each listing has its own numeration that starts with 1. - Example checks and models There are example checks and models for Simulink, Stateflow, and TargetLink in the 'doc' folder. These will assist you in developing your own checks. - Automatic check database refresh Changing or refreshing the check database in the MXAM client automatically refreshes the database in MATLAB. Manually executing 'mxam_refresh_database' in MATLAB is no longer necessary in this case. Refreshing the database now shows the total number of installed checks. - Switch for interactive and automatic model selection There are three options available for starting a checks run: 'Interactive Model Selection', 'Current Model', and 'Current Subsystem'. When starting a run with the option 'Interactive Model Selection' enabled, MXAM will show you a list of open models and subsystems in MATLAB to choose from. For the two other options the dialog will not appear. Selecting the option 'Current Model' will automatically start the checks run for the opened model in MATLAB and 'Current Subsystem' for the opened model or subsystem which is in the focus of MATLAB. - Disabling displaying selected time consuming checks The option of selecting/deselecting time consuming checks can be disabled. In this case, all selected time consuming checks will be automatically executed. - Report history improved The report history lists all generated reports by date. To improve the the overview, the name of the checked model is now displayed behind the date. - MXAM parameters and their values will be displayed in the check report. If default values are overwritten in the project, model, or check-set parameter file, the file name will be displayed with a link to the source. Otherwise the parameter value is marked as 'Default'. - Generating a parameter settings file A function to generate an m-script with all parameters and their default values has been implemented. For more information, see: >> help mxam_generateDefaultParameterSettingsFile - Displaying the parameter of check uses A function to list all parameters of a check or list of checks along with their sources and values on the command line has been implemented. For more information, see: >> help mxam_listParamProps - ds_0023_c and ds_0023_d are integrated and checked in ds_0023_b. A parameter is used to set the properties being checked. - More checks with parameters The following MAAB checks now use parameters to define the blocks being checked and settings: MAAB: hd_0001,jc_0021,jc_0061,jc_0141,jm_0001,na_0004,na_0008 dSPACE: ds_0016, ds_0023_b, ds_0080, ds_0027, ds_0044, ds_0055, ds_0049, ds_0093, ds_0094, ds_0096 - Parameterization of checks Parameterization of checks has been enhanced. It is now possible to use project, model, and check-set parameter files. Parameters are defined in mxam_paraoptdef files and can be overwritten by parameter settings files. See chapter 'Check parametrization' in the MXAM User Guide for more detailed information.