15 KiB
15 KiB
file:: STAF_2024_paper_8_1704401003970_0.pdf file-path:: ../assets/STAF_2024_paper_8_1704401003970_0.pdf
- Container orchestration tools assist in deploying, scaling, and managing containers, permitting alterations to the execution platform (environment) at runtime. ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5a3e-f53e-421b-b723-a87ab95800c2 hl-stamp:: 1704811077564
- self-adaptation capabilities. ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5a51-73a0-4380-bb95-bb4b1766fcae
- appears to be underexplored ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5a59-671b-4486-91a6-35e680a777f9
- nvestigating how container orchestration can augment MDE techniques for the effective design, implementation, and maintenance of adaptive cloud applications ls-type:: annotation hl-page:: 1 hl-color:: purple id:: 659d5a66-0cfc-477c-8d7c-4c69b11e6e92 hl-stamp:: 1704811113090
- approach and toolchain for automatically generating and deploying a fully containerized distributed application from a component-and-connector model and leveraging both model- and platform-level dynamic adaptation and failure recovery capabilities to allow the application to respond to changes to the requirements or failures at runtime. ls-type:: annotation hl-page:: 1 hl-color:: purple id:: 659d5a82-edb3-472f-b006-31da1b1f2d7c
- A recent survey (Weyns et al. 2023) finds that large parts of industry already make significant use of self-adaptation to, e.g., increase system utility and decrease costs via auto-scaling, auto-tuning, or monitoring. ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5aa8-c60c-4ba6-8c03-dbb07747aef1 hl-stamp:: 1704811178472
- Kubernetes ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5af5-bd76-484c-bb91-0e707a669a3c
- AWS Elastic Cloud ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5afa-64cb-4c7c-b4ce-0922b0fde276
- RedHat OpenShift, ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5afd-4df4-4e99-8e08-d8ff7f2dd597
- DynaTrace ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5b00-2919-41b3-bb10-5ffe21c5bbdd
- lack of design guidelines ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5b0c-6498-46c0-b470-3dd3bd29da28
- need to support different system views ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5b10-da02-46c2-a800-e87fd5abd1e5
- increasing complexity ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5b13-ff9c-4e9e-af92-9eb692c15cf0
- integrate adaptation capabilities involving different artifacts and technologies along an MDEfor-cloud-computing toolchain. ls-type:: annotation hl-page:: 1 hl-color:: green id:: 659d5b28-3c65-458d-9ebe-60e1d244c2a2
- Model-level descriptions of system behavior ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659d5e1f-8c6e-4e09-9a78-7f00e1ff8f58
- Model-level descriptions of system structure ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659d5e2c-7fba-42de-9803-31904e665905
- Platform-level descriptions of computing system topology ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659d5e33-5554-4821-992b-8d142869454d
- Platform-level descriptions of computing system resources ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659d5e37-8c7d-474a-af89-f477d25b0d99
- is parameter adaptation: ls-type:: annotation hl-page:: 2 hl-color:: red id:: 659d5e4a-c6b9-47be-b3cc-72754f455a48 hl-stamp:: 1704812114690
- Container orchestration platforms such as Kubernetes allow runtime changes to, e.g., the number of computing nodes and the way software components are assigned to these nodes. Dynamic redeployment can help reduce communication latency and improve system responsiveness ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659d5ea0-d513-4c93-a9ce-5e7f84d7c74c hl-stamp:: 1704812195996
- we describe our work on facilitating the design and implementation of self-adaptive, containerized cloud applications through MDE, component-and-connector (C&C) architectures, the actor model, and the effective use of model- and platform-level adaptation capabilities. ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659d5f0f-a5f3-4de0-8f80-0557cdb3aadb
- executable C&C model ls-type:: annotation hl-page:: 2 hl-color:: yellow id:: 659d5f2f-06c2-447c-81ba-8e6c3f009a19 hl-stamp:: 1704812337462
- enerates and deploys a Kubernetes-based, distributed cloud application capable of autonomously recovering from node failures and adapting to changing requirements through runtime modifications to the model or the Kubernetes platform ls-type:: annotation hl-page:: 2 hl-color:: blue id:: 659d5f3f-00c0-45b6-85d1-aed4ee0b8e47 hl-stamp:: 1704812356105
- Cloud computing offers on-demand availability of system resources such as data storage or computing powe ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659d5ffd-07d6-413f-825f-a6b525b1a34f hl-stamp:: 1704812543386
- Cloud providers can give customers varying degrees of access and control of the underlying infrastructur ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659f1ce6-6556-41a9-8ace-65f01ce87cc6
- Orchestration platforms such as Kubernetes facilitate, e.g., provisioning, deploying, scaling, and networking of containers across multiple nodes. ls-type:: annotation hl-page:: 2 hl-color:: blue id:: 659f1d28-a739-4539-845f-7228d2aabc5c
- Containerization and orchestration offer diverse adaptation capabilities, including redeployment, platform modification, and resource management ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659f1d3a-c22e-44ce-93df-d46a50a86408
- our work aims to offer SaaS-type encapsulation of cloud platform resources and use container orchestration to automatically ensure their effective use. ls-type:: annotation hl-page:: 2 hl-color:: purple id:: 659f1d5e-fa08-4678-8add-af54e2c4f9b4
- Elasticity (Mell & Grance 2011; Herbst et al. 2013) refers to the ability of the system to dynamically adapt by provisioning or de-provisioning resources in response to changes in workload, aiming to closely match available resources to the present demand at any specific point in time. ls-type:: annotation hl-page:: 2 hl-color:: green id:: 659f1dbf-1224-4455-aeea-01edd282e724
- Cloud-native applications leverage cloud platforms for elasticity, load balancing, and on-demand resource provisioning ls-type:: annotation hl-page:: 2 hl-color:: blue id:: 659f1dfd-f0ac-4b6f-a280-fc388bc9e69b
- elasticity gives rise to enhancing resource efficiency as well, by optimizing performance under variable workloads, scaling up for peak loads and down during reduced activity ls-type:: annotation hl-page:: 2 hl-color:: blue id:: 659f1e0d-d073-49c6-ae60-083a863047b9
- EUREMA ( ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659f9f91-dd49-441b-bac7-8e7902f6e68c
- xecutable runtime megamodels for developing adaptation engines through the design, execution, and adaptation of feedback loops ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659f9fa4-b2fb-47a3-9576-84379e2174c9
- Apart from executable runtime models, EUREMA uses DSL and megamodeling to provide an integrated view of several models and their relationships. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659f9fc3-07a6-4549-905b-ff3d0f7ac6f0
- PLASMA (Tajalli et al. 2010) adapts to changing requirements by generating plans based on user-provided goals and component specifications ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659f9fe3-2c1a-4e61-95ab-2dc582ed5271
- FUSION (Elkhodary et al. 2010) is a feature-oriented self-adaptive system that aims to find a different set of features to meet goals in case of violations. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659f9ff3-0e7e-4c35-8efe-e6ce42b7724a
- DCL (Nakagawa et al. 2012) uses control loops to collect and analyze data, make decisions, and take action. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fa000-a4c5-4775-acde-24ff56c5db72
- integrate adaptation at different levels: at the model-level by changing the way the structure and behavior of the system are described in the model ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fa2f7-8d95-4089-a572-be19cda8034c
- at the platformlevel through dynamic redeployment, ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fa2fc-802d-4525-bbb9-4a7472be508b
- topology changes ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fa300-2620-4f97-9c22-5a2de2e89531
- resource configuration enabled by existing container orchestration techniques and tools. ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fa307-3cbd-4450-8281-704f1f0b06a4
- container failure recovery techniques to make applications more resilient ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fa323-babf-424b-8173-f32765972217
- stateful behavior ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fa32b-68f0-43f4-af86-8c36060d0628
- To the best of our knowledge, none of the existing approaches offer this combination of features ls-type:: annotation hl-page:: 3 hl-color:: blue id:: 659fa330-8533-434f-8e77-bdc5834c052d
- existing MDE approach and toolchain ls-type:: annotation hl-page:: 3 hl-color:: yellow id:: 659fa362-09d1-437a-9ab7-79cc7faf2d56
- adapt this MDE approach and toolchain for containerized applications so that the failure recovery capabilities of existing container management platforms are leveraged ls-type:: annotation hl-page:: 3 hl-color:: yellow id:: 659fab7b-5931-473b-809c-8561ee2dcdfc
- RQ3 ls-type:: annotation hl-page:: 3 hl-color:: yellow id:: 659fab95-ffe9-4618-a000-408d7b733c77
- constructing a probability distribution for each route segment ahead based on multiple observations ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb298-592e-4630-9400-1b15f9b0d812
- balance the proximity to the ground with the risk of being destroyed by threats ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb2ad-9f6e-4dfb-bd14-ba9029d5843f
- electronic countermeasures (ECM) ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb2cf-552e-4dbe-ab6e-e88aa55c1b73
- surveillance ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb3c8-81a2-43b0-b038-9264f46c294f
- attack ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb3cd-5a50-4610-9b2f-603128751373
- runtime changes to these mission types should be possible ls-type:: annotation hl-page:: 4 hl-color:: yellow id:: 659fb3de-ca58-45eb-b2ef-6f29422b49c7 hl-stamp:: 1704965089530
- We will use the following metrics to evaluate the performance of different sets of simulation runs ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb427-3a4b-4420-b953-2b9ee5f88774
- ls-type:: annotation
hl-page:: 4
hl-color:: green
id:: 659fb432-1f97-4d78-a721-456b2db1631d
- Average destruction position (ADP):
- ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb43c-4fec-4d90-a1f3-820312f974fc 2. Average number of targets found (ANTF)
- ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb441-4bf9-41b7-896f-ac192f7c8633 3. Average mission success factor (AMSF)
- strategy corresponds to a particular setting of some of the parameters that influence the behavior of the UAV ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb4b7-0161-46c2-88f2-fe1f68e3110e
- altitude at which the UAVs fly, the formation that they fly in, and whether or not ECM ls-type:: annotation hl-page:: 4 hl-color:: blue id:: 659fb4c7-e987-485e-b735-7660754ae0cc
- flying the UAVs at high altitudes, in a tight formation, and with ECM turned on gives rise to a conservative strategy suitable for surveillance-type missions where the long-term survival of the UAVs is paramount ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb550-7bc0-4fc0-ad34-c13964a198f0
- For attack-type missions, an aggressive strategy can be used in which UAVs fly low, in loose formation, and with ECM turned off. ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb56d-b298-48ac-b4bb-db52c53d7a8e
- balanced strategy sits between these two extremes. ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb5a5-1bc7-4ad9-9707-8b537acf2c58
- To support runtime changes to the mission type, our exemplar allows for strategies to be changed at runtime ls-type:: annotation hl-page:: 4 hl-color:: green id:: 659fb608-6c2b-455c-b36f-110df91aee3c
- containerization ls-type:: annotation hl-page:: 4 hl-color:: yellow id:: 659fb685-5d3e-4c43-9d1d-dc07c05d11eb hl-stamp:: 1704965769233
- description of executable component-and-connector ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 659fb995-31d2-4c7e-b9a5-90f0458f1ef0 hl-stamp:: 1704966599191
- model-level runtime information (Step 2) and model transformation (Step 3) ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 659fb99b-6cc8-4b2b-aae4-daa32346dea7 hl-stamp:: 1704966560851
- xecutable code for the modeled system ls-type:: annotation hl-page:: 5 hl-color:: green id:: 659fb9b8-d806-43a8-ab00-bbfb2983bc2a
- the model provided by the user supports adaptation ls-type:: annotation hl-page:: 5 hl-color:: green id:: 659fba02-c032-482c-a24c-cf9bc36f4789
- an Adaptation Manager component ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 659fba0d-705e-4489-a69d-b62805e20e51
- In the second step, the user identifies the runtime information necessary to assess system performance (and prior adaptation steps), determine the need for adaptation, and select the most suitable adaptation steps ls-type:: annotation hl-page:: 5 hl-color:: green id:: 659fbaa9-1520-426e-adb9-477e3d74bf42
- t the use of the MAPE-K reference architecture (Kephart & Chess 2003) or suitable variants (Porter et al. 2020) to structure is recommended ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 659fbad5-74ba-4675-9f0d-80cdf67c61c8
- Approach and Prototype Toolchain ls-type:: annotation hl-page:: 4 hl-color:: yellow id:: 659fbb24-39c1-4c75-8f3b-deee7247db0a
- asks the user to develop suitable monitors for this information, ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 659fbb7d-b34b-4787-b97e-4651b0079bdc hl-stamp:: 1704967039920
- source model into a target model as directed by transformation rules, ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 659fbdee-a82a-4cce-bebe-d60c5b46c8b5
- to facilitate the construction and integration of monitors ls-type:: annotation hl-page:: 6 hl-color:: yellow id:: 659fbe17-a647-4ff7-a149-4ae19ad3c718
- Figure 8 ls-type:: annotation hl-page:: 6 hl-color:: yellow id:: 659fc08a-b07e-4aa2-9bc5-50b862229a1b
- Section 3, we have used our approach and prototype to create and deploy several cloud applications that all exhibit different kinds of self-adapting behavior ls-type:: annotation hl-page:: 8 hl-color:: green id:: 659fc268-8b04-4166-bc1a-b089d03dafae
- [:span] ls-type:: annotation hl-page:: 3 hl-color:: green id:: 659fc282-decf-4f3c-914a-9dd0b55c772c hl-type:: area hl-stamp:: 1704968832774
- Figure 10 Sequence Diagram of UAV Simulation ls-type:: annotation hl-page:: 12 hl-color:: yellow id:: 659fc484-bfd5-4b7d-9ff4-ae6c952af5af