Coder Social home page Coder Social logo

Comments (10)

harmanpa avatar harmanpa commented on July 21, 2024 1

Embarrassingly, I now realise that is how it is described in the original paper from 2006, of which I'm one of the authors!!

from vehicleinterfaces.

harmanpa avatar harmanpa commented on July 21, 2024 1

This change needs to be in v2.0.0 because it needs a conversion script to change instances of VehicleInterfaces.<assembly>.Internal.* or VehicleInterfaces.<assembly>.Interfaces.* to VehicleInterfaces.Interfaces.*.
I think we should release v1.2.5 now with recent changes, and then consider master to be v2.0.0 and make bigger changes.

from vehicleinterfaces.

harmanpa avatar harmanpa commented on July 21, 2024

Reducing/minimising the number of bus definitions would definitely be good. We need to ensure that it is still convenient for the user when building models - for the majority of cases it should be easy to connect to a signal in a bus without having to use dialogs to "add variable" or going into the source code.

from vehicleinterfaces.

harmanpa avatar harmanpa commented on July 21, 2024

It would be good for @mdempse1 to be part of this discussion as original developer and major user of the library

from vehicleinterfaces.

tobolar avatar tobolar commented on July 21, 2024

IMO the proper usage is as follows:

  1. There are defined empty control busses in VehicleInterfaces.Interfaces which should be instantiated in the components.
  2. In the Internal subpackages of particular assemblies (e.g. Brakes.Internal), there are defined signals to be connected in the components. These signals are just dummies, there is generally no problem when not connected. These control busses shall not be instantiated. They are just used as predefined signals in an item list once a signal is connected to a bus in the Diagram.
  3. That list of signals on a bus is composed from signals of all busses which currently extend from the concerned bus.

from vehicleinterfaces.

harmanpa avatar harmanpa commented on July 21, 2024

If the bus in Internal is not instantiated, does the bus that is instantiated extend from it?

from vehicleinterfaces.

tobolar avatar tobolar commented on July 21, 2024

This is right an opposite case. The busses in Internal subpackages must all extend from a bus in VehicleInterfaces.Interfaces. Thus, a link is introduced between the busses when the list of signals is assembled in Diagram.

from vehicleinterfaces.

harmanpa avatar harmanpa commented on July 21, 2024

Understood, yes that is a tidy way of doing things.

from vehicleinterfaces.

mdempse1 avatar mdempse1 commented on July 21, 2024

I think the use of replaceable on the bus connectors within all the example models is unnecessary and it would clean things up to remove them. It wouldn't impact any of our libraries as we don't use these examples in the VeSyMA libraries.

If the user wants to extend the list of available signals then they could follow the design pattern established in VI and extend from the connector in VehicleInterfaces.Interface and add all the signals they need to use.

What are we losing, if anything, by making this change?

from vehicleinterfaces.

tobolar avatar tobolar commented on July 21, 2024

To be sure we trigger no possible conflict in a user's model, signal bus connectors in VehicleInterfaces.<assembly>.Internal should include all signals of busses in VehicleInterfaces.<assembly>.Interfaces. May be this is fulfilled already but I will check.

But how to proceed in a best way? Should we reimplement this for comming v1.2.5 (which will be compatible to MSL v.3.2.3) or should we start non backward compatible v2.0.0 - which IMO is a safe way?

from vehicleinterfaces.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.