CosmoVision (Canada) Ltd. (formerly 4215494 Canada Ltd.) is consulting and software development company that specializes in the development of software for SCADA, control, modeling, monitoring and mixed applications. We have been in business since 2003. During the past four years our company has developed new system design technology (M2C Technology - Modeling, Monitoring and Control), which is successfully implemented in several commercial applications. M2C technology roots in the the experience that our team has accumulated over the years of development of control systems for Space launch operations and for related areas of software engineering. This technology is implemented in the VisCMSE design environment, which was already used to design data fusion applications for Earth Observation. VisCMSE however is a universal design environment, and has already been used to design the system integration software for Distributed Control Systems (including power generation), Process Control Automation, Environment Monitoring, Disaster Management, and many other applications. Use of VisCMSE cuts design time and cost very significantly, and essentially increases the reliability of the system design.

About Technology Software Contact News For Start-Ups




Process Control







and Change





Live Web


     Visual Control, Monitoring and Simulation Environment


Downloadable brochure


VisCMSE is a Java application that was developed and is marketed by Canadian company CosmoVision (Canada) & Ltd. It supports two principle functions:

  1. Development of the control, simulation and monitoring systems and
  2. Control, monitoring and modeling of complex industrial installations, facilities and another systems.

Possible areas of application of VisCMSE include:

  • wide variety of geoinformation problems (crop monitoring, change detection, disaster responce),

  • resource management (fishery, wild life, cattle, etc.),

  • monitoring and automated control of industrial processes (chemical, metallurgical, food processing, space launch operations, etc.),

  • monitoring of networks (electrical grid, pipelines),

  • monitoring of controlled environments,

  • monitoring of storage facilities (grain, fuel, hazardous, etc.),

  • security,

  • container and ship tracing, and

  • other tasks.

Specific applications include environment monitoring, water resources management, disaster impact assessment and prediction of development of natural and technological disasters, and Earth Observation applications and Space-based monitoring. VisCMSE can be also used for training, for modeling of hypothetical scenarios and for strategy development. While VisCMSE is design environment that is used to generate open-architecture configurable control system code, these applications are only the few examples of possible areas of utilization of the product.

VisCMSE Heritage

VisCMSE originates from the latest developments in Space launch and satellite control systems, combined with  extensive experience of a development team in computer modeling and computer simulation. Some aspects of the VisCMSE technology were used in 1990s in the projects like launch control system for Conestoga launch vehicle (Wollaps Island, USA, 1995), mission control center of Space Port Canada (Churchill, Manitoba, Canada, 1997), and in the projects of Altair Aerospace Inc. (1994-2002). The earlier version of VisCMS (dubbed M2C Builder) was also used by AZ Global Research and Engineering Ltd. for development of the software for the Cape Canaveral fire monitoring project (ongoing) and for the data fusion and control applications for the satellite ground station in Sardinia, Italy.

VisCMSE Advantage

The VisCMSE commercial advantage originates from its innovative approach to control system architecture and to design process (see the following section).


  • VisCMSE provides functionality that allows an average engineer who possesses only basic knowledge of any high-level program language (Java, C, C++, Fortran) to develop monitoring and control system application for systems of unlimited complexity. According to CosmoVision (Canada) estimates, software development time and associated cost may be reduced by factor of 10 or more, and development process does not require involvement of a team of professional programmers.
  • Use of VisCMSE eliminates the communication gap between the engineer (who understands the system that he/she creates, but is not proficient in software design), and the monitoring and  control system developer (who is proficient in software design, but not always understand all engineering aspects). This feature dramatically streamlines the system development.
  • VisCMSE allows for flexible top-down approach to gradually account for the system’s complexity. At the early stages of design engineers may use simplified models to do fast analysis of alternative engineering solutions, and may introduce more sophisticated models “on the go” without redesigning the whole system.
  • VisCMSE allows the user to simulate the system’s functionality, including abnormal scenarios, and to detect potential problems at the level of software design, before the actual system is built.
  • Monitoring and control system that is being developed within VisCMSE design environment includes an intuitive and easy-to-use graphic interface that allows operator to rapidly narrow down to the source of the problem in the monitored system, and to dramatically reduce reaction time.


VisCMSE also privides convenient, simple and flexible operator GUI and does not require extensive training to operate.

VisCMSE Technology Fundamentals

VisCMSE is designed to model, monitor and control distributed systems with asynchronous data input. It relies totally on Object-Oriented Design, broadly uses computer-generated code and dynamic class loading according to automatically supported naming conventions.


Within VisCMSE the system is represented as a neural network of Java objects that are linked by pair interaction through specially designed “connector” objects. Both functional and connector objects are designed according to unified rules, that allow the user to develop models and controlling and monitoring for systems of different level of complexity using the same pre-designed “building blocks” from the objects library. VisCMSE uses Final State Model representation of the conditions of the monitored system, thus eliminating a need to analyze rapidly changing sensor readings “on the fly”.


If VisCMSE is used, the designer only has to take care of the following:

  1. Place the components objects on the plan of the monitored object or facility using interactive GUI. GUI supports “drag and drop”, resizing and rotation of the objects.
  2. Connect the objects according to their physical and functional connections using visual design  workplace;
  3. Provide the hardware drivers for interfacing with monitoring and commanding execution devices, and develop simple Java “shell” using the template library.
  4. Provide the modeling software, when applicable, and develop the Java “shells” to handle modeling tasks.

The system generates its component objects, links objects into neural network-like structure according to the designer’s drawing, archives this structure as the new object in the library for the future use as a  building block for more complex systems, generates control and monitoring application code and system-specific application, creates monitoring and modeling workplace and deploys separate end-to-end application ready for distribution, all fully automated. The newly created application is completely independent from the VisCMSE design workplace and may be used and distributed separately, with pre-defined editing functionality according to the end-user agreement.


When VisCMSE product is used for modeling or monitoring, the application periodically checks the events log and updates the system status by propagating the events (changes of incoming data values) through the system according to established network connection “tree” and timing priority. The propagation “tree” is generated by monitoring and modeling application “on the fly”. As events are being propagated through the system the operator is able to see the changes of the status of all the high level objects that are included into monitoring loop, and if a problem occurs, is able to zoom into troubled object of the system by clicking on the specific part of the system plan. The process may be repeated until the operator narrows down to the low-level physical component that is the source of abnormal state of the troubled high-level part of the system.










Typical VisCNSE operator workplace(implementation of theenvironment monitoring system with use of the Earth Observation data).

Detailed System Description
The system includes base objects and universal configurable objects  The objects (components of the system) are positioned on the background (base object’s map/chart/blueprint), and may have functional links among each other, including loopback links. Each component of the system is set to perform
modeling, monitoring, commanding and control, and analysis functions. Analysis
performed is based on the Final State Analysis (FSA) approach and uses color coding for visual representation of the results. Each object utilizes four external programs (dubbed as “drivers”), that actually implement interaction with the “outside world”. These are:
· Commanding driver–implements issuing the commands to the hardware interface
· Monitor driver – implements receiving the data from the hardware interface
· Model “driver” – modeling and 3dr party software interface
· State “driver” – implements state definitions and FSA.
The system supports the following functions:
1. System level
1.1. Geographical and plane field location reference for all objects
1.2. Data collection for all objects
1.3. System configuration, including:
1 Support of unlimited number of parameters is possible through use of some utility programs that are
included in free package.
1.3.1.Functional linking and unlinking the objects for data exchange (“push” and
“pull”) within the system
1.3.2.Event propagation through the system according to established functional
1.4. System state analysis
1.5. Layered data representation
1.6. System state visualization
1.7. Remote client notification
1.8. Seamless command configuration
1.9. Creation of command sequences
1.10.Setting the automated response
1.11.Simple paper reporting (printed report on demand)
1.12.Live system website.
1.13.Creation o the new (unrestricted) objects
1.14.Adding or removing new objects to the system
1.15.Handling external resources for each object (satellite images, multimedia streams,
special analysis, voice notification, text messaging, email
2. Object (component) level:
2.1. Event modeling and state propagation using generated or collected data
2.2. Component visualization, including color-coded state representation, real time object location on the map, on-click current data and imagery for the object, and data and state/status history
2.3. Use of the 3rd party software models
2.4. Object configuration, including
2.5. Change of the object name
2.6. Change of the data types
2.7. Design, editing and redesign
of the object “drivers”
2.8. Import and editing of the image of the object
2.9. Import and/or editing of the blueprint/scheme/map of the object
2.10.State analysis and propagation
2.11.New object design
2.12.Total object code editor
2.13.Individual interfaces
2.13.1.Satellite image georeferencing and analysis
2.13.2.Change analysis using satellite data
2.13.3.Vegetation analysis using satellite data
2.13.4.Direct web access

Standard system includes the following tools to support the system configuration
1. Object/component level
1.1. Component name change tool – supports component name altering
1.2. Component driver design tool – Java workplace to design software interfaces for commanding, monitoring, state analysis and 3rdparty model integration for the
individual component
1.3. Component image edit and import tool – allows to edit, or replace and edit the image that is associated with the component
1.4. Component blueprint edit and import tool – allows to edit, or replace and edit the engineering chart or map, etc., that is associated with the component
Component I/O edit tool – allows to change name and type of the I/O data for the component.
2. System level
2.1. Component positioning tool – allows to position child component on the parent object.
2.2. Positioning is automatically overridden if either of component drivers provides position data; both geographical3 (any cartography projection) or “plane field4” positioning is supported.
2.3. Component linking tool – allows to link output of the component A to the component B. Linking of the output to several objects is possible, as well as input from several objects.
2.4. Component unlinking tool – allows to unlink two objects
2.5. Versioning maintenance tools – user can:
2.6. save control point,
2.7. create version of the package with different drivers or any other parameters, and
2.8. restore the previous
state of the system
2.9. Email notification – setting the special conditions under which certain recipient shall be notified
2.10.Command creation and archiving tools
2.11.Creation of command sequences
2.12.Setting the automated response conditions to trigger individual commands or command sequences
2.13.Communication interface to ship data to remote customers via WAN or LAN
2.14.Set of system editor tools, including add, remove or edit objects in the system

Delivery Options

         Demo-VisCMSE is small system with limited number of components and with restricted configuration capability. Demo-VisCMS is provided free of charge with no technical support. Written end-user agreement is required. Technical support may be provided on the subscription basis.

        Standard VisCMSE is provided on commercial basis and supports full configuration capability, including creation, addition, removal and configuration of the system components “on the fly”, and one year of technical support. Please contact AZ Global Research and Engineering Ltd. for quotation. 

        Enterprise VisCMSE is provided on commercial basis and supports full configuration capability, including creation, addition, removal and configuration of the system components “on the fly”, and creation of the hierarchical systems, and one year of technical support. Please contact CosmoVision (Canada) Ltd. (formerly 4215494 Canada Ltd.) for quotation.


Operational Systems

        Florida wild fire monitoring (Cape Canaveral)

        Satellite ground station automated control (contracted)

        Satellite-assisted resource management, environment monitoring and disaster response (contracted)

Archived Systems

        Power substation control and automation

        Windfarm monitoring, automation and WiFi control

        Small water distribution pipeline network

        Fishery monitoring

        Environment monitoring (vicinity of the Bruce NPP in Canada)

        Assistance to local authority (Orange county, Florida)

        Flood monitoring and modeling

        Facility monitoring and automated control

        Container tracing and port security



04.01.2021. CosmoVision (Canada) Ltd, (a.k.a. 4215494 Canada LTD) comppletes documents for submission to Australian Space Agency by Cosmovision Global for license application for Cape York space launch site with support of Yuzhmash rocket builder from Ukraine.

01.10.2018. CosmoVision (Canada) completes Alpha-testing of VisCMSE environment for Windows-10.

01.11.2016. CosmoVision (Canada) changes name to CosmoVision (Canada) Ltd. (formerly 4215494 Canada Ltd.), and focuses its future development on applications for commercial Space opertions.

01.11.2016. CosmoVision (Canada) changes name to CosmoVision (Canada) Ltd. (formerly 4215494 Canada Ltd.), and focuses its future development on applications for commercial Space opertions.

11.06.2016.CosmoVision (Canada) completes Beta-testing of M2C Runtime for Linux.

Developer Link