Files
logseq/pages/hls__JSSOFTWARE-D-22-00977_reviewer.md
T
2025-06-05 22:07:12 +02:00

576 lines
21 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
file-path:: file://C:/Users/david/Zotero/storage/CBP56TTH/JSSOFTWARE-D-22-00977_reviewer.pdf
- Runtime monitoring
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 63b59e92-3ad2-42cb-94b7-c3d93d0d9235
hl-stamp:: 1672846996863
- reating probes to instrument the system, and defining constraints to be checked at runtime
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 63b59ec1-e257-4f69-b01e-07f8193a10a5
- generic monitoring platforms do not adequately cover domain-specific monitoring requirements
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 63b59ecb-f5b8-4703-8193-76afe7140b3a
- Generating CPS Runtime Monitors
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 63b59ede-98fd-4f0c-bb07-714729f53973
- esults show that GRuM facilitates the creation and evolution of a runtime monitoring platform with little effort and that the platform can handle a substantial amount of events and data.
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 63b59f13-a778-48f7-ac2f-eb660328dee8
- we present GRuM(Generating CPS Runtime Monitors), a framework that combines model-driven techniques and runtime monitoring, to automatically generate a customized monitoring platform for a given SuM.
ls-type:: annotation
hl-page:: 2
hl-color:: green
id:: 63b59f6e-a0c7-44cb-a21e-5ad1da709790
- nmanned Aerial Vehicles (UAVs) are engaged in search-and-rescue flights in close proximity to humans, or when robots operate on a factory floor, precautionary measures need to be taken to ensure that the CPS adheres to its specified requirements and operates within its predefined safety envelope
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b5a322-ec86-4fb2-b674-ed9494c1278d
- monitoring diverse properties at runtime
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b5a327-e314-4079-af26-4d302f7c526a
- eterogeneity of hardware and software components within a CPS means that creating and implementing monitors, and subsequently collecting, processing, and checking the required data is often an arduous and time-consuming task.
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b5a32f-9a3c-47e1-9e52-4aa47a591e4f
- source code instrumentation
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b5e945-127f-4b55-9d7a-3cce21698738
- off-the-shelf monitoring approache
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b5e968-b2fb-49e8-8e52-e8580b947151
- often provide inadequate support for instrumenting custom systems
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b5e96e-d017-4521-b952-57c85266e0b3
- Few approaches have addressed the challenge of automatically generating customized, system-specific, runtime monitoring solutions and their maintenance and evolution support.
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b5e998-f6f6-4e35-88ae-01e73e73dd23
- When a new feature or functionality is introduced, the model is updated, and its respective code regenerated. As a result, MDE has been shown to improve productivity by enabling developers to specify a system at a higher level of abstraction
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b6dd9d-7eec-4314-9823-1fcf1c4f484a
- However, the application of MDE has fallen short of enabling the generation and evolution of a complete monitoring platform [16].
ls-type:: annotation
hl-page:: 3
hl-color:: purple
id:: 63b6dda5-192a-4345-9070-7ee6d73084f9
- Generating CPS Runtime Monitors
ls-type:: annotation
hl-page:: 3
hl-color:: green
id:: 63b6ddd2-46eb-41c4-a61d-3387b2c0d3f4
- readily extended and updated when changes to the monitored system occur
ls-type:: annotation
hl-page:: 3
hl-color:: purple
id:: 63b6dddf-5ecb-45d7-b5b8-393724736bf6
- parts of the system that are relevant for the monitoring infrastructure
ls-type:: annotation
hl-page:: 4
hl-color:: purple
id:: 63b6de2a-ca80-4a46-a6bc-ab999d7b0aca
- This paper builds upon our earlier work [17, 18], in which we collected requirements for model-driven monitoring and derived an initial architecture.
ls-type:: annotation
hl-page:: 4
hl-color:: yellow
id:: 63b6de38-c645-47c6-bc9a-90e54cc15ecb
- e evaluate our approach against a system for deploying UAVs for search-and-rescue and a second system that uses a set of mobile robots to assess indoor air quality.
ls-type:: annotation
hl-page:: 4
hl-color:: green
id:: 63b6dea8-1a08-44f5-8911-b86abc792f77
- irst, we present a monitoring metamodel that enables us to generate a custom monitoring platform with a runtime model, instead of implementing it manually
ls-type:: annotation
hl-page:: 4
hl-color:: purple
id:: 63b6deb4-c1eb-4a3e-bc87-57c1348dcb07
- econd, probes are automatically generated for the target technology
ls-type:: annotation
hl-page:: 4
hl-color:: purple
id:: 63b6debe-f03c-4254-a86b-06f38ac4d5eb
- e can leverage different types of (off-the-shelf) constraint engines depending on the monitoring needs,
ls-type:: annotation
hl-page:: 4
hl-color:: green
id:: 63b6df15-7ea3-43af-aebb-795cf2f86360
- nce a probe generator for a specific technology has been implemented, evolving the monitoring framework alongside the SuM is greatly simplified and only requires a few steps to update the model and automatically regenerate the platform1.
ls-type:: annotation
hl-page:: 4
hl-color:: green
id:: 63b6df23-1605-4d30-8f03-71afeea590a0
- existing approaches are typically customized for a specific type of system, application domain, or support particular types of constraints
ls-type:: annotation
hl-page:: 5
hl-color:: green
id:: 63b84bca-3d81-462d-8bbe-66989d750b4c
hl-stamp:: 1673022412730
- significant upfront investment is required to implement and maintain custom monitoring infrastructures, often without inbuilt support for maintenance and evolution after deploymen
ls-type:: annotation
hl-page:: 5
hl-color:: purple
id:: 63b84c07-ed8b-4501-bd4e-384ff614c0da
hl-stamp:: 1673022476737
- Dronology, an open-source, multi-UAV system [31] with support for planning and executing UAV missions
ls-type:: annotation
hl-page:: 5
hl-color:: green
id:: 63b84c53-bb7f-484f-88c2-537eaf2e33b2
hl-stamp:: 1673022549702
- constraint engine needs to be configured to check constraints, such as whether the UAVs remain within their designated altitude band, avoid no-fly zones, and are flight-worthy
ls-type:: annotation
hl-page:: 5
hl-color:: purple
id:: 63b84c87-e7ab-40aa-967c-266d2f0124f6
hl-stamp:: 1673022602996
- if a new water sampling capability were introduced to Dronology, it would require additions and modifications to the hardware and software components
ls-type:: annotation
hl-page:: 5
hl-color:: purple
id:: 63b84cf3-71d7-4f10-ad68-ab7b8300fad8
- New downward-facing sensors would be required to ensure that the UAV maintains a stable distance from the water during the collection process.
ls-type:: annotation
hl-page:: 5
hl-color:: purple
id:: 63b84d01-b9bc-45ea-9aa3-4515958337f9
- to reduce the cost and effort of creating and maintaining a runtime monitor as illustrated for Dronology, it is necessary to (i) provide automated support for creating a system-specific solution, including the setup and configuration of the monitoring system and specification of its respective constraints, and (ii) avoid the additional effort of maintaining the monitoring system itself by enabling the infrastructure to co-evolve alongside the SuM.
ls-type:: annotation
hl-page:: 5
hl-color:: purple
id:: 63b84d29-556c-4ed6-b174-8d1c904de7b5
- support
ls-type:: annotation
hl-page:: 6
hl-color:: purple
id:: 63b84d3c-6ba7-4474-b84f-b57b7b8d25dd
- runtime monitoring architecture
ls-type:: annotation
hl-page:: 6
hl-color:: purple
id:: 63b84d40-9e02-4247-87ae-b3ef322b30c7
- ease the task of maintaining and co-evolving monitors
ls-type:: annotation
hl-page:: 6
hl-color:: purple
id:: 63b84d44-5f07-4517-a9ac-8f92143e2f6a
- one of the novel characteristics of GRuM is that for a SuM, both a Set of Probes, as well as a fully customized Monitoring Platform can be generated based on a model describing the parts to be monitored
ls-type:: annotation
hl-page:: 6
hl-color:: purple
id:: 63b84d5f-e656-4b1d-ac2b-e1594fb26ac1
- MDE has been used extensively to generate applications and system components across a wide variety of domains, including automotive, railroad systems, business process engineering, and embedded system
ls-type:: annotation
hl-page:: 7
hl-color:: green
id:: 63b8504a-bc50-42b1-a9e5-4bd230b6cb07
hl-stamp:: 1673023566926
- It only requires the parts of the SuM that need monitoring to be modeled, instead of the entire SuM
ls-type:: annotation
hl-page:: 7
hl-color:: purple
id:: 63b8521a-5f39-43f0-b96f-b70cac48551a
- GRuM Monitoring Setup specifies exactly what parts of the system should be monitored and provides the mechanisms for performing the monitoring.
ls-type:: annotation
hl-page:: 7
hl-color:: green
id:: 63b852a7-7364-4891-8f12-2dcb7a9de705
- monitors are typically defined and developed individually for each type of system or technology, such as byte-code instrumentation or dedicated service busses in service-based systems
ls-type:: annotation
hl-page:: 7
hl-color:: purple
id:: 63b852c6-cddb-49b5-bf32-bcc6037f341c
- GRuM leverages MDE to describe the components of the SuM that need to be monitored, and then subsequently generates the monitoring infrastructure. To support this process we have created a dedicated MMM that can be used to define the relevant parts of the system for the resulting probes and the Monitoring Platform.
ls-type:: annotation
hl-page:: 7
hl-color:: purple
id:: 63b852eb-9e43-4bf6-bfa9-68d88785b9ff
- [:span]
ls-type:: annotation
hl-page:: 8
hl-color:: green
id:: 63b85327-1a50-4bce-beae-3d3166e02e8e
hl-type:: area
hl-stamp:: 1673024292567
- monitoring configuratio
ls-type:: annotation
hl-page:: 7
hl-color:: green
id:: 63b85343-2435-47bd-87ef-301dfe08d591
- ach agent has its own set of monitorable properties (MoProperty)
ls-type:: annotation
hl-page:: 7
hl-color:: green
id:: 63b853d1-3270-4151-af33-442d8dc3f2aa
- Weaved Monitoring Model
ls-type:: annotation
hl-page:: 8
hl-color:: green
id:: 63b8544c-d455-4466-bbf7-dfcbc74bc71c
- determine
ls-type:: annotation
hl-page:: 8
hl-color:: green
id:: 63b8545c-7686-4e60-8ef5-b3e7585ea5b1
- Fragment
ls-type:: annotation
hl-page:: 8
hl-color:: green
id:: 63b85462-8942-47e0-a124-c2b18e70dba7
- Domain Model Fragment. Model weaving has been used in the past to connect di
ls-type:: annotation
hl-page:: 8
hl-color:: green
id:: 63b85463-7db9-4ebc-992d-cb38e3e81195
- Domain
ls-type:: annotation
hl-page:: 8
hl-color:: green
id:: 63b8546a-5a46-4bfd-96cb-585c2e5cb51d
- Weaved Monitoring Model (WM)
ls-type:: annotation
hl-page:: 8
hl-color:: green
id:: 63bc209d-5ea9-44aa-8d25-7a9ab6c963c4
- MonitorableAgent
ls-type:: annotation
hl-page:: 9
hl-color:: green
id:: 63bc20c2-f803-4aa9-817f-6b7efdf1124c
- MonitorableProperty
ls-type:: annotation
hl-page:: 9
hl-color:: green
id:: 63bc20da-6333-4e6e-8105-ee54459adbd3
- a set of probes for collecting information from the system
ls-type:: annotation
hl-page:: 9
hl-color:: green
id:: 63bc2108-6456-410f-a2d1-c1be07754983
- an instance of the Monitoring Platform for the SuM
ls-type:: annotation
hl-page:: 9
hl-color:: green
id:: 63bc210e-3e69-402f-82a3-567964e08b39
- Listing 1: Excerpt of the WM for the Dronology system
ls-type:: annotation
hl-page:: 10
hl-color:: red
id:: 63bc2121-6652-4fe7-b050-b8cdad6ab34d
hl-stamp:: 1673273639057
- technology and language-specific set of probes
ls-type:: annotation
hl-page:: 10
hl-color:: green
id:: 63bc23b3-6bcd-4642-b9a2-6f19513b316f
- can be reused for other Java-based systems
ls-type:: annotation
hl-page:: 10
hl-color:: yellow
id:: 63bc23da-0963-4981-ae5c-53430a12cd50
- Model Query Engine
ls-type:: annotation
hl-page:: 10
hl-color:: green
id:: 63bc2806-ba39-469d-bb8f-3f38e407f847
- monitoring platform
ls-type:: annotation
hl-page:: 11
hl-color:: green
id:: 63bc2832-d384-4ab8-ab4a-532998064a8d
- Domain Model Fragment
ls-type:: annotation
hl-page:: 11
hl-color:: green
id:: 63bc28e1-fadf-48da-86b8-ca5657cc5886
- monitoring concepts
ls-type:: annotation
hl-page:: 11
hl-color:: green
id:: 63bc28ec-84f8-492c-a609-61078e074c0a
- . Platform and Probe Generation
ls-type:: annotation
hl-page:: 12
hl-color:: green
id:: 63bc2905-d93e-4942-8736-3ac187f3af8d
- Platform Usage & Runtime Monitoring
ls-type:: annotation
hl-page:: 12
hl-color:: green
id:: 63bc290b-1633-4f88-b90b-fea5bdea3f31
- integrated directly by the developers, or as part of the continuous integration process
ls-type:: annotation
hl-page:: 12
hl-color:: green
id:: 63bc295d-550f-4de2-b1cb-73509e58fa22
- MoProperties
ls-type:: annotation
hl-page:: 12
hl-color:: green
id:: 63bc2975-3d85-4834-88ce-664f9e25dad5
- middleware
ls-type:: annotation
hl-page:: 12
hl-color:: red
id:: 63bc29c7-2d78-45e7-b64b-6960153edc1b
hl-stamp:: 1673275851592
- System Evolution
ls-type:: annotation
hl-page:: 13
hl-color:: green
id:: 63bc2c03-c483-48ce-9129-94f69843e64d
- easily incorporated into the monitoring platform as well
ls-type:: annotation
hl-page:: 13
hl-color:: yellow
id:: 63bc2c1a-34b8-4d0b-be34-e1cbb7837ab6
- if an additional property of an existing agent needs to be added to the set of monitored properties, this change can be directly performed at the model level
ls-type:: annotation
hl-page:: 13
hl-color:: green
id:: 63bc2c88-d71f-4f10-b24a-a1f90473d7f0
hl-stamp:: 1673276556244
- probes and platform code can be completely regenerated without the need to manually adapt the code.
ls-type:: annotation
hl-page:: 13
hl-color:: green
id:: 63bc2c96-14c6-4b29-b36d-ecb07f300a72
- we used XText [48] to define a textual domain-specific language (DSL) for the WM (see example in Listing 1) which allows easy creation and modification of the WM for a specific SuM.
ls-type:: annotation
hl-page:: 13
hl-color:: green
id:: 63bc2cc9-913c-4875-ba32-16a44e4ca432
- two distinct code generators to support two different target languages and technologies
ls-type:: annotation
hl-page:: 13
hl-color:: green
id:: 63bc2cf1-9729-4c1a-b1f4-935e9a74f5b9
- At runtime, an instance of the Domain Model Fragment is created and used as the runtime mod
ls-type:: annotation
hl-page:: 14
hl-color:: green
id:: 63bc34c6-ecf6-4257-949c-8cc6368eedbd
- while Viatra provides tools and incremental evaluation [50, 51], it does not support more complex constraints, such as temporal ones
ls-type:: annotation
hl-page:: 14
hl-color:: green
id:: 63bc34ef-60cb-4d02-9f1d-5c650e421622
- Complex Event Processing (CEP)
ls-type:: annotation
hl-page:: 14
hl-color:: green
id:: 63bc34f6-af00-4441-b614-31c647f4bfae
- reasonable effort
ls-type:: annotation
hl-page:: 15
hl-color:: green
id:: 63bc350a-20f4-4023-b84c-a21d3d59637f
- ssessing the effort
ls-type:: annotation
hl-page:: 15
hl-color:: green
id:: 63bc3520-d8e4-428d-94ad-1d061aca2075
- create a runtime monitoring platform
ls-type:: annotation
hl-page:: 15
hl-color:: green
id:: 63bc353c-0697-49fe-b5b0-7201729e3258
- efficiently monitor timesensitive runtime data
ls-type:: annotation
hl-page:: 15
hl-color:: green
id:: 63bc3554-ca84-4bd0-aafa-bccd035bf95d
- measuring the model-set-latency of the monitoring platform
ls-type:: annotation
hl-page:: 15
hl-color:: green
id:: 63bc355c-1fe9-4c95-b898-c3da06873b95
- [:span]
ls-type:: annotation
hl-page:: 15
hl-color:: green
id:: 63bc35c8-e461-49f2-bb21-0894eb707c50
hl-type:: area
hl-stamp:: 1673278967744
- [:span]
ls-type:: annotation
hl-page:: 15
hl-color:: blue
id:: 63bc35db-b13e-4b50-8786-1b1247c510ae
hl-type:: area
hl-stamp:: 1673278963252
- One was assigned to Dronology and one to the TurtleBot system. We then recorded the time taken to complete each activity
ls-type:: annotation
hl-page:: 16
hl-color:: green
id:: 63bc3625-fdfd-41bb-8927-1eb4ae8a2a23
- “thinking-time” which is expected to be similar whether the monitor is built from scratch or using GRuM
ls-type:: annotation
hl-page:: 16
hl-color:: green
id:: 63bc36b3-4eda-4775-b6be-0c8f7c49ad99
- Case 1 Dronology
ls-type:: annotation
hl-page:: 16
hl-color:: yellow
id:: 63bc36d5-0483-4755-a056-2791ccff2036
- . Altogether, the implementation of constraints and extensions was completed within about 20 hours
ls-type:: annotation
hl-page:: 16
hl-color:: green
id:: 63bc373d-6509-4c88-b90f-92461a5feab0
- Case 2 ROS TurtleBot
ls-type:: annotation
hl-page:: 17
hl-color:: yellow
id:: 63bc8375-d23b-4bbc-9243-2d09308bbaf7
- MQTT-Forwarder for sending data to the monitoring platform
ls-type:: annotation
hl-page:: 17
hl-color:: green
id:: 63bc8640-7bfa-4af3-907b-46e1ac2035c9
- we developed this application from scratch without prior experience with the system or technolog
ls-type:: annotation
hl-page:: 17
hl-color:: green
id:: 63bc8656-7c76-4036-95f7-b7ce1c5b9db4
- Domain Model Fragment (1) for the TurtleBot consisted of 10 properties with 23 attributes
ls-type:: annotation
hl-page:: 17
hl-color:: green
id:: 63bc8664-4d45-4a74-8799-cb3b5ffcda16
- 5 hours were spent implementing the GRuM monitor after properties had been selected.
ls-type:: annotation
hl-page:: 17
hl-color:: green
id:: 63bc8676-efb4-451c-9da0-1b829fa35207
- 7 constraints
ls-type:: annotation
hl-page:: 17
hl-color:: yellow
id:: 63bc8686-dc99-41a6-82de-3a2ce739f55c
hl-stamp:: 1673299592488
- add monitorable properties to a system, perform constraint checks using the newly collected data, update an existing element (e.g., change the information and/or type of a property) and remove an existing element from the model.
ls-type:: annotation
hl-page:: 18
hl-color:: green
id:: 63bc86cb-beb5-48e0-994c-f4f7cf397cff
- (i) a new property
ls-type:: annotation
hl-page:: 18
hl-color:: green
id:: 63bc871e-d222-4e37-b7ad-e572d117e3ce
- (ii) an existing property is modified
ls-type:: annotation
hl-page:: 18
hl-color:: green
id:: 63bc8722-c6fd-439a-a364-7f2ed534e90e
- (iii) a property is removed
ls-type:: annotation
hl-page:: 19
hl-color:: green
id:: 63bc8729-ad90-49ff-85c2-13e801b16ecd
- GRuM provides a high degree of automation, reducing the manual effort that is required to adopt changes in the SuM in the monitoring platform
ls-type:: annotation
hl-page:: 20
hl-color:: green
id:: 63bc8844-2328-4e0e-a762-242a28dabef1
- UAV search mission scenario
ls-type:: annotation
hl-page:: 20
hl-color:: green
id:: 63bc88ce-0356-485a-b835-9fb0758039e8
- multiple UAVs search for a missing person in a predefined are
ls-type:: annotation
hl-page:: 20
hl-color:: green
id:: 63bc88d3-7c15-48e1-b7a2-577a904f39dd
- he monitoring infrastructure was set up on a standard Desktop Computer, with 16GB of RAM, running Ubuntu 20, using Java 11, and Ecore2.23. We randomly assigned 5 flight routes to each UAV, and then collected runtime data and performed constraint checks
ls-type:: annotation
hl-page:: 20
hl-color:: green
id:: 63bc8a4b-25b3-4de5-8282-ec5ba0a98ec1
- violations were reported correctly
ls-type:: annotation
hl-page:: 20
hl-color:: yellow
id:: 63bc8a59-5a7e-42df-9bfb-8d4907972f2a
hl-stamp:: 1673300571717
- 8 Speed Reduction: When the bot operates below 25% battery level, the speed must not exceed 2.0m/s anymore
ls-type:: annotation
hl-page:: 21
hl-color:: yellow
id:: 63bc8ab5-04aa-41e8-874a-2daabadc35cb
- Measurements Accuracy: To ensure accurate measurements, an alert should be raised when measurements are transmitted while movin
ls-type:: annotation
hl-page:: 21
hl-color:: yellow
id:: 63bc8abf-1f59-4501-b889-c24a41460417
- temporal constraints with Esper
ls-type:: annotation
hl-page:: 17
hl-color:: yellow
id:: 63bd3b61-ad54-4cd7-ac3b-dc9e9e023335
- properties
ls-type:: annotation
hl-page:: 19
hl-color:: red
id:: 63bd3dac-e5ae-49f4-85e9-8f01bca6086b
hl-stamp:: 1673346492075
- While these were created by several authors of this paper
ls-type:: annotation
hl-page:: 25
hl-color:: red
id:: 63bd3e0b-459b-451d-b8b6-9cf6a59f5ccb
- differences in terms of the technology used, their architectural styles, and propertie
ls-type:: annotation
hl-page:: 25
hl-color:: red
id:: 63bd3e3b-ce26-459a-be0d-55e85b21618c
- While we have been using a simulator for the Dronology use case, Ardupilot is a high-fidelity simulator providing a realistic execution environment, and our previous experience has confirmed that this closely resembles real-world scenarios
ls-type:: annotation
hl-page:: 25
hl-color:: green
id:: 63bd3eaf-efaf-4f43-8f73-1d18b7c7e705
hl-stamp:: 1673346742690
- (1) describe relevant properties
ls-type:: annotation
hl-page:: 26
hl-color:: green
id:: 63bd3ee0-946a-4865-b841-e943c61cdb66
- (2) collect and check runtime data via the automatically generated monitoring platform
ls-type:: annotation
hl-page:: 26
hl-color:: green
id:: 63bd3ee6-1d8a-4d48-99ca-d62b084570eb
- automatically generating runtime monitors
ls-type:: annotation
hl-page:: 28
hl-color:: green
id:: 63bd3f87-6ff3-4b79-b468-02c18c85df1b
- SuMs technology and architectural style
ls-type:: annotation
hl-page:: 28
hl-color:: yellow
id:: 63bd3f97-8395-4b79-b765-50f7e9ffe7fb