=Paper=
{{Paper
|id=Vol-2245/mrt_paper_4
|storemode=property
|title=Towards Software Architecture Runtime Models for Continuous Adaptive Monitoring
|pdfUrl=https://ceur-ws.org/Vol-2245/mrt_paper_4.pdf
|volume=Vol-2245
|authors=Thomas Brand,Holger Giese
|dblpUrl=https://dblp.org/rec/conf/models/BrandG18
}}
==Towards Software Architecture Runtime Models for Continuous Adaptive Monitoring==
Towards software architecture runtime models for continuous adaptive monitoring Thomas Brand Holger Giese Hasso Plattner Institute, University of Potsdam Hasso Plattner Institute, University of Potsdam Potsdam, Germany Potsdam, Germany thomas.brand@hpi.uni-potsdam.de holger.giese@hpi.uni-potsdam.de ABSTRACT of monitorable properties and dynamically allocating monitoring A software architecture runtime model provides an abstraction effort to produce only currently relevant monitoring results. that allows to reason about a running system. For example, a self- Besides changing information demands also the represented adaptive system can employ the model to detect phenomena which running system can evolve over time, for example, due to the de- make an adaptation beneficial. O ver t ime o ther p henomena can ployment of a new software component release. This can require become interesting and thus make the monitoring of different sys- the adaptive monitoring to maintain new kinds of information tem properties necessary. Typically properties are declared in a in the runtime model, too. Consequently, the runtime model also meta-model as part of application specific model element classifiers. needs to evolve accordingly with the running system [3]. In this case adding new properties requires the creation of a new A software system can be built for continuous operation without runtime model instance based on the updated meta-model version. downtime even when it evolves. Its runtime model needs to support In contrast, a more flexible approach allows altering the set of prop- this evolution without interruption to enable continuous adaptive erties in the runtime model without creating a new model instance monitoring and hence continuous phenomena detection and rea- and thus without interrupting the phenomena detection process. In soning about the system. This is especially relevant if evolution this paper we elaborate requirements for a runtime model modeling occurs frequently for example caused by the currently fostered language which shall enable continuous adaptive monitoring. very short software release cycles and experimentation in software product development [7]. Reference Format: An idea to enable continuous adaptive monitoring is to utilize a Thomas Brand and Holger Giese. 2018. Towards software architecture run- runtime model modeling language which supports the co-evolution time models for continuous adaptive monitoring. In Proceedings of 13th of the system and the model as well as changing information de- International Workshop on Models@run.time (MRT 2018). 6 pages. mands without the need to re-instantiate the runtime model and thereby avoiding an interruption. Such a modeling language with 1 INTRODUCTION a reusable implementation to create and maintain runtime models A runtime model which abstracts a running system to its architec- would also reduce the effort to employ them and likely foster their ture is a common practice for reasoning about the system [14]. The use. Thus, we want to find out more about the related requirements. runtime model is maintained through monitoring to reflect relevant Our contribution with this paper is a set of elaborated require- system changes in the model. A key question is, what information ments for a modeling language to create and maintain evolvable to obtain and represent in the model [5], especially as advances in runtime models that support continuous adaptive monitoring of information technology allow capturing more and more pieces of a running system. For an prospective approach we describe dif- data. The answer to this question needs to consider the purpose for ferent illustrative scenarios from which we derive and generalize which the model is maintained as well as cost-effectiveness [12]. the requirements. Additionally, we investigate two state-of-the-art However, over time the information demand, which the runtime approaches regarding their support for the scenarios and require- model needs to satisfy, can change regarding the level of abstraction, ments to identify beneficial and missing features. that is the set of monitorable properties, and for which of those To the knowledge of the authors no reusable modeling language up-to-date monitoring results are currently beneficial. has been described and evaluated for runtime models that support Triggers for such changes might for example be the temporary continuous adaptive monitoring. Nor have requirements for such a exploration of new features through machine learning, altered poli- language been elaborated before. Thus, this paper can be seen as a cies or monitoring results that lead to obtaining and incorporating step towards software architecture runtime models for continuous additional information [6]. Adaptive monitoring allows focusing the adaptive monitoring. attention according to the information demand by altering the set In Section 2 the terminology used in this paper is introduced. In Section 3 we describe the scenarios and in Section 4 the derived requirements. Then we investigate two state-of-the-art approaches Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed in Section 5 regarding their support for scenarios and requirements for profit or commercial advantage and that copies bear this notice and the full citation and outline a prospective runtime model modeling language to on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). support continuous adaptive monitoring. Finally, we conclude and MRT 2018, October 2018, Copenhagen, Denmark provide an outlook regarding future work in Section 6. © 2018 Copyright held by the owner/author(s). MRT 2018, October 2018, Copenhagen, Denmark T. Brand et al. 2 BACKGROUND is to selectively enable and disable the production of monitoring In this section we introduce the terminology used in this paper. A results for the monitorable properties within this set. runtime model is defined as "an abstraction of a running system Continuous in the context of adaptive monitoring shall mean that is being manipulated at runtime for a specific purpose" [2]. that monitoring results can be provided to their consumers without There are different types of runtime models. This paper considers interruption. This also needs to be the case while a runtime model, software architecture runtime models [14]. Those runtime models which is used to access the monitoring results, is evolving in order are graph-based data structures. They allow storing, querying and to support monitoring tasks which were unforeseen at design time. accessing configurational as well as operational information about With this paper we are interested in supporting continuous adaptive the running system. Configurational information comprises the monitoring through a modeling language which allows runtime system parameters and the structure of the system with its parts model evolution with the same model instance and thus avoiding and relationships. Operational information is a specific behavioral evolution related interruptions. runtime aspect. It is caused or produced by the running system. An example is a component invocation count for a certain time 3 SCENARIOS window. Overall runtime models help "to handle the complexity of In traditional engineering with design time models and also usually adapting or generally managing running software systems" [15]. when runtime models are employed, the abstraction respectively A modeling language is constituted by "the structure, terms, nota- reduction is determined at design time. However, in the future tions, syntax, semantics, and integrity rules that are used to express systems must be able to learn and adapt to unanticipated changes a model" [10]. One way to describe a modeling language is by mod- in the context and therefore also the abstraction respectively re- eling it. The model used to model the modeling language is called duction present in the runtime models has to change at runtime. meta-model. Typically, classifiers for model elements are defined in For example, machine learning techniques often permit to identify the language meta-model. A set of classifiers which belong together which features are helpful for predictions and therefore future sys- shall be called classifier system. An implementation of the modeling tems require runtime models which (1) can be extended such that language allows to programmatically create and maintain language new features could be explored and which (2) can be reduced to conform models. For example, the Eclipse Modeling Framework those features that are in fact really exploited for the predictions. (EMF) allows generating a modeling language implementation from Thus, deciding only at design time about the information that is the language meta-model [13]. Typically language changes require represented and maintained in the runtime model is not sufficient. repeating the code generation and re-instantiating the model by We argue that an evolvable runtime model instance could sup- reloading or recreating it with the new implementation release. port continuous monitoring of a running system. The following As an ongoing abstraction of a running system a runtime model illustrating scenarios [1] describe exemplarily situations which can changes frequently in comparison to design time models. A change occur with a system employing a runtime model. We use them to in a runtime model can, for example, be triggered when an auto- derive requirements which are later generalized in Section 4 for a mated control loop temporarily increases the value of a system modeling language enabling evolvable runtime model instances. configuration parameter to support the current workload of the system. Such mostly short-term and easily reversible adaptations shall be considered as ordinary runtime model changes. In contrast, 3.1 Running system changes evolutionary runtime model changes shall be those which involve First we describe the scenarios related to changes of the running defining a new or altering an existing classifier for runtime model system and derive the resulting requirements which need to be elements. This usually requires a new release of the runtime model- supported in combination with continuous adaptive monitoring. ing language and its implementation as well as a re-instantiation of To make the scenarios more tangible we consider the ebay-like the model. In this paper we will discuss another approach to change mRUBiS SEAMS exemplar [16] as the running system. a runtime model classifier system and evolve the runtime model without this kind of interruption. Possible triggers for the runtime S1 - System adaptation. The owner of the mRUBiS online auction- model evolution shall be changes in the information demand re- ing platform wants to ensure that the running system provides garding the set of monitorable properties or the evolution of the a high quality of service and thus utilizes autonomic computing. represented system, for example, when a new kind of component In this scenario the employed system adaptation engine automati- is introduced in the system as a long-term enhancement. It shall cally restarts the malfunctioning query service of the system and be noted that in general the co-evolution of a runtime model and increases the value of the corresponding instances pool size param- the represented running system is a relevant subject in the runtime eter. Those temporary changes to the system are also reflected as model research field [3]. ordinary changes in the runtime model. Changes in this adaptation Adaptive monitoring helps to control the monitoring effort and scenario do not alter the configuration possibilities of the running focus on the information that is currently valuable. With regard to system nor what information the runtime model can contain. Re- runtime models we consider two dimensions of monitoring adapta- sulting requirement: Update system representation structure while tion. The first dimension is to change the level of abstraction for the service restarts as well as the pool size parameter value (R1). the runtime model or individual parts of it by altering the set of S2 - System evolution. The system owner wants to permanently monitorable system properties. This comprises properties for con- enhance the functionality of the system by providing the users figurational and operational information. The second dimension with an additional new payment option. The owner deploys the Towards software architecture runtime models for continuous adaptive monitoring MRT 2018, October 2018, Copenhagen, Denmark corresponding add-on component from a third party software man- the service which all the instances provide together. This aggrega- ufacturer to the system and wants the component to be represented tion is performed by the monitoring instruments maintaining the in the runtime model, too. However, that this particular kind of runtime model. Hence, the details of the aggregation are hidden component would be added to the system one day was not foreseen. from the runtime model. Thus, a runtime model classifier for the component needs to be The second aggregation is called entity aggregation by structure defined belatedly. Resulting requirement: Add a classifier for the where lower level entities for example integrated components are new component (R3). represented by one higher level entity such as a subsystem [8]. Another difference to the first aggregation is that this time the S3 - Software evolution. The software manufacturer is currently aggregation takes place in the runtime model and all involved working on a new release of the inventory component and wants entities shall be present in the model. In this scenario actually an to perform an experiment with the new version based on real data exception counter is introduced which aggregates the counts of all and user traffic. Thus, some online shop tenants, so called early early adopter tenants to alert about its speed of increase. adopters, get a new version of the inventory component deployed. Please be aware that in general an aggregation can occur on the Now two versions of the inventory component with different sets level of the monitoring instruments or on the level of the runtime of properties need to be represented in the runtime model - the old model where it is modeled as part of the runtime model. When for the normal tenants and the new for the early adopters. Please aggregating on monitoring instruments level then only the aggre- note that applying the result of software evolution to a system gation result is represented in the runtime model and its compo- instance, for example, by deploying a new software component sitional structure remains transparent to runtime model queries. version, causes system evolution, too. Resulting requirement: Add When aggregating on the runtime model level then the composi- a new classifier with the same name but a different version number tional structure of the aggregation is modeled and can be queried for the new component release (R3). in the runtime model. S4 - Systems integration and division. In this scenario the system Resulting requirements: Use logical elements and relationships owner is able to expand the business to another region by buying to represent the aggregation results in the runtime model (R8), a company there. Instead of operating two systems some parts introduce new classifiers for the aggregation results (R3), withdraw of the bought system shall be integrated and others be gradually obsolete classifiers for the component instances which are no longer migrated. Both systems have their own runtime model classifier represented in the runtime model (R4), establish relationships to system which shall coexist and stepwise be harmonized. In the indicate which components the subsystem comprises (R5). meantime the risk of classifier name clashes needs to be precluded. Resulting requirements: Support the two different classifier systems S7 - Itemization. In this scenario the system owner wants to better in the runtime model (R7), represent relationships between the parts understand why the user management service sometimes becomes of the integrated systems (R5), withdraw obsolete classifiers after very slow. Thus, the owner introduces additional monitoring ca- the corresponding components have been migrated (R4). pabilities which enable itemizing the service and monitoring its individual subcomponents. The additional data is supposed to help localizing and tackling the response time problem with the service 3.2 Information demand changes effectively. This scenario could also be combined with the filter The scenarios about information demand changes including those scenario (S5). Whenever the response time of the user management regarding the required abstraction level are: service drops below a threshold then the expensive detailed moni- S5 - Filtering. In this scenario the system owner wants to use ma- toring of its subcomponents could only temporarily be activated. chine learning to explore the runtime model and identify those Resulting requirements: Introduce the classifiers of the subcompo- monitorable properties per tenant shop, which are good indicators nents (R3), establish the relationship between the user management for when to preemptively increase the resources for the bid and buy component and its subcomponents (R5), optionally activate the service to efficiently avoid long response times. For the selected monitoring of the subcomponents only when the response time monitorable properties the production of monitoring results shall dropped below the threshold (R2). be continued after the exploration phase. Not required monitoring S8 - Generalization and specialization. As part of the running system shall be deactivated afterwards for cost reasons. A generic adaptive each of the online shops can have up to ten different item filters monitoring approach based on the actual information demand re- that determine which products are displayed to a shopping user. To garding currently relevant monitoring results has been described in indicate potential for configuration optimization the system owner [4]. An approach using machine learning to identify indicators for wants to regularly provide a report for each shop about the two selecting a system self-healing option is presented in [9]. Resulting filters which filtered the fewest respectively the most items. Instead requirement: Indicate the actual information demand (R2). of having to consider each of the ten filter types individually in S6 - Aggregation. This scenario covers two different kinds of aggre- a complex runtime model query the system owner prefers a sim- gation which this time also happen at two different places. The first ple query. This query considers all currently deployed filters in a aggregation is called entity aggregation by function [8]. In this case general way not distinguishing between the particular filter types. the runtime model shall abstract from the individual query compo- This is possible because the relevant properties are common to all nent instances, which perform the same functionality in parallel, to filter types. To be able to use the simple query the owner introduces one runtime model representation, which allows reasoning about a mechanism which ensures that each filter gets assigned to the MRT 2018, October 2018, Copenhagen, Denmark T. Brand et al. generic filter classifier in addition to its specific classifier. As a re- R7 - Multiple integrable classifier systems. The modeling language mark, in the case of specialization a more specific classifier would and its implementation shall allow that a runtime model has mul- have been assigned. Resulting requirements: Additionally assign tiple classifier systems concurrently. Also it shall be possible to the general classifier to each filter (R6). link parts which have been classified with different classifier sys- tems and to introduce the classifier systems at different points in It needs to be stated that beyond the described scenarios in gen- time programmatically and without the need to re-instantiate the eral filtering, aggregation, itemization, generalization, and special- runtime model. In order to preclude naming conflicts an explicit ization shall be possible in the runtime model for structural or support for namespaces shall be offered. value-based monitoring results alike. R8 - Introducing logical elements and relationships. The modeling 4 REQUIREMENTS language and its implementation shall support logical model ele- ments and relationships which do not physically exist in the running In this section we generalize and describe the in Section 3 derived system for example for business related grouping purposes or to requirements in more detail. For all requirements applies that the store derived information in the runtime model. It shall also be corresponding solutions shall allow consumers to access monitoring possible to introduce corresponding classifiers programmatically results through the runtime model continuously. Continuous adap- and without the need to re-instantiate the runtime model. tive monitoring shall be achieved without the need to re-instantiate the runtime model. 5 APPROACHES R1 - Updating system representation structure and values. The run- Now we want to investigate to what extent two state-of-the-art time model modeling language and its implementation shall allow approaches support our scenarios for continuous adaptive moni- updating the structure and values of the system representation toring and the derived requirements. For this we consider the clas- programmatically. It shall be possible to add and remove repre- sical model driven engineering approach and an existing runtime sentations of system parts and relationships as well as change the model modeling language called CompArch [16]. For the classical values of other monitorable properties. This requirement only cov- approach we assume that a runtime model modeling language is ers changes to the model content representing the running system. defined which is specific to the running system and its domain. This language shall be considered as not intended for reuse with R2 - Indicating the actual information demand. The modeling lan- other systems and rather inflexible regarding unforeseeable runtime guage and its implementation shall allow recognizing attempts to model changes. In contrast the CompArch language is designed access monitoring results in the runtime model and processing and reused for different scientific experiments with runtime models the corresponding notifications programmatically. This allows the in the context of self-adaptive systems. Thus, it already provides monitoring to adapt the production of monitoring results to the a certain degree of flexibility. However, as its design goal did not actual demand in a generic way as described in [4]. explicitly comprise the support for continuous adaptive monitoring R3 - Introducing new classifiers including classifier versions. The it can also be used to illustrate the need for some additional fea- modeling language and its implementation shall allow defining and tures. At the end of this section we outline a prospective approach afterwards using new classifiers in the runtime model programmat- based on a modeling language which is supposed to support the ically and without the need to re-instantiate the runtime model. described requirements and scenarios. Table 1 and Table 2 provide It shall also be possible to programmatically distinguish different an overview by listing the scenarios respectively requirements and versions of a classifier without parsing the classifier name. Thus indicating how they are supported by the discussed approaches. explicit versioning support is required. R4 - Withdrawing obsolete classifiers. The modeling language and Table 1: Supported illustrative scenarios per approach its implementation shall allow removing classifier definitions which are no longer required. This shall be possible in a programmatic manner and without the need to re-instantiate the runtime model. Support per approach Illustrative scenario Classical CompArch Prospective R5 - Establishing new kinds of relationships. The modeling language and its implementation shall allow creating relationships with a S1 - System adaption X X X? new classification programmatically and without the need to re- S2 - System evolution – (X) X? instantiate the runtime model. This means that the decision what S3 - Software evolution – (X) X? relationships of a system part can be represented in the runtime S4 - Systems integration – – X? model shall be changeable after the design time. and division S5 - Filtering (X) (X) X? R6 - Assigning multiple classifiers. The modeling language and its S6 - Aggregation – – X? implementation shall allow that system parts and relationships S7 - Itemization – – X? represented in the runtime model can have multiple classifiers. S8 - Generalization and – – X? Further it shall be possible to assign those classifiers at different specialization points in time. This shall be possible programmatically and without Xsupported, (X) partially supported, X? shall be supported, – not supported the need to re-instantiate the runtime model. Towards software architecture runtime models for continuous adaptive monitoring MRT 2018, October 2018, Copenhagen, Denmark Table 2: Supported requirements per approach Support per approach Requirement Classical CompArch Prospective R1 - Updating system representation structure and values X X X? R2 - Indicating the actual information demand (X) (X) X? R3 - Introducing new classifiers including classifier versions – (X) X? R4 - Withdrawing obsolete classifiers – X X? R5 - Establishing new kinds of relationships – – X? R6 - Assigning multiple classifiers progressively – – X? R7 - Integrating multiple classifier systems – – X? R8 - Introducing new logical elements and relationships – (X) X? Xsupported, ( X) partially supported, X? shall be supported, – not supported 5.1 Classical approach 5.2 CompArch approach With the classical approach the decision what kind of information The classifier system of the EMF-based CompArch approach is the runtime model can contain, that is which classes of elements split. Software engineering approach specific classifiers such as and properties, is solely made during design time of the modeling component and connector are defined in the modeling language language. The supported classifiers and properties of the runtime meta-model. A small fragment of the CompArch meta-model is model modeling language are defined in the meta-model as shown depicted in Figure 2. Like with the classical approach all classifiers exemplarily in Figure 1. Using, for example, EMF allows defining the defined in the meta-model cannot be changed easily. Thus, with modeling language and generating source code to programmatically CompArch those classifiers are comparatively generic. However, create and maintain models based on this language. the CompArch meta-model also defines classifiers shown on the Changes to the language imply that the model becomes tem- left side of the meta-model in Figure 2 which allow the specification porarily unavailable due to the repeated source code generation of additional more domain-specific classifiers as part of the runtime and the execution of other migration tasks. We want to enable model classifier definition content, for example, as the query service continuous adaptive monitoring through a very long lifetime of component classifier is defined in Figure 2. Also following the core runtime model instances. Thus, the classical approach only sup- of the dynamic object model pattern [11] those specific classifiers ports those requirements and consequently scenarios for which can be modeled with an additional model element for each of their it does not require a re-instantiation of the runtime model that properties. A runtime model element of the system representation means it does not need to be reloaded or recreated due to source content can be classified by referencing a classifier defined in the code changes of the modeling language implementation. As Table 2 shows, requirement R1 is supported and requirement R2 only par- Modeling language definition content tially as the required notification mechanism needs to be explicitly MonitoredProperty added to the modeling language implementation as described in name : String * [4]. The other requirements which demand more flexibility are not type : String value : String supported by this approach. The supported requirements indicated 1 * ParameterType Parameter in Table 2 and the resulting requirements listed per scenario in Sec- name : String * * value : String tion 3 allow deriving the illustrative scenarios that are supported type : String 1 1 1 by the classical approach. They are also indicated in Table 1. ComponentType Component name : String 1 * Meta-model level Runtime model level <> < > < > classifies 4 ComponentType :Component name = "QueryService" < > QueryService classifies 4 ParameterType :Parameter poolSize : Integer name = "poolSize" value = "5" upTime : Long type = "Integer" Meta-model level Modeling language definition content < > :MonitoredProperty Runtime model level < > System representation content name = "upTime" type = "Long" :QueryService value = "24865727" poolSize = 5 upTime = 24865727L Classifier definition content System representation content Figure 1: Classical model driven engineering approach - Figure 2: CompArch approach - Simplified meta-model and Simple exemplary meta-model and runtime model exemplary runtime model MRT 2018, October 2018, Copenhagen, Denmark T. Brand et al. classifier definition content. This reference needs to be created which can occur with systems employing runtime models. With the together with the new model element by a factory, which also needs scenarios we consider, for example, experimentation in software to create the related parameter and monitored property elements if product development and realizing self-adaptive systems utilizing applicable. machine learning. To better understand the resulting requirements Despite it is not explicitly stated in [16] this allows introduc- and also the implications of not fulfilling them, we investigated ing new classifiers without re-generating source code from the to what extent the requirements and the scenarios are already CompArch meta-model and re-instantiating the runtime model. supported by two state-of-the-art modeling language approaches, As Table 2 shows, the requirement R1 is supported. To fully namely the classical model-driven engineering approach and an ex- support requirement R2 a minor change to the CompArch imple- isting, reusable, and rather generic modeling language for runtime mentation is necessary as described in [4] so that the required models. We found that the flexibility which the CompArch model- access notification get sent. Requirement R3 is marked as partially ing language provides by allowing the definition of classifiers in the because both, parameters and monitored properties of a compo- runtime model is actually particularly helpful to support the stated nent type, should be classifiable by a classifier. Such a parameter or scenarios. We will continue working towards the prospective run- monitored property classifier should also be usable with multiple time model modeling language, for example, by evaluating different component types. Also versioning of classifiers is not yet explicitly implementation options including the use of the dynamic object supported and the approach is specific to components with connec- model pattern. Also we plan to investigate which generic language tors linking only modeled interfaces. Requirement R4 is supported extensions are beneficial especially regarding the self-adaptation by deleting the obsolete classifiers form the classifier definition related functions analyze, plan and execute. content. The requirements R5 to R7 are not supported due to con- straints defined in the CompArch meta-model. Requirement R8 is REFERENCES only partially supported as defining domain-specific classifiers for [1] Ian F. Alexander and Ljerka Beus-Dukic. 2009. Discovering Requirements: How to Specify Products and Services. Wiley. logical model elements is essentially limited to logical component [2] Nelly Bencomo, Gordon Blair, Sebastian Götz, Brice Morin, and Bernhard Rumpe. types. In order to distinguish logical from other elements one needs 2013. Report on the 7th International Workshop on Models@Run.Time. SIGSOFT to apply an according naming scheme. The requirements supported Software Engineering Notes (2013). [3] Amel Bennaceur, Robert France, Giordano Tamburrelli, Thomas Vogel, Pieter J. by the CompArch approach as indicated in Table 2 and the resulting Mosterman, Walter Cazzola, Fabio M. Costa, Alfonso Pierantonio, Matthias Tichy, requirements listed per scenario in Section 3 lead to the support of Mehmet Akşit, Pär Emmanuelson, Huang Gang, Nikolaos Georgantas, and David the illustrative scenarios as indicated in Table 1. Redlich. 2014. Mechanisms for Leveraging Models at Runtime in Self-adaptive Software. In Models@run.time: Foundations, Applications, and Roadmaps, Nelly Bencomo, Robert France, Betty H. C. Cheng, and Uwe Aßmann (Eds.). 5.3 Prospective approach [4] Thomas Brand and Holger Giese. 2018. Towards Generic Adaptive Monitoring. In 2018 IEEE 12th International Conference on Self-Adaptive and Self-Organizing As shown in Table 1 and Table 2 the two investigated state-of-the- Systems (SASO). to appear. [5] Yuriy Brun, Ron Desmarais, Kurt Geihs, Marin Litoiu, Antonia Lopes, Mary art approaches do not cover all the scenarios and requirements Shaw, and Michael Smit. 2013. A Design Space for Self-Adaptive Systems. In which the prospective approach is supposed to support. Like the Software Engineering for Self-Adaptive Systems II: International Seminar, Dagstuhl other two, the prospective approach shall be based on a modeling Castle, Germany, October 24-29, 2010 Revised Selected and Invited Papers, Rogério de Lemos, Holger Giese, Hausi A. Müller, and Mary Shaw (Eds.). language. The implementation of this reusable, future language [6] Frederica Darema. 2004. Dynamic Data Driven Applications Systems: A New shall allow to programmatically create and maintain software archi- Paradigm for Application Simulations and Measurements. In Computational tecture runtime models. Also it shall be flexible enough to enable Science - ICCS 2004. [7] Aleksander Fabijan, Pavel Dmitriev, Helena Holmström Olsson, and Jan Bosch. continuous adaptive monitoring. This means that without the need 2017. The Evolution of Continuous Experimentation in Software Product Devel- for new language implementation releases it shall support (1) over opment: From Data to a Data-Driven Organization at Scale. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). time changing information demands regarding the level of abstrac- [8] Frederick K. Frantz. 1995. A Taxonomy of Model Abstraction Techniques. In tion and the monitoring results which are beneficial to produce as Proceedings of the 27th Conference on Winter Simulation. well as (2) changes to the modeled running system. This helps to [9] Sona Ghahremani, Christian M. Adriano, and Holger Giese. 2018. Training Prediction Models for Rule-based Self-adaptive Systems. In 2018 IEEE International avoid disturbing re-instantiations of the runtime model and thus Conference on Autonomic Computing (ICAC). To Appear. is a way to enable continuous adaptive monitoring. In order to [10] OMG. 2014. Object Management Group Model Driven Architecture (MDA) - support the necessary runtime model evolution, the prospective MDA Guide rev. 2.0. [11] Dirk Riehle, Michel Tilman, and Ralph Johnson. 2005. Dynamic Object Model. modeling language needs to be generic to a certain degree. However, In Pattern Languages of Program Design 5, Dragos Manolescu, Markus Voelter, despite the need for genericness, the language shall still provide and James Noble (Eds.). [12] J. Rothenberg. 1989. The Nature of Modeling. In Artificial Intelligence, Simulation enough guidance for creating compatible, in the sense of integrable, & Modeling, Lawrence E. Widman, Kenneth A. Loparo, and Norman R. Nielsen runtime models on a consistent and stable conceptual basis. This (Eds.). comprises especially the support for runtime aspects with a likely [13] Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2009. EMF: Eclipse Modeling Framework. Addison-Wesley. small set of predefined classifiers in the language meta-model. [14] Michael Szvetits and Uwe Zdun. 2016. Systematic literature review of the ob- jectives, techniques, kinds, and architectures of models at runtime. Software & Systems Modeling (2016). 6 CONCLUSION AND FUTURE WORK [15] Thomas Vogel. 2018. Model-Driven Engineering of Self-Adaptive Software. Ph.D. In this paper we elaborated and described requirements for a prospec- Dissertation. University of Potsdam, Germany. [16] Thomas Vogel. 2018. mRUBiS: An Exemplar for Model-Based Architectural tive modeling language which shall allow creating and maintaining Self-Healing and Self-Optimization. In International Symposium on Software software architecture runtime models for continuous adaptive mon- Engineering for Adaptive and Self-Managing Systems. itoring. For this purpose we first described illustrative scenarios