Pub Date : 2024-07-09DOI: 10.1007/s10270-024-01192-y
Jörg Kienzle, Steffen Zschaler, William Barnett, Timur Sağlam, Antonio Bucchiarone, Silvia Abrahão, Eugene Syriani, Dimitris Kolovos, Timothy Lethbridge, Sadaf Mustafiz, Sofia Meacham
Modelling is an important activity in software development and it is essential that students learn the relevant skills. Modelling relies on dedicated tools and these can be complex to install, configure, and use—distracting students from learning key modelling concepts and creating accidental complexity for teachers. To address these challenges, we believe that modelling tools specifically aimed at use in teaching are required. Based on discussions at a working session organised at MODELS 2023 and the results from an internationally shared questionnaire, we report on requirements for such modelling tools for teaching. We also present examples of existing modelling tools for teaching and how they address some of the requirements identified.
{"title":"Requirements for modelling tools for teaching","authors":"Jörg Kienzle, Steffen Zschaler, William Barnett, Timur Sağlam, Antonio Bucchiarone, Silvia Abrahão, Eugene Syriani, Dimitris Kolovos, Timothy Lethbridge, Sadaf Mustafiz, Sofia Meacham","doi":"10.1007/s10270-024-01192-y","DOIUrl":"https://doi.org/10.1007/s10270-024-01192-y","url":null,"abstract":"<p>Modelling is an important activity in software development and it is essential that students learn the relevant skills. Modelling relies on dedicated tools and these can be complex to install, configure, and use—distracting students from learning key modelling concepts and creating accidental complexity for teachers. To address these challenges, we believe that modelling tools specifically aimed at use in teaching are required. Based on discussions at a working session organised at MODELS 2023 and the results from an internationally shared questionnaire, we report on requirements for such modelling tools for teaching. We also present examples of existing modelling tools for teaching and how they address some of the requirements identified.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"22 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-07-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141575178","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-07-09DOI: 10.1007/s10270-024-01191-z
Charlotte Verbruggen, Alexandre Goossens, Johannes De Smedt, Jan Vanthienen, Monique Snoeck
In the business process lifecycle, models can be approached from two perspectives: on the one hand, models are used to create systems in the design phase, and on the other hand, systems in use produce (event) logs that are used to discover the models representing the structure of the systems. These discovered models can be the starting point of a new cycle of analysis, redesign, implementation, etc. Therefore, proper logging of implemented processes in line with system design is a critical element for process discovery. Recently, the consideration of the integration of data and process aspects has seen a surge in interest in both the model-for-design domain as in the automated-model-discovery domain. However, it seems that these domains use different conceptualizations of data/object-aware systems. A definition of how the captured event logs are related to the structure of the global system they are extracted from or are trying to discover is still missing. Especially the concept of an event needs to be aligned, as this is the main concept that the domains have in common. This paper investigates the concepts and terminology used in the different phases of the business process lifecycle: the design phase, the implementation phase (including the implementation of logging) and the discovery phase. The paper contains an extensive running example that is used to illustrate five misalignment issues. The main contribution of this paper is a meta-model that presents a unified terminology for modelling both domains and is demonstrated using the running example. The paper also shows how the concepts of iDOCEM relate to the concepts of a conceptual modelling approach and several event logging formats. iDOCEM is validated with the implementation of a log generator for the running case, demonstrating the feasibility of generating DOCEL-compliant logs from an application.
{"title":"iDOCEM","authors":"Charlotte Verbruggen, Alexandre Goossens, Johannes De Smedt, Jan Vanthienen, Monique Snoeck","doi":"10.1007/s10270-024-01191-z","DOIUrl":"https://doi.org/10.1007/s10270-024-01191-z","url":null,"abstract":"<p>In the business process lifecycle, models can be approached from two perspectives: on the one hand, models are used to create systems in the design phase, and on the other hand, systems in use produce (event) logs that are used to discover the models representing the structure of the systems. These discovered models can be the starting point of a new cycle of analysis, redesign, implementation, etc. Therefore, proper logging of implemented processes in line with system design is a critical element for process discovery. Recently, the consideration of the integration of data and process aspects has seen a surge in interest in both the model-for-design domain as in the automated-model-discovery domain. However, it seems that these domains use different conceptualizations of data/object-aware systems. A definition of how the captured event logs are related to the structure of the global system they are extracted from or are trying to discover is still missing. Especially the concept of an event needs to be aligned, as this is the main concept that the domains have in common. This paper investigates the concepts and terminology used in the different phases of the business process lifecycle: the design phase, the implementation phase (including the implementation of logging) and the discovery phase. The paper contains an extensive running example that is used to illustrate five misalignment issues. The main contribution of this paper is a meta-model that presents a unified terminology for modelling both domains and is demonstrated using the running example. The paper also shows how the concepts of iDOCEM relate to the concepts of a conceptual modelling approach and several event logging formats. iDOCEM is validated with the implementation of a log generator for the running case, demonstrating the feasibility of generating DOCEL-compliant logs from an application.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"66 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-07-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141575179","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-07-03DOI: 10.1007/s10270-024-01189-7
Balbir S. Barn, Kurt Sandkuhl, Souvik Barat, Tony Clark
This guest editorial presents the papers contributing to the 15th IFIP WG 8.1 Working Conference on the Practice of Enterprise Modelling (PoEM 2022). The best papers were selected for invitation for revision and significant expansion. Five papers were finally accepted in the special section. Collectively, these papers provide an excellent representation of the state of the art of Enterprise Modelling in both research and practice.
这篇特邀编辑介绍了为第 15 届 IFIP WG 8.1 企业建模实践工作会议(PoEM 2022)撰写的论文。最佳论文被选中邀请进行修改和重要扩展。最终有五篇论文被特别版块录用。总体而言,这些论文很好地反映了企业建模在研究和实践方面的最新进展。
{"title":"Guest editorial to the special section on PoEM’2022","authors":"Balbir S. Barn, Kurt Sandkuhl, Souvik Barat, Tony Clark","doi":"10.1007/s10270-024-01189-7","DOIUrl":"https://doi.org/10.1007/s10270-024-01189-7","url":null,"abstract":"<p>This guest editorial presents the papers contributing to the 15th IFIP WG 8.1 Working Conference on the Practice of Enterprise Modelling (PoEM 2022). The best papers were selected for invitation for revision and significant expansion. Five papers were finally accepted in the special section. Collectively, these papers provide an excellent representation of the state of the art of Enterprise Modelling in both research and practice.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"8 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141551165","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-07-03DOI: 10.1007/s10270-024-01180-2
Alireza Parvizimosaed, Marco Roveri, Aidin Rasti, Amal Ahmed Anda, Sofana Alfuhaid, Daniel Amyot, Luigi Logrippo, John Mylopoulos
Legal contracts specify requirements for business transactions. Symboleo was recently proposed as a formal specification language for legal contracts. It allows the specification of the contractual requirements by specifying the obligations and powers of the parties, as well as specifying the events that can occur in a contract’s lifecycle. With appropriate tool support, Symboleo can allow monitoring the contract lifecycle. However, because of mistakes in contract interpretation or formal specification, specified contracts may violate properties expected by contracting parties. This paper presents SymboleoPC, a tool for analyzing Symboleo contracts using the nuXmv model checker, where properties can be expressed in both Linear Temporal Logic and Computation Tree Logic. The presentation highlights the architecture, implementation, and testing of the tool, as well as a scalability evaluation, based on performance data. The performance of the tool was evaluated with respect to varying numbers of obligations and powers, with varying numbers of inter-dependencies among them, with parameters derived from the analysis of real contracts. These results suggest that SymboleoPC can be usefully applied to the analysis of formal specifications of contracts with real-life sizes and structures.
{"title":"SymboleoPC: checking properties of legal contracts","authors":"Alireza Parvizimosaed, Marco Roveri, Aidin Rasti, Amal Ahmed Anda, Sofana Alfuhaid, Daniel Amyot, Luigi Logrippo, John Mylopoulos","doi":"10.1007/s10270-024-01180-2","DOIUrl":"https://doi.org/10.1007/s10270-024-01180-2","url":null,"abstract":"<p>Legal contracts specify requirements for business transactions. <span>Symboleo</span> was recently proposed as a formal specification language for legal contracts. It allows the specification of the contractual requirements by specifying the obligations and powers of the parties, as well as specifying the events that can occur in a contract’s lifecycle. With appropriate tool support, <span>Symboleo</span> can allow monitoring the contract lifecycle. However, because of mistakes in contract interpretation or formal specification, specified contracts may violate properties expected by contracting parties. This paper presents <span>SymboleoPC</span>, a tool for analyzing <span>Symboleo</span> contracts using the <span>nuXmv</span> model checker, where properties can be expressed in both Linear Temporal Logic and Computation Tree Logic. The presentation highlights the architecture, implementation, and testing of the tool, as well as a scalability evaluation, based on performance data. The performance of the tool was evaluated with respect to varying numbers of obligations and powers, with varying numbers of inter-dependencies among them, with parameters derived from the analysis of real contracts. These results suggest that <span>SymboleoPC</span> can be usefully applied to the analysis of formal specifications of contracts with real-life sizes and structures.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"137 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141551164","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-06-29DOI: 10.1007/s10270-024-01187-9
Aidin Rasti, Amal Ahmed Anda, Sofana Alfuhaid, Alireza Parvizimosaed, Daniel Amyot, Marco Roveri, Luigi Logrippo, John Mylopoulos
Smart contracts (SCs) are software systems that monitor and partially control the execution of legal contracts to ensure compliance with the contracts’ terms and conditions, which essentially are sets of obligations and powers, triggered by events. Such systems often exploit Internet-of-Things technologies to support their monitoring functions and blockchain technology to ensure the integrity of their data. Enterprise-level blockchain platforms (such as Hyperledger Fabric) and public ones (such as Ethereum) are popular choices for SC development. However, usually, legal experts are not able to directly encode contract requirements into SCs. Symboleo is a formal specification language for legal contracts that was introduced to address this issue. Symboleo uses an ontology that defines legal concepts such as parties, obligations, powers, and assets, with semantics expressed with state machines. This paper proposes a tool that automatically translates Symboleo specifications into smart contract code for Hyperledger Fabric. Towards this end, we have extended the current Symboleo IDE, implemented the ontology and semantics by using the modelling language Umple, and created a reusable library. The resulting Symboleo2SC tool generates Hyperledger Fabric code exploiting this library. This code is a complete translation and does not require further development. Symboleo2SC was evaluated with five sample contracts. These were converted to SCs for contract monitoring and control purposes. Symboleo2SC helps simplify the SC development process, saves development effort, and helps reduce risks of coding errors.
{"title":"Automated generation of smart contract code from legal contract specifications with Symboleo2SC","authors":"Aidin Rasti, Amal Ahmed Anda, Sofana Alfuhaid, Alireza Parvizimosaed, Daniel Amyot, Marco Roveri, Luigi Logrippo, John Mylopoulos","doi":"10.1007/s10270-024-01187-9","DOIUrl":"https://doi.org/10.1007/s10270-024-01187-9","url":null,"abstract":"<p>Smart contracts (SCs) are software systems that monitor and partially control the execution of legal contracts to ensure compliance with the contracts’ terms and conditions, which essentially are sets of obligations and powers, triggered by events. Such systems often exploit Internet-of-Things technologies to support their monitoring functions and blockchain technology to ensure the integrity of their data. Enterprise-level blockchain platforms (such as Hyperledger Fabric) and public ones (such as Ethereum) are popular choices for SC development. However, usually, legal experts are not able to directly encode contract requirements into SCs. <span>Symboleo</span> is a formal specification language for legal contracts that was introduced to address this issue. <span>Symboleo</span> uses an ontology that defines legal concepts such as parties, obligations, powers, and assets, with semantics expressed with state machines. This paper proposes a tool that automatically translates <span>Symboleo</span> specifications into smart contract code for Hyperledger Fabric. Towards this end, we have extended the current <span>Symboleo</span> IDE, implemented the ontology and semantics by using the modelling language Umple, and created a reusable library. The resulting <span>Symboleo2SC</span> tool generates Hyperledger Fabric code exploiting this library. This code is a complete translation and does not require further development. <span>Symboleo2SC</span> was evaluated with five sample contracts. These were converted to SCs for contract monitoring and control purposes. <span>Symboleo2SC</span> helps simplify the SC development process, saves development effort, and helps reduce risks of coding errors.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"59 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-06-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141507316","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-06-28DOI: 10.1007/s10270-024-01188-8
Grischa Liebel, Jil Klünder, Regina Hebig, Christopher Lazik, Inês Nunes, Isabella Graßl, Jan-Philipp Steghöfer, Joeri Exelmans, Julian Oertel, Kai Marquardt, Katharina Juhnke, Kurt Schneider, Lucas Gren, Lucia Happe, Marc Herrmann, Marvin Wyrich, Matthias Tichy, Miguel Goulão, Rebekka Wohlrab, Reyhaneh Kalantari, Robert Heinrich, Sandra Greiner, Satrio Adi Rukmono, Shalini Chakraborty, Silvia Abrahão, Vasco Amaral
Software modelling and model-driven engineering (MDE) is traditionally studied from a technical perspective. However, one of the core motivations behind the use of software models is inherently human-centred. Models aim to enable practitioners to communicate about software designs, make software understandable, or make software easier to write through domain-specific modelling languages. Several recent studies challenge the idea that these aims can always be reached and indicate that human factors play a role in the success of MDE. However, there is an under-representation of research focusing on human factors in modelling. During a GI-Dagstuhl seminar, topics related to human factors in modelling were discussed by 26 expert participants from research and industry. In breakout groups, five topics were covered in depth, namely modelling human aspects, factors of modeller experience, diversity and inclusion in MDE, collaboration and MDE, and teaching human-aware MDE. We summarise our insights gained during the discussions on the five topics. We formulate research goals, questions, and propositions that support directing future initiatives towards an MDE community that is aware of and supportive of human factors and values.
{"title":"Human factors in model-driven engineering: future research goals and initiatives for MDE","authors":"Grischa Liebel, Jil Klünder, Regina Hebig, Christopher Lazik, Inês Nunes, Isabella Graßl, Jan-Philipp Steghöfer, Joeri Exelmans, Julian Oertel, Kai Marquardt, Katharina Juhnke, Kurt Schneider, Lucas Gren, Lucia Happe, Marc Herrmann, Marvin Wyrich, Matthias Tichy, Miguel Goulão, Rebekka Wohlrab, Reyhaneh Kalantari, Robert Heinrich, Sandra Greiner, Satrio Adi Rukmono, Shalini Chakraborty, Silvia Abrahão, Vasco Amaral","doi":"10.1007/s10270-024-01188-8","DOIUrl":"https://doi.org/10.1007/s10270-024-01188-8","url":null,"abstract":"<p>Software modelling and model-driven engineering (MDE) is traditionally studied from a technical perspective. However, one of the core motivations behind the use of software models is inherently human-centred. Models aim to enable practitioners to communicate about software designs, make software understandable, or make software easier to write through domain-specific modelling languages. Several recent studies challenge the idea that these aims can always be reached and indicate that human factors play a role in the success of MDE. However, there is an under-representation of research focusing on human factors in modelling. During a GI-Dagstuhl seminar, topics related to human factors in modelling were discussed by 26 expert participants from research and industry. In breakout groups, five topics were covered in depth, namely modelling human aspects, factors of modeller experience, diversity and inclusion in MDE, collaboration and MDE, and teaching human-aware MDE. We summarise our insights gained during the discussions on the five topics. We formulate research goals, questions, and propositions that support directing future initiatives towards an MDE community that is aware of and supportive of human factors and values.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"33 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141507317","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-06-03DOI: 10.1007/s10270-024-01185-x
Olav Bunte, Jasper Denkers, Louis C. M. van Gool, Jurgen J. Vinju, Eelco Visser, Tim A. C. Willemse, Andy Zaidman
Domain-specific languages (DSLs) promise to improve the software engineering process, e.g., by reducing software development and maintenance effort and by improving communication, and are therefore seeing increased use in industry. To support the creation and deployment of DSLs, language workbenches have been developed. However, little is published about the actual added value of a language workbench in an industrial setting, compared to not using a language workbench. In this paper, we evaluate the productivity of using the Spoofax language workbench by comparing two implementations of an industrial DSL, one in Spoofax and one in Python, that already existed before the evaluation. The subject is the Open Interaction Language (OIL): a complex DSL for implementing control software with requirements imposed by its industrial context at Canon Production Printing. Our findings indicate that it is more productive to implement OIL using Spoofax compared to using Python, especially if editor services are desired. Although Spoofax was sufficient to implement OIL, we find that Spoofax should especially improve on practical aspects to increase its adoptability in industry.
{"title":"OIL: an industrial case study in language engineering with Spoofax","authors":"Olav Bunte, Jasper Denkers, Louis C. M. van Gool, Jurgen J. Vinju, Eelco Visser, Tim A. C. Willemse, Andy Zaidman","doi":"10.1007/s10270-024-01185-x","DOIUrl":"https://doi.org/10.1007/s10270-024-01185-x","url":null,"abstract":"<p>Domain-specific languages (DSLs) promise to improve the software engineering process, e.g., by reducing software development and maintenance effort and by improving communication, and are therefore seeing increased use in industry. To support the creation and deployment of DSLs, language workbenches have been developed. However, little is published about the actual added value of a language workbench in an industrial setting, compared to not using a language workbench. In this paper, we evaluate the productivity of using the Spoofax language workbench by comparing two implementations of an industrial DSL, one in Spoofax and one in Python, that already existed before the evaluation. The subject is the Open Interaction Language (OIL): a complex DSL for implementing control software with requirements imposed by its industrial context at Canon Production Printing. Our findings indicate that it is more productive to implement OIL using Spoofax compared to using Python, especially if editor services are desired. Although Spoofax was sufficient to implement OIL, we find that Spoofax should especially improve on practical aspects to increase its adoptability in industry.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"25 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141255804","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-05-28DOI: 10.1007/s10270-024-01179-9
Juan de Lara, Esther Guerra, Paolo Bottoni
Modelling languages are intensively used in paradigms like model-driven engineering to automate all tasks of the development process. These languages may have variants, in which case the need arises to deal with language families rather than with individual languages. However, specifying the syntax and semantics of each language variant separately in an enumerative way is costly, hinders reuse across variants, and may yield inconsistent semantics between variants. Hence, we propose a novel, modular and compositional approach to describing product lines of modelling languages. It enables the incremental definition of language families by means of modules comprising meta-model fragments, graph transformation rules, and rule extensions. Language variants are configured by selecting the desired modules, which entails the composition of a language meta-model and a set of rules defining its semantics. This paper describes: a theory for checking well-formedness, instantiability, and consistent semantics of all languages within the family; an implementation as an Eclipse plugin; and an evaluation reporting drastic specification size and analysis time reduction in comparison to an enumerative approach.
{"title":"Modular language product lines: concept, tool and analysis","authors":"Juan de Lara, Esther Guerra, Paolo Bottoni","doi":"10.1007/s10270-024-01179-9","DOIUrl":"https://doi.org/10.1007/s10270-024-01179-9","url":null,"abstract":"<p>Modelling languages are intensively used in paradigms like model-driven engineering to automate all tasks of the development process. These languages may have variants, in which case the need arises to deal with language families rather than with individual languages. However, specifying the syntax and semantics of each language variant separately in an enumerative way is costly, hinders reuse across variants, and may yield inconsistent semantics between variants. Hence, we propose a novel, modular and compositional approach to describing product lines of modelling languages. It enables the incremental definition of language families by means of modules comprising meta-model fragments, graph transformation rules, and rule extensions. Language variants are configured by selecting the desired modules, which entails the composition of a language meta-model and a set of rules defining its semantics. This paper describes: a theory for checking well-formedness, instantiability, and consistent semantics of all languages within the family; an implementation as an Eclipse plugin; and an evaluation reporting drastic specification size and analysis time reduction in comparison to an enumerative approach.\u0000</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"20 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141165666","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-05-10DOI: 10.1007/s10270-024-01182-0
Rodrigo F. Calhau, João Paulo A. Almeida, Satyanarayana Kokkula, Giancarlo Guizzardi
{"title":"Correction: Modeling competences in enterprise architecture: from knowledge, skills, and attitudes to organizational capabilities","authors":"Rodrigo F. Calhau, João Paulo A. Almeida, Satyanarayana Kokkula, Giancarlo Guizzardi","doi":"10.1007/s10270-024-01182-0","DOIUrl":"https://doi.org/10.1007/s10270-024-01182-0","url":null,"abstract":"","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"21 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-05-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140933710","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-05-08DOI: 10.1007/s10270-024-01176-y
Fatma Bozyigit, Tolgahan Bardakci, Alireza Khalilipour, Moharram Challenger, Guus Ramackers, Önder Babur, Michel R. V. Chaudron
Software requirements specification describes users’ needs and expectations on some target system. Requirements documents are typically represented by unstructured natural language text. Such texts are the basis for the various subsequent activities in software development, such as software analysis and design. As part of software analysis, domain models are made that describe the key concepts and relations between them. Since the analysis process is performed manually by business analysts, it is time-consuming and may introduce mistakes. Recently, researchers have worked toward automating the synthesis of domain models from textual software requirements. Current studies on this topic have limitations in terms of the volume and heterogeneity of experimental datasets. To remedy this, we provide a curated dataset of software requirements to be utilized as a benchmark by algorithms that transform textual requirements documents into domain models. We present a detailed evaluation of two text-to-model approaches: one based on a large-language model (ChatGPT) and one building on grammatical rules (txt2Model). Our evaluation reveals that both tools yield promising results with relatively high F-scores for modeling the classes, attributes, methods, and relationships, with txt2Model performing better than ChatGPT on average. Both tools have relatively lower performance and high variance when it comes to the relation types. We believe our dataset and experimental evaluation pave to way to advance the field of automated model generation from requirements.
{"title":"Generating domain models from natural language text using NLP: a benchmark dataset and experimental comparison of tools","authors":"Fatma Bozyigit, Tolgahan Bardakci, Alireza Khalilipour, Moharram Challenger, Guus Ramackers, Önder Babur, Michel R. V. Chaudron","doi":"10.1007/s10270-024-01176-y","DOIUrl":"https://doi.org/10.1007/s10270-024-01176-y","url":null,"abstract":"<p>Software requirements specification describes users’ needs and expectations on some target system. Requirements documents are typically represented by unstructured natural language text. Such texts are the basis for the various subsequent activities in software development, such as software analysis and design. As part of software analysis, domain models are made that describe the key concepts and relations between them. Since the analysis process is performed manually by business analysts, it is time-consuming and may introduce mistakes. Recently, researchers have worked toward automating the synthesis of domain models from textual software requirements. Current studies on this topic have limitations in terms of the volume and heterogeneity of experimental datasets. To remedy this, we provide a curated dataset of software requirements to be utilized as a benchmark by algorithms that transform textual requirements documents into domain models. We present a detailed evaluation of two text-to-model approaches: one based on a large-language model (ChatGPT) and one building on grammatical rules (txt2Model). Our evaluation reveals that both tools yield promising results with relatively high F-scores for modeling the classes, attributes, methods, and relationships, with txt2Model performing better than ChatGPT on average. Both tools have relatively lower performance and high variance when it comes to the relation types. We believe our dataset and experimental evaluation pave to way to advance the field of automated model generation from requirements.</p>","PeriodicalId":49507,"journal":{"name":"Software and Systems Modeling","volume":"254 1","pages":""},"PeriodicalIF":2.0,"publicationDate":"2024-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140933708","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}