What is the best way to maintain models with common components?

I work for a company that uses MatrixX/SystemBuild (v62.2) to build functional models of trains for use in driver training simulators.  We are currently in the early stages of a project in which we will need to build and maintain multiple train models which are likely to have some common components, but may have some significant differences.  Before we get too far into the modelling, I would like to come up with a decent method of maintaining the common components while keeping the differences separate.
Ideally, I would like to find a way of quickly and easily determining the difference between two models and a way of conditionally pushing the differences from one model to another - in a similar way that one might diff two text files and conditionally copy the changes in one to another.
I found a script (mx_62.2\sysbld\scripts\compare_catalogs.msc) that seems to accept two catalogs for comparison, outputing a difference log. However, I'm unsure how to use this as I don't know how to load two catalogs within the same instance of Xmath or how to assign a catalog to a variable for passing in to a function.  Does anyone know how to use this script?
I am also thinking that it might be useful to be able to convert a catalog to an xml - I can probably write a script to do this, however I am wondering if there's anything freely available to do this.
Does anyone have any other ideas?

Let me first discuss about comparing models, then I'll talk about my ideas about modularization.
Comparing models in anything before v8 is difficult. In v6 or v7, there's no way to load to separate files containing the same yet different superblocks. The tool scripts you found don't seem to be documented anywhere. Given the history of some of the things added into the product, I'm not surprised. Which means that it's useless to us. After looking at the scripts, it's difficult to figure out what the inputs to that script should be. You can launch multiple instances of xmath/sysbld and load the models separately, but that's about it.
One suggestion if you have to compare models is to use the exportcatalog.msc script which will generate a text file containing the SBA commands to re-create the model. Do the same for both models then perform a text difference between the generated SBA commands in the generated files.
Another possibility is to use SBA to get the details of each superblock (similar to exportXXX.msc scripts) into a form that's easier to compare between. I'm going to guess that some kind of generated SBA content is the expected input to the compare_catalogs, but I'm not sure.
Now, within v8, we've created a hierarchical compare tool, that compares model files and shows differences. Copying changes between the compared models is a future enhancement. However, in the context of using v8, you could manually copying the changes between the models using the editor and/or project system as appropriate. Yes, in v8 you can separately load models containing the same named superblocks. Try it, I'll bet you'll like it and it will save you lots of time!
Now, on to modularization. I'm not sure you're use of 'components' is the meaning of the Components feature in Sysbld or not. I'm going to assume that you are not using Components and you're generically using the term components as a set of logically related superblocks, or as I perfer to call them, a module.
The only modularization tool you have in Sysbld is the file. What I mean here is that you are able to group sets of superblocks into separate savefiles (.sbd) then combine them to create a complete model. So, essentially, you will need to partition your model into modules and each module is a separate savefile. Then, you can choose which module (i.e. savefile) to load to construct a complete model.
In v8, there's a project system specifically designed to make this kind of modularization within a project easy and straightforward to use and maintain. I'd suggest that you use v8.
For previous versions, the best you can do is create xmath scripts for each complete model you need. The script will contain all of the steps needed to load the separate modules to make a complete model. Thus, you'd have a different script for each model. Also, becareful in v6,v7 that you'll have to manually manage which superblocks are part of which modules, it's tricky stuff. Again, you'll need to use scripts to help maintain this level of complexity in these versions of the Sysbld.
Now, I do not want to recommend FileSuperBlocks, it's a legacy feature to deal with limited resources not applicable on today's machines.
Also, I can't really recommend the the Component feature in Sysbld. It's really not a component, but more of an object, sort-of. And it sort-of gives you unique names and it sort-of gives you parameters. It will not help with the modularization I think you want so don't use these.
In general, there are features within our latest v8 release of MATRIXx that will help you with all of your issues. If you can, upgrade!
Bob Pizzi
MATRIXx R&D

Similar Messages

  • What is the best way to maintain your Battery Life for Iphone 5 ?

    What is the best way to maintain your Battery Life for Iphone 5 ?

    hi,
    so what would you suggest to do here then. let it get to 50% then run the battery down and at say 5-%ish re-charge it fully.
    is there anything i could switch off on my phone to save battery power. ive taken off he location services apart from ym locate my iphone, stopped the fetch new data and set it to manaul . this is also the same for the icloud as well.more or less everything has been set to manual or set to off ??

  • What is the best way to stream sports with Apple TV

    What is the best way to stream sports with apple TV

    Your question is a little too broad. Hard to know what sports you are talking about.
    If you have a newer Mac, you can use airplay to mirror anything on your Mac to your apple tv. Or use the ESPN app.
    But a lot of sports just can't be streamed as they are available, though I bet this year sees a lot of new livestreams on sports on YouTube or Ustream.
    Hugh

  • What's the best way to connect Cognos with SAP 4.6c on iseries V5R4

    We have SAP 4.6c on iseries V5r4.
    What's the best way to connect Cognos with SAP so that data could be extracted from SAP and create reports with Cognos.
    Thanks
    Joe

    DB2 Connect version 8.2 is no longer supported by IBM (support ended April 30, 2009, see http://www.ibm.com/software/data/support/lifecycle/). As far as I know, DB2 Connect is communicating through DRDA, which is a platform-independent protocol supported by all DB2 platforms, so any DB2 Connect client should be able to talk to any DB2 database. However, there may be limitations on the supported release combinations.
    Kind regards,
    Christian Bartels.
    Edited by: Christian Bartels on Sep 6, 2010 4:17 AM

  • What's the best way to maintain 2 libraries one lossless the other MP3?

    I'd like to have 2 music libraries one for home (lossless) and one for my iPhone (MP3). Not sure what's the best way to achieve this and maintain.

    To create or access a second (or more) library on a Mac, hold down the "Option" key (labelled ⌥ and/or alt) when launching iTunes: Using multiple iTunes libraries -Mac
    Note: You can only have one Library open at a time and iTunes will default to the last library opened if you don't use the keyboard command to choose one.

  • What is the best way to start "fresh" with iPhoto '08?

    I am running iPhoto '08 on a mid-2007 iMac. When I set up the machine, I moved all the photos from my PC to the Mac retaining the existing directory structure that I had on the PC. I then imported all the pictures into iPhoto with no problems.
    Unfortunately, the other person who uses the Mac needs to be able to use the directory structure as it existed on the PC (that structure involves several subfolders with specific names etc.), and it appears that iPhoto is not designed to work that way. I know the photos can still be manipulated in the folders I imported, but then I run the risk of at best, being out of synch with iPhoto and at worst, corrupting iPhoto completely.
    That said, what I would like to do is delete or remove the current iPhoto library (or whatever iPhoto accesses; not the whole application unless necessary) and then selectively import photos to iPhoto. That way, the other user can access the photos in the familiar folder structure and manipulate them at will without disturbing the iPhoto db and, once photos are edited etc. and ready for primetime, they can be imported to iPhoto to gain the advantages of displaying using Front Row etc.
    My question is what is the best way to achieve what I am looking for? Just backup then delete the iPhoto pkg file in the HD/Library/Receipts folder? Uninstall the entire application and start over?
    All assistance greatly appreciated.

    ETRA
    Welcome to the Apple Discussions.
    You don't need to re-install iPhoto, just change the library - and you may not even need to do that.
    1. You can easily recreate your Directory structure in iPhoto. Simply start at the bottom of your structure and drag a folder of images to the Source (or left hand) pane of the iPhoto Window. iPhoto will create an Album of the same name. The create your enclosing folders (File -> New Folder) and drag the albums to it. This way you can quickly recreate what you have/
    2. The other user of the files can access them directly via the iPhoto Window or a Media Browser such as THIS. The advantage of this system is that your directory structure is available to them ina convenient and recognisable way. They can then drag the pics from the iPhoto Window / Media Browser to the app they as the need. (A whole lot faster than fumbling around in Folder after Folder etc, plus the advantage of keyword searching.)
    3. Is this necessary for working with an editor? You can set Photoshop (or any image editor) as an external editor in iPhoto. (Preferences -> General -> Edit Photo: Choose from the Drop Down Menu.) This way, when you double click a pic to edit in iPhoto it will open automatically in Photoshop or your Image Editor, and when you save it it's sent back to iPhoto automatically. Btw this is the only way that edits made in iPhoto will be visible in iPhoto.
    4. Finally, if you do wish to go as you described: Simply trash the iPhoto Library from the Pictures Folder. Start iPhoto and it will create an new empty library. If you wish to recover the files from the Library first, then Right Click on the iPhoto Library and go 'Show Package Contents'. Your files are in the Originals Folder.
    Regards
    TD

  • What's the best way to write freehand with InDesign?

    I have a Wacom and want to place some handwriting on my document - what's the best way to do this?

    Try the pen or pencil tools or do it in Photoshop and place it.
    Bob

  • What is the best way to place image (with caption) in a Book?

    I am preparing a template for an Encyclopedia project, The Encyclopedia will be in more than 10000 pages, so what is the best way to place images (Photos, Graphs, illustration ...etc) with a caption?
    The problem that when I modify text; the image don’t move with it, and when I place it within the text, it's difficult to control text flow.
    Please Help

    Thank you Peter,
    it's a bit dificult to control anchored object -speacially in two colum text box- when placing image in one and half colum size, it wont move to first column.

  • What is the best way to sync contacts with a webdav host?

    I'm using Thunderbird and Android Contacts as client apps along with a owncloud 8 hosted remotely. I've activated the Contacts app on Owncloud and now I want to sync the contacts between all of these systems. What is the best way to do this?
    I'm trying to get Thunderbird sorted first. I've tried Addressbooks Synchronizer but this currently gives me either a message telling me that my credentials are wrong or sits silently doing nothing. I'm aware that this is a file sync, not record sync method, so it isn't ideal anyway.
    Is there a better, proper sync, method that I can use? I refuse to thing that this is an unreasonable request or that no one has asked it before me, but I just can't seem to find the answer.
    Thanks,Martin

    webdav my initial reaction was the sogo connector.
    These guys recommend the same http://kb.mozillazine.org/Sharing_address_books
    Here http://www.sogo.nu/english/downloads/frontends.html

  • What is the best way to maintain state in Java web apps?

    Hi,
    been looking at best way to maintain state between requests in JSP.
    Ive been trying to use URL rewriting but been getting problems. I understand I can also achieve this using cookies.
    Are there any other better ways of doing this.
    I don�t know if the problem is with JBuilder4 or something in the Tomcat server?
    Any suggestions would be appreciated.
    thanks.

    I think if you use JavaBeans that implements Serializable , it might maintain state (but not sure of this).
    HttpSession is one option but , sessions have limitations - they timeout, they don't work when the page is cached by the browser and they don't work if Cookies are disabled in the browser.
    Database is always an option, and there are two types of DBs , in-memory like HSQLDB etc , or the regular RDBMS like MySQL , Oracle etc.
    If you only want to maintain state between HttpRequests, then use the request object which is implicit in JSPs.
    I think your URL Encoding is not working most likely because you have disabled Cookies in your browser and that's why you see jsessionid.
    If you enable Cookies in your browser then, the jsessionid should not appear.
    There are other options I'm sure, but I'm only aware of the above at this time.... may be someone else might know more.

  • What is the best way to setup iTunes with my current configuration?

    I currently have an iPhone 5 and a new iPad. My wife has the iPhone 4S. I do all the syncs (even my wifes) on the same Windows 7 machine. She has a different apple ID than I do and I share one apple ID accross my iPhone and iPad.
    I have a Windows Home Server 2011 box that stores all my photos and music files. I am able to connect to the box from the Windows 7 machine without issue. I have several media diretories. One of the directories contains all my iTunes music and another seperate directory contains all my photos.
    Here is the question. If I want to sync my iPhone 5 and my new iPad so that I download all the music files and photos how should I setup iTunes? How should I sync my wifes iPhone so she gets all the Photos and music files? One of my chief concern is being able to automatically sync apps and  "new" photos taken from either phone back to my file server photo directory.

    Migration Assistant is the best way to get everything.

  • What is the best way to maintain my battery?

    What is the ideal charge cycle to be maintained?

    Here's what Apple says:
    http://www.apple.com/batteries/notebooks.html
    Now I'm gonna share a dirty little secret about all lithium batteries: Fact is, the biggest killers of these batteries are frequent full discharge/recharge cycles & heat. I'm well aware what Apple recommends, but I'm telling you that if you want your battery to last avoid discharging below 35 ~ 40% of capacity as much as possible & avoid heat. Every 3 ~ 4 months, it's OK to discharge to ~ 35% of capacity & then recharge to full. More often than that is not needed & will do more harm than good.
    The battery in the MacBook Pro I'm typing on right now is over 5 years old & still going strong...long past its rated life span. Don't know how much longer it will last, but if you keep in mind the biggest killers of these batteries, & act accordingly, yours will last as well.

  • What is the best way to keep up with "RED" agents?

    TES 6.03.265
    Hello all,
    I'm fairly new to Tidal, and have a question mainly for those managing a hundred or more agents.
    We have several hundred agents, and it is difficult for the operators to track & follow-up on all of the "RED" agents.
    In the GUI, one cannot sort by "red or green"....and the other view of agents -  the "master" view of connections -  does not distinguish between disabled agents and broken (red) agents...it shows them all as "grey".
    We REALLY need for our operations team to worry about RED agents....not so much the disabled agents (which are grey in both views).
    A job that runs at a regular interval, and emails a list of any "RED" agents that it finds....would probably work just fine for us, if nothing better was available.
    But I can't figure out the query....the closest I can get is to report on all inactive agents with "null" time zones....but I have seen where agents are green with no timezone (the master's agent) and red WITH a timezone (an aix agent)....so that is not 100% reliable.
    I guess my question boils down to this:  how does that agent status dot turn "RED"?
    Is that value extracted from a table, or does something trigger it to go red?
    What does everyone else who manages hundreds of agents do to keep up with all the RED ones?
    Thanks, - Steve

    Thanks Tracy,
    Guess I need to drill down a bit deeper.
    My goal is to give the operators the ability to take a list of "RED" jobs - that they could generate by running a "report" or running a "report job", or by grouping them together in the client so they could copy/paste only the rows with RED dots....anything to generate a list that they could save as a txt file or attach to an email to another team, things like that. Sometimes we have a lot of broken agents to keep up with.
    I've had mixed results with the alerts/events, anyway, in terms of general monitoring...sometimes we have a lot of agents that go from green to red back to green before the operator could even isolate the agent in question....a lot of false alarms...tweaking the timeout settings didn't help much, and a value too big seems to hang up the agent processes...not a good thing.
    Thanks again for the response!
    -Steve

  • What is the best way to geotag photos with data from GPS Tracker Log (GPX format)?

    I just returned from a 4 month trip to Southeast Asia. Before I left, I set the time on my camera, a Canon 7D, to match the GPS time on my GPS tracker, a QStarz BT-Q1000X. Both times were set to UTC, also known as GMT.
    I have imported the data from the GPS log into Aperture as a GPX file. Now I would like to sync the location metadata on my photos with the data from the GPS log. How can I do this using Aperture 3?
    I seem to be having two problems:
    Aperture wants to shift the times based on which part of the track I drag the images onto. Since the camera and gps tracker times were sync'd, I do not want any shift.
    The time shifts that are displayed are 12 hours and a few minutes, rather than 0 hours and a few minutes.
    A few additional notes:
    When I imported the GPS track, Aperture automatically changed the time zone of the track to Asia/Ho Chi Minh City, which is correct (GMT+7).
    I have batch changed the images from Camera Time: UTC to Actual Time: GMT+7
    The time on my computer is US/Eastern Daylight Time (GMT-4), or Eastern Standard Time (GMT-5) when the photos where taken.
    Since I was gone for so long, and my GPS tracker memory is limited, I set the tracker to record a trackpoint once every 60 seconds.
    Is there a solution to my problems using Aperture 3, or should I start looking for third party applications to geotag the photos before importing them into Aperture?
    Thank you.

    I think the 12 hour discrepancy is more likely a result of the 12 hour difference between GMT+5 and GMT-7. The dates and times of the photos and the GPS track are displayed properly in Aperture. See the images below.

  • What is the best way to maintain access control management - Weblogic, LDAP Server or EJB

    Hi All,
    I am involved in creating an application which maintains/manages
    the user privileges. The application is deployed in Weblogic6.1 and
    the users are stored in LDAP Server. The LDAP Server is located
    geographically away and I dont have rights to add or remove users. I
    have to write an application in EJB which will give different
    privileges to the users who are stored in LDAP Server. users may have
    different privileges of same Group.
    Please let me know how can I proceed. Whether I got to go with ACL's
    or Declarative Security in EJB component.
    Thanks in Advance...
    with regards,
    Gokul.

    Please let me know how can I proceed. Whether I got to go with ACL's
    or Declarative Security in EJB component.Couple of points.
    o You can not set ACL on EJB thru console. ( If you mean to do that) You can
    set the
    ACL on JNDI context on which you do a lookup.
    o If you do not want to set ACLs in JNDI context, your option is use
    declarative security
    in your ejb xml descriptors.
    I hope this answers your question.
    -utpal

Maybe you are looking for