{"title":"Efficient construction of family-based behavioral models from adaptively learned models","authors":"Shaghayegh Tavassoli, Ramtin Khosravi","doi":"10.1007/s10270-024-01199-5","DOIUrl":null,"url":null,"abstract":"<p>Family-based behavioral models capture the behavior of a software product line (SPL) in a single model, incorporating the variability among the products. In representing these models, a common technique is to annotate well-known behavioral modeling notations with features, e.g., featured finite state machine (FFSM) as an extension to the well-known finite state machine notation. It is not always the case that family-based behavioral models are prepared before developing an SPL, or kept up-to-date during the development and maintenance. Model learning is helpful in such situations. Taking advantage of the commonality among the SPL products, it is possible to reuse the product models in learning the behavior of the entire SPL. In this paper, the process of constructing FFSM models for SPLs is enhanced. Model learning is performed using an adaptive learning algorithm called PL*. Regarding the model learning step, we introduce a new heuristic method for determining the product learning orders with high learning efficiency. The proposed heuristic takes into account the complexity of features added by each product and improves the previous heuristics for learning order. To construct the whole family-based behavioral model of an SPL, the behavioral models of individual products are iteratively merged into the whole family-based model. A similarity metric is used to determine which states of the two models are merged with each other. By providing a formalization for the existing FFSM<sub>Diff</sub> algorithm for this purpose, we prove that in the FFSM constructed by this algorithm, the choice of the similarity metric does not affect the observable behavior of the constructed FFSM. We study the efficiency of three similarity metrics, two of which are local metrics, in the sense that they determine the similarity of two states only in terms of their adjacent transitions. On the other hand, a global similarity metric takes into account not only the adjacent transitions, but also the similarity of their adjacent states. It is shown by experimentation on two case studies that local similarity metrics can result in constructing FFSMs as concise as the FFSM resulting from the global similarity metric. The results also show that local similarity metrics increase the efficiency and scalability while maintaining the effectiveness of the FFSM construction.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"27 1","pages":""},"PeriodicalIF":2.0000,"publicationDate":"2024-08-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Software and Systems Modeling","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10270-024-01199-5","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Family-based behavioral models capture the behavior of a software product line (SPL) in a single model, incorporating the variability among the products. In representing these models, a common technique is to annotate well-known behavioral modeling notations with features, e.g., featured finite state machine (FFSM) as an extension to the well-known finite state machine notation. It is not always the case that family-based behavioral models are prepared before developing an SPL, or kept up-to-date during the development and maintenance. Model learning is helpful in such situations. Taking advantage of the commonality among the SPL products, it is possible to reuse the product models in learning the behavior of the entire SPL. In this paper, the process of constructing FFSM models for SPLs is enhanced. Model learning is performed using an adaptive learning algorithm called PL*. Regarding the model learning step, we introduce a new heuristic method for determining the product learning orders with high learning efficiency. The proposed heuristic takes into account the complexity of features added by each product and improves the previous heuristics for learning order. To construct the whole family-based behavioral model of an SPL, the behavioral models of individual products are iteratively merged into the whole family-based model. A similarity metric is used to determine which states of the two models are merged with each other. By providing a formalization for the existing FFSMDiff algorithm for this purpose, we prove that in the FFSM constructed by this algorithm, the choice of the similarity metric does not affect the observable behavior of the constructed FFSM. We study the efficiency of three similarity metrics, two of which are local metrics, in the sense that they determine the similarity of two states only in terms of their adjacent transitions. On the other hand, a global similarity metric takes into account not only the adjacent transitions, but also the similarity of their adjacent states. It is shown by experimentation on two case studies that local similarity metrics can result in constructing FFSMs as concise as the FFSM resulting from the global similarity metric. The results also show that local similarity metrics increase the efficiency and scalability while maintaining the effectiveness of the FFSM construction.
期刊介绍:
We invite authors to submit papers that discuss and analyze research challenges and experiences pertaining to software and system modeling languages, techniques, tools, practices and other facets. The following are some of the topic areas that are of special interest, but the journal publishes on a wide range of software and systems modeling concerns:
Domain-specific models and modeling standards;
Model-based testing techniques;
Model-based simulation techniques;
Formal syntax and semantics of modeling languages such as the UML;
Rigorous model-based analysis;
Model composition, refinement and transformation;
Software Language Engineering;
Modeling Languages in Science and Engineering;
Language Adaptation and Composition;
Metamodeling techniques;
Measuring quality of models and languages;
Ontological approaches to model engineering;
Generating test and code artifacts from models;
Model synthesis;
Methodology;
Model development tool environments;
Modeling Cyberphysical Systems;
Data intensive modeling;
Derivation of explicit models from data;
Case studies and experience reports with significant modeling lessons learned;
Comparative analyses of modeling languages and techniques;
Scientific assessment of modeling practices