Skip to content

IoT Modelling Tool is a platform which allows users to have their own devices and components modeled in order to represent and manage a physical environment.

License

Notifications You must be signed in to change notification settings

levindoneto/IoT-Modelling-Tool

Repository files navigation

IoT - Modeling Tool

IoT Modelling Tool is a platform which allows users to have their own models with devices and components modeled in order to represent a physical environment.

Author

Levindo Gabriel Taschetto Neto.

Advisors

Prof. Dr.-Ing. habil. Bernhard Mitschang.

M.Sc. Ana Cristina Franco da Silva.

Dipl.-Inf. Pascal Hirmer.

Repository's Wiki

Access the wiki of the repository for obtaining some information about the platform, such as how to deploy it and how to use it. The wiki can be accessed here.

Repository Structure

  • App (contains the files assigned to organize the high-level architecture of the project).
  • Firebase Hosting (contains the server configurations for the hosting on the firebase platform).
  • CSS Files (contains the style files for the front-end, e.g., bootstrap files).
  • Fonts (contains all the used fonts of the project's front-end).
  • Platform' Images (contains the images used in the project, e.g., devices, sensors and actuators icons).
  • Front-End's Images (contains the images used on the front-end of the project, e.g. dashboard and index).
  • Javascript Files (contains files responsible for the back-end of the project, e.g., AngularJS files).
  • Less Files (contains files responsible for CSS pre-processing).
  • Node.js Modules (contains files of the Node.js' set of built-in modules).
  • Plugins (contains files responsible for add specifics features to the back-end of the project).
  • Resources (contains the diagrams of the project, e.g., astah files).
  • Routes (contains the Angular Router for navigation from one view to the next as users perform application tasks).
  • SCSS Files (contains the files for the nested metalanguage scss, which is interpreted into CSS on this platform).
  • Jade Files (contains the files for the Jade high performance template engine).

Relationship among the Packages in a High Level Approach

The packages diagram can be viewed in the image bellow.

packages

System's Submenus

Each submenu has its own controller and view.

Admin View

In total, there are eleven submenus on the developed IoT Modelling Tool in the admin view:

  • My Account.
  • Add Default @Context.
  • Add Specific @Context.
  • Add Default @Graph.
  • IoT Lite @Context.
  • IoT Lite @Graph.
  • IoT Modelling Environment.
  • Add Device or Component.
  • Devices and Components.
  • Add Additional Properties.
  • Search.

Normal User View

In total, there are two submenus on the developed IoT Modelling Tool in the normal user view:

  • My Account.
  • IoT Modelling Environment.

IoT Modelling Environment's Navigation Bar

The navigation bar contains synchronized functionalities with the real-time database, as well as importing and exporting models using the file system.

Synchronized with Firebase

  • Save.
  • Save As.
  • Load.
  • Bind.

Independent from Firebase

  • Export
  • Import
  • Clear

Database

The utilized database for synchronized data on this platform is Firebase. Firebase Real Time Database is a cloud-hosted NoSQL database that lets you store and sync data between your users in real time.

Utilized Keys

  • IoT Lite Contexts.
  • Defaults (IoT Lite Context and IoT Lite Graph).
  • IoT Lite Graphs.
  • Icons (For the components and devices).
  • Saved Models' Information (Last saved and last loaded one on the digital twin).
  • Devices and Components (with id, ontology, company's prefix, etc).
  • Map between specific types and components' ids.
  • Saved Models (By the Save and Save As buttons on the navigation bar).
  • Users (each one e-mail, password and username).

Used Technologies

Front-End

Back-End

Database

Utilized Frameworks for Communication with the Database

Linter

Alert Animations