Unified modeling platform
Hi,
Just to share some of my thoughts on modeling for complex systems & software.
The current generation of complex systems being developed today, use a combination of methodologies, tools, and platforms.
e.g. Domain specific/physical modeling and simulation using Matlab/Simulink, Systems & Software modeling using SysML/UML using Rhapsody for asynchronous system behaviour, SCADE for synchronous system behaviour, and other environments like VAPS/SCADE Display for HMI applications.
While integrations exist between these various platforms and tools, it is not seamlessly integrated from a user perspective, a by product of patchwork integration between the various tools and tool vendors.
A next generation modeling platform could potentially
a. combine the core techniques and approaches of SysML/UML, SCADE & mathematical modeling & representation as done by Matlab/Simulink, into a new UML 3.0 specification.
For example, the parametric diagram in SysML doesn't do anything, but it really should have been integrated with a Matlab/Simulink model, but that integration occurs out of context in another location within Rhapsody, and not in the SysML Parametric diagram.
b. A large specification like this would have the obvious disadvantage of being large, unwieldy and overtly complex. So, it would be essential to present a simplified user experience. Therefore, a new systems & software modeling platform would need to rethink the user experience.
Take a look at how Altium attacks this problem: http://nb3000.altium.com/intro.html
What is really needed is a unified interactive modeling environment that has better modeling specs, and abstracts it using 3D visual objects, containers and animation effects; to help a user navigate the model, drag and drop visual modeling elements, dive into each modeling diagram, and then edit / enhance a specification (Physical spec, SysML, UML, SCADE) from within the same modeling environment.
This can start at the lowest level, representing a processor or FPGA resource block and its constituent IP Block libraries.
As the hardware spec gets defined, the system can automatically generate the board-support package (BSP), and pull in the required device driver libraries. This type of support already exists in the Xilinx ISE 12.1 FPGA development tools for the PowerPC/MicroBlaze cores.
Once the hardware has been defined, an operating system layer can be selected, and dropped on top of the hardware block, interfacing with the BSP, to complete OS integration with the hardware resources (I2C, SPI, DDR3, VGA/DVI, PCI, etc).
The user can then select the appropriate real-time framework (OXF, Synchronous), etc middle ware components, and then deploy the application level services and components onto the OS.
The key point is to make the underlying representation powerful enough to do what Rhapsody, Matlab & SCADE can do right now, but present it in a way that it is much easier, natural and intuitive for a system/software developer to specify, design, implement and test system functionality.
Best regards,
Elvis Dowson
Just to share some of my thoughts on modeling for complex systems & software.
The current generation of complex systems being developed today, use a combination of methodologies, tools, and platforms.
e.g. Domain specific/physical modeling and simulation using Matlab/Simulink, Systems & Software modeling using SysML/UML using Rhapsody for asynchronous system behaviour, SCADE for synchronous system behaviour, and other environments like VAPS/SCADE Display for HMI applications.
While integrations exist between these various platforms and tools, it is not seamlessly integrated from a user perspective, a by product of patchwork integration between the various tools and tool vendors.
A next generation modeling platform could potentially
a. combine the core techniques and approaches of SysML/UML, SCADE & mathematical modeling & representation as done by Matlab/Simulink, into a new UML 3.0 specification.
For example, the parametric diagram in SysML doesn't do anything, but it really should have been integrated with a Matlab/Simulink model, but that integration occurs out of context in another location within Rhapsody, and not in the SysML Parametric diagram.
b. A large specification like this would have the obvious disadvantage of being large, unwieldy and overtly complex. So, it would be essential to present a simplified user experience. Therefore, a new systems & software modeling platform would need to rethink the user experience.
Take a look at how Altium attacks this problem: http://nb3000.altium.com/intro.html
What is really needed is a unified interactive modeling environment that has better modeling specs, and abstracts it using 3D visual objects, containers and animation effects; to help a user navigate the model, drag and drop visual modeling elements, dive into each modeling diagram, and then edit / enhance a specification (Physical spec, SysML, UML, SCADE) from within the same modeling environment.
This can start at the lowest level, representing a processor or FPGA resource block and its constituent IP Block libraries.
As the hardware spec gets defined, the system can automatically generate the board-support package (BSP), and pull in the required device driver libraries. This type of support already exists in the Xilinx ISE 12.1 FPGA development tools for the PowerPC/MicroBlaze cores.
Once the hardware has been defined, an operating system layer can be selected, and dropped on top of the hardware block, interfacing with the BSP, to complete OS integration with the hardware resources (I2C, SPI, DDR3, VGA/DVI, PCI, etc).
The user can then select the appropriate real-time framework (OXF, Synchronous), etc middle ware components, and then deploy the application level services and components onto the OS.
The key point is to make the underlying representation powerful enough to do what Rhapsody, Matlab & SCADE can do right now, but present it in a way that it is much easier, natural and intuitive for a system/software developer to specify, design, implement and test system functionality.
Best regards,
Elvis Dowson