{"id":22214917,"url":"https://github.com/nmsa/tma-framework-m","last_synced_at":"2025-06-16T10:32:37.032Z","repository":{"id":39960924,"uuid":"128801790","full_name":"nmsa/tma-framework-m","owner":"nmsa","description":"Component M - Trustworthiness Monitoring \u0026 Assessment Framework","archived":false,"fork":false,"pushed_at":"2022-11-16T08:56:18.000Z","size":7722,"stargazers_count":1,"open_issues_count":6,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-17T18:01:36.303Z","etag":null,"topics":["measurements","monitoring","trustworthiness"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nmsa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-09T16:27:55.000Z","updated_at":"2022-07-05T09:18:25.000Z","dependencies_parsed_at":"2022-08-20T14:21:25.477Z","dependency_job_id":null,"html_url":"https://github.com/nmsa/tma-framework-m","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmsa%2Ftma-framework-m","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmsa%2Ftma-framework-m/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmsa%2Ftma-framework-m/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nmsa%2Ftma-framework-m/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nmsa","download_url":"https://codeload.github.com/nmsa/tma-framework-m/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227802809,"owners_count":17822113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["measurements","monitoring","trustworthiness"],"created_at":"2024-12-02T21:19:41.077Z","updated_at":"2024-12-02T21:19:41.838Z","avatar_url":"https://github.com/nmsa.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Monitor Component @ TMA Framework\n\nAccording to the [architecture of the TMA Framework](https://github.com/eubr-atmosphere/tma-framework/blob/master/architecture/diagrams/TMA-Platform_Architecture.jpg)\nthe `TMA_Monitor` component provides a generic interface that can be used by the probes installed in the different layers of the system to send data about the collected measurements and events. \nThese data are then stored in the `TMA_Knowledge` component, where it will be available to be used in by the `TMA_Analyze`, `TMA_Planning`, and `TMA_Execute` components.\n\n\nThe monitoring interface receives data regarding a **broad range of components in a generic fashion**.\nTo use this interface, the protocol defined [here](https://github.com/eubr-atmosphere/tma-framework/blob/master/architecture/diagrams/TMA-M/TMA-M_sequence.jpg) must be followed, to assure the basic security properties in the data transmission (integrity and confidentiality). \n\n*![Monitor Usage Sequence Diagram](https://github.com/eubr-atmosphere/tma-framework/blob/master/architecture/diagrams/TMA-M/TMA-M_sequence.jpg) Sequence diagram for the usage of the monitor component.*\n\nEach probe starts its activity with an authentication synchronous message, in which it will receive is `probeId` and the token to use in the ensuing messages. \nAll communication is performed over SSL sockets.\nEach of the post observations interactions is an asynchronous message, which includes the obtained token in the headers. \nThe messages format allows to aggregate multiple metrics and observations before sending, to avoid the communication overhead.\n\n\n## TMA Monitor Message Format\nThe messages to be submitted to the `TMA_Monitor` follow the `JSON` schema specified in [tma-m_schema](interface/atmosphere_tma-m_schema.json), which is currently in the version `0.3`.\n\nThe [figure below](interface/atmosphere_tma-m_schema.png)  presents a representation of this schema, which is also explained below. \n\n*![Monitor Schema](interface/atmosphere_tma-m_schema.png)Format of the data to be provided to the monitor component.*\n\nEach message includes:\n\n* `probeId` -- obtained during authentication\n* `resourceId` -- identifies the resource that is the subject of the attached data\n* `messageId` -- control information \n* `sentTime` -- control information \n* `data` -- an array of objects, each one including: \n\t* `type` -- event or measurement\n\t* `descriptionId` -- identifies the event or measurement, and an array of \n\t* `observations` -- each one is a pair of \n\t\t* `time` -- at which the specific observation was performed\n\t\t* `value` -- the observerd value which can be 0 in the case of `event`.\n\n\n\n## TMA Monitor Server\n\nDocumentation is available at [development](development) and [server](development/server).\n\n\n\n\n## TMA Monitor Client libraries\n\nDocumentation is available at [development](development), [libraries](development/libraries) and [probes](development/probes).\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmsa%2Ftma-framework-m","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnmsa%2Ftma-framework-m","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnmsa%2Ftma-framework-m/lists"}