{"title":"建模语言中扩展的特征模型","authors":"Daniel Devine, Omar Alam","doi":"10.1109/MiSE.2019.00017","DOIUrl":null,"url":null,"abstract":"Extension is a common term used in model-driven engineering. However, it is expressed in different ways by different modeling languages. A class diagram modeler uses extension to mean inheriting from a class. An aspect modeler extends a base with an aspect. Despite the different ways the term is being expressed, it generally refers to adding/changing structure/behaviour of a model in some way. We observe that model extensions vary in several ways. For example, in some cases, such as in use case diagram extensions, the extended model (base model) is information complete, meaning that it requires no further information in order for it to be useful. In other languages, the base model is not useful on its own and must be completed with an extension. Extensions also vary in terms of granularity, e.g., inheritance between two classes is an extension at a low level of granularity (between two elements, i.e., classes, of the same class diagram) compared to extension between two models. This paper presents a feature model for extensions in modeling languages. We discuss how extensions vary in terms of granularity, the completeness of the base model, whether or not the extension model requires to specify matching information, and the changes the composed model does to the base. Using this feature model, we explore extensions in several popular modeling languages and report our findings.","PeriodicalId":340157,"journal":{"name":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","volume":"60 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Feature Model for Extensions in Modeling Languages\",\"authors\":\"Daniel Devine, Omar Alam\",\"doi\":\"10.1109/MiSE.2019.00017\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Extension is a common term used in model-driven engineering. However, it is expressed in different ways by different modeling languages. A class diagram modeler uses extension to mean inheriting from a class. An aspect modeler extends a base with an aspect. Despite the different ways the term is being expressed, it generally refers to adding/changing structure/behaviour of a model in some way. We observe that model extensions vary in several ways. For example, in some cases, such as in use case diagram extensions, the extended model (base model) is information complete, meaning that it requires no further information in order for it to be useful. In other languages, the base model is not useful on its own and must be completed with an extension. Extensions also vary in terms of granularity, e.g., inheritance between two classes is an extension at a low level of granularity (between two elements, i.e., classes, of the same class diagram) compared to extension between two models. This paper presents a feature model for extensions in modeling languages. We discuss how extensions vary in terms of granularity, the completeness of the base model, whether or not the extension model requires to specify matching information, and the changes the composed model does to the base. Using this feature model, we explore extensions in several popular modeling languages and report our findings.\",\"PeriodicalId\":340157,\"journal\":{\"name\":\"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)\",\"volume\":\"60 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-05-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/MiSE.2019.00017\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE/ACM 11th International Workshop on Modelling in Software Engineering (MiSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MiSE.2019.00017","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Feature Model for Extensions in Modeling Languages
Extension is a common term used in model-driven engineering. However, it is expressed in different ways by different modeling languages. A class diagram modeler uses extension to mean inheriting from a class. An aspect modeler extends a base with an aspect. Despite the different ways the term is being expressed, it generally refers to adding/changing structure/behaviour of a model in some way. We observe that model extensions vary in several ways. For example, in some cases, such as in use case diagram extensions, the extended model (base model) is information complete, meaning that it requires no further information in order for it to be useful. In other languages, the base model is not useful on its own and must be completed with an extension. Extensions also vary in terms of granularity, e.g., inheritance between two classes is an extension at a low level of granularity (between two elements, i.e., classes, of the same class diagram) compared to extension between two models. This paper presents a feature model for extensions in modeling languages. We discuss how extensions vary in terms of granularity, the completeness of the base model, whether or not the extension model requires to specify matching information, and the changes the composed model does to the base. Using this feature model, we explore extensions in several popular modeling languages and report our findings.