In recent years, mobile devices have become widespread and refined, and they have offered increased convenience in human life. For these reasons, a variety of embedded systems have been designed. Therefore, improving ...In recent years, mobile devices have become widespread and refined, and they have offered increased convenience in human life. For these reasons, a variety of embedded systems have been designed. Therefore, improving methods for developing of embedded software systematically has become an important issue. Platform-based design is one example of an embedded-system design method that can reduce the design cost via improving a design’s abstraction level. However, platform-based design lacks precise definitions for platforms and design processes. This paper provides an approach that combines the aspects and platform-based design methods for developing embedded software. The approach is built on platform-based design methodology and uses the separating of concerns (SoC) concept to define the aspects and to reduce the crosscutting concerns in embedded system modeling. For aspect issues, we use the extended UML notation with aspects to describe both the static structure and the dynamic structure of the embedded system. We used an example of a digital photo frame system to demonstrate our approach.展开更多
Reusing business process models and best practices can improve the productivity, quality and agility in the early development phases of enterprise software systems. To help developers reuse the business process models...Reusing business process models and best practices can improve the productivity, quality and agility in the early development phases of enterprise software systems. To help developers reuse the business process models and best practices, we propose a methodology and an integrated environment for business process modeling driven by the metamodel. Furthermore, we propose a process-template design method to unify the granularity and separate the commonality and variability of business processes so that business process models can be reused across different enterprise software systems. The proposed methodology enables to create reuse-oriented business process templates before the business process modeling. To support the proposed methodology, we developed an integrated environment for creating, reusing and verifying the business process models. As the key techniques, we describe the methodology and its integrated environment, including a metamodel and notations. We applied the methodology and integrated environment to an actual enterprise software development project, and evaluated that the productivity of business process modeling is improved by at least 46%. As the conclusion, this paper contributes to prove the effectiveness of the meta-model driven business process modeling methodology for the reuse of business process models.展开更多
Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specifica...Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specification/modeling and the design, and try to find a good match between them. The key task done by designers is to convert a natural language based requirement specification (or corresponding UML based representation) into a predominantly computer language based design model—thus the process is very complex as there is a very large gap between our natural language and computer language. Moreover, this is not just a simple language conversion, but rather a complex knowledge conversion that can lead to meaningful design implementation. In this paper, we describe an automated method to map Requirement Model to Design Model and thus automate/partially automate the Structured Design (SD) process. We believe, this is the first logical step in mapping a more complex requirement specification to design model. We call it IRTDM (Intelligent Agent based requirement model to design model mapping). The main theme of IRTDM is to use some AI (Artificial Intelligence) based algorithms, semantic representation using Ontology or Predicate Logic, design structures using some well known design framework and Machine Learning algorithms for learning over time. Semantics help convert natural language based requirement specification (and associated UML representation) into high level design model followed by mapping to design structures. AI method can also be used to convert high level design structures into lower level design which then can be refined further by some manual and/or semi automated process. We emphasize that automation is one of the key ways to minimize the software cost, and is very important for all, especially, for the “Design for the Bottom 90% People” or BOP (Base of the Pyramid People).展开更多
Feature Model (FM) became an important role in Software Product Line Engineering (SPLE) field. Many approaches have been introduced since the original FM came up with Feature Oriented Domain Analysis (FODA) introduced...Feature Model (FM) became an important role in Software Product Line Engineering (SPLE) field. Many approaches have been introduced since the original FM came up with Feature Oriented Domain Analysis (FODA) introduced by Kang in 1990. The main purpose of FM is used for commonality and variability analysis in domain engineering, to optimize the reusable aspect of software features or components. Cardinality-based Feature Model (CBFM) is one extension of original FM, which integrates several notations of other extensions. In CBFM, feature model defined as hierarchy of feature, with each of feature has a cardinality. The other notation to express variability within SPLE is Orthogonal Variability Model (OVM). At the other hand, OMG as standard organization makes an effort to build standard generic language to express the commonality and variability in SPL field, by initiate Common Variability Language (CVL). This paper reports the comparison and mapping of FODA, CBFM and OVM to CVL where need to be explored first to define meta model mapping of these several approaches. Furthermore, the comparison and mapping of those approaches are discussed in term of R3ST (read as “REST”) software feature model as the case study.展开更多
<div style="text-align:justify;"> <span style="font-family:Verdana;">Software reliability is an important quality attribute, and software reliability models are frequently used to measu...<div style="text-align:justify;"> <span style="font-family:Verdana;">Software reliability is an important quality attribute, and software reliability models are frequently used to measure and predict software maturity. The nature of mobile environments differs from that of PC and server environments due to many factors, such as the network, energy, battery, and compatibility. Evaluating and predicting mobile application reliability are real challenges because of the diversity of the mobile environments in which the applications are used, and the lack of publicly available defect data. In addition, bug reports are optionally submitted by end-users. In this paper, we propose assessing and predicting the reliability of a mobile application using known software reliability growth models (SRGMs). Four software reliability models are used to evaluate the reliability of an open-source mobile application through analyzing bug reports. Our experiment proves it is possible to use SRGMs with defect data acquired from bug reports to assess and predict the software reliability in mobile applications. The results of our work enable software developers and testers to assess and predict the reliability of mobile software applications.</span> </div>展开更多
Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continu...Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continuous evolution and costs optimization, the derivation process must be able to answer customers’ requirements and provide adequate products in a short time without defects. However, this purpose cannot be achieved if the customer must wait for the change is implemented in the common platform. In this paper, we describe our work which proposes a framework to manage derivation of adaptable products. An adaptable product is obtained by deriving the most similar product from the common platform and changing it to support the new requirements. The aim of the framework is to give quick response to the customers need while the new requirements are being implemented in the common platform. The framework includes tools for processing natural language requirements, computing the similarity between products on the basis of their requirements, and the product adaptation effort measuring.展开更多
In this paper, we identify a set of factors that may be used to forecast software productivity and software development time. Software productivity was measured in function points per person hours, and software develo...In this paper, we identify a set of factors that may be used to forecast software productivity and software development time. Software productivity was measured in function points per person hours, and software development time was measured in number of elapsed days. Using field data on over 130 field software projects from various industries, we empirically test the impact of team size, integrated computer aided software engineering (ICASE) tools, software development type, software development platform, and programming language type on the software development productivity and development time. Our results indicate that team size, software development type, software development platform, and programming language type significantly impact software development productivity. However, only team size significantly impacts software development time. Our results indicate that effective management of software development teams, and using different management strategies for different software development type environments may improve software development productivity.展开更多
Quality of Service is an important attribute of a software system. In retrospect, performance assessment based on user interaction with the system has given a better understanding of underlying disciplines of the prod...Quality of Service is an important attribute of a software system. In retrospect, performance assessment based on user interaction with the system has given a better understanding of underlying disciplines of the product. In this paper, we capture user interaction with the prototype/User Interface (UI). An approach for developing activity model from the user interface model is presented using workflows and functional elements. A methodology is proposed to transform UI into activity diagram. The approach is validated by an experimental setup using Amazon service. The performance of Amazon service is assessed using activity based performance prediction methodology, and the simulation results are obtained using SMTQA.展开更多
Robustness testing for safety-critical embedded software is still a challenge in its nascent stages. In this paper, we propose a practical methodology and implement an environment by employing model-based robustness t...Robustness testing for safety-critical embedded software is still a challenge in its nascent stages. In this paper, we propose a practical methodology and implement an environment by employing model-based robustness testing for embedded software systems. It is a system-level black-box testing approach in which the fault behaviors of embedded software is triggered with the aid of modelbased fault injection by the support of an executable model-driven hardware-in-loop (HIL) testing environment. The prototype implementation of the robustness testing environment based on the proposed approach is experimentally discussed and illustrated by industrial case studies based on several avionics-embedded software systems. The results show that our proposed and implemented robustness testing method and environment are effective to find more bugs, and reduce burdens of testing engineers to enhance efficiency of testing tasks, especially for testing complex embedded systems.展开更多
Architectural modeling and behavior analysis are two important concerns in the software development. They are often implemented separately, and specified by their own supporting notations. Architectural modeling helps...Architectural modeling and behavior analysis are two important concerns in the software development. They are often implemented separately, and specified by their own supporting notations. Architectural modeling helps to guarantee the system design to satisfy the requirement, and behavior analysis can ensure the interaction correctness. To improve the trustworthiness, methods trying to combine architectural modeling and behavior analysis notations together have been proposed, e.g., establishing a one-way mapping relation. However, the one-way relation cannot ensure updating one notation specifications in accordance with the other one, which results in inconsistency problems. In this paper, we present an approach to integrating behavior analysis into architectural modeling, which establishes the interoperability between architectural modeling notation and behavior analysis notation by a bidirectional mapping. The architecture is specified by the modeling language, architecture analysis and design language (AADL), and then mapped to behavior analysis notation, Darwin/FSP (finite state process) through the bidirectional transformation. The bidirectional transformarion provides traceability, which makes behavior analysis result provided by a model checker can be traced and reflected back to the original AADL specifications. In this way, the behavior analysis is integrated into architectural modeling. The feasibility of our approach is shown by a control system example.展开更多
Software is a crucial component in the communication systems,and its security is of paramount importance.However,it is susceptible to different types of attacks due to potential vulnerabilities.Meanwhile,significant t...Software is a crucial component in the communication systems,and its security is of paramount importance.However,it is susceptible to different types of attacks due to potential vulnerabilities.Meanwhile,significant time and effort is required to fix such vulnerabilities.We propose an automated program repair method based on controlled text generation techniques.Specifically,we utilize a fine-tuned language model for patch generation and introduce a discriminator to evaluate the generation process,selecting results that contribute most to vulnerability fixes.Additionally,we perform static syntax analysis to expedite the patch verification process.The effectiveness of the proposed approach is validated using QuixBugs and Defects4J datasets,demonstrating significant improvements in generating correct patches compared to other existing methods.展开更多
工程人员常通过对比设计软件与有限元软件的分析结果,以验算和校核结构设计的合理性。然而,由于软件分析内核的差异,设计软件与有限元软件之间的模型信息往往难以直接传递并转化。针对SAP2000结构设计分析软件向ANSYS有限元分析软件的...工程人员常通过对比设计软件与有限元软件的分析结果,以验算和校核结构设计的合理性。然而,由于软件分析内核的差异,设计软件与有限元软件之间的模型信息往往难以直接传递并转化。针对SAP2000结构设计分析软件向ANSYS有限元分析软件的模型转化问题,基于Python语言和APDL参数化设计语言,编译并开发了STAMT V1.0(SAP2000 To ANSYS Model Transformation V1.0)模型转化程序。相比已有转化程序,STAMT程序实现了更多单元类型、材料属性、截面类型、荷载形式的转化,提高了模型转化的通用性。其次,其涵盖了节点坐标系变换、梁单元坐标系变换、梁端自由度释放、创建刚性域等必备功能,进一步满足了模型转化过程中的功能性需求。然后,采用先建立几何模型后生成有限元模型的转化思路,实现了梁单元网格数量的自定义以及板壳荷载向梁的传递,软件操作界面简洁,便于工程人员的使用。最后,通过单层工业厂房和多层框架结构的两个算例分析,得到转化后模型的质量与原模型一致,前5阶周期的平均误差不超过3%,满足精度要求。研究分析验证了STAMT程序可实现SAP2000模型向ANSYS模型的准确、快速转化。展开更多
文摘In recent years, mobile devices have become widespread and refined, and they have offered increased convenience in human life. For these reasons, a variety of embedded systems have been designed. Therefore, improving methods for developing of embedded software systematically has become an important issue. Platform-based design is one example of an embedded-system design method that can reduce the design cost via improving a design’s abstraction level. However, platform-based design lacks precise definitions for platforms and design processes. This paper provides an approach that combines the aspects and platform-based design methods for developing embedded software. The approach is built on platform-based design methodology and uses the separating of concerns (SoC) concept to define the aspects and to reduce the crosscutting concerns in embedded system modeling. For aspect issues, we use the extended UML notation with aspects to describe both the static structure and the dynamic structure of the embedded system. We used an example of a digital photo frame system to demonstrate our approach.
文摘Reusing business process models and best practices can improve the productivity, quality and agility in the early development phases of enterprise software systems. To help developers reuse the business process models and best practices, we propose a methodology and an integrated environment for business process modeling driven by the metamodel. Furthermore, we propose a process-template design method to unify the granularity and separate the commonality and variability of business processes so that business process models can be reused across different enterprise software systems. The proposed methodology enables to create reuse-oriented business process templates before the business process modeling. To support the proposed methodology, we developed an integrated environment for creating, reusing and verifying the business process models. As the key techniques, we describe the methodology and its integrated environment, including a metamodel and notations. We applied the methodology and integrated environment to an actual enterprise software development project, and evaluated that the productivity of business process modeling is improved by at least 46%. As the conclusion, this paper contributes to prove the effectiveness of the meta-model driven business process modeling methodology for the reuse of business process models.
文摘Automatically mapping a requirement specification to design model in Software Engineering is an open complex problem. Existing methods use a complex manual process that use the knowledge from the requirement specification/modeling and the design, and try to find a good match between them. The key task done by designers is to convert a natural language based requirement specification (or corresponding UML based representation) into a predominantly computer language based design model—thus the process is very complex as there is a very large gap between our natural language and computer language. Moreover, this is not just a simple language conversion, but rather a complex knowledge conversion that can lead to meaningful design implementation. In this paper, we describe an automated method to map Requirement Model to Design Model and thus automate/partially automate the Structured Design (SD) process. We believe, this is the first logical step in mapping a more complex requirement specification to design model. We call it IRTDM (Intelligent Agent based requirement model to design model mapping). The main theme of IRTDM is to use some AI (Artificial Intelligence) based algorithms, semantic representation using Ontology or Predicate Logic, design structures using some well known design framework and Machine Learning algorithms for learning over time. Semantics help convert natural language based requirement specification (and associated UML representation) into high level design model followed by mapping to design structures. AI method can also be used to convert high level design structures into lower level design which then can be refined further by some manual and/or semi automated process. We emphasize that automation is one of the key ways to minimize the software cost, and is very important for all, especially, for the “Design for the Bottom 90% People” or BOP (Base of the Pyramid People).
文摘Feature Model (FM) became an important role in Software Product Line Engineering (SPLE) field. Many approaches have been introduced since the original FM came up with Feature Oriented Domain Analysis (FODA) introduced by Kang in 1990. The main purpose of FM is used for commonality and variability analysis in domain engineering, to optimize the reusable aspect of software features or components. Cardinality-based Feature Model (CBFM) is one extension of original FM, which integrates several notations of other extensions. In CBFM, feature model defined as hierarchy of feature, with each of feature has a cardinality. The other notation to express variability within SPLE is Orthogonal Variability Model (OVM). At the other hand, OMG as standard organization makes an effort to build standard generic language to express the commonality and variability in SPL field, by initiate Common Variability Language (CVL). This paper reports the comparison and mapping of FODA, CBFM and OVM to CVL where need to be explored first to define meta model mapping of these several approaches. Furthermore, the comparison and mapping of those approaches are discussed in term of R3ST (read as “REST”) software feature model as the case study.
文摘<div style="text-align:justify;"> <span style="font-family:Verdana;">Software reliability is an important quality attribute, and software reliability models are frequently used to measure and predict software maturity. The nature of mobile environments differs from that of PC and server environments due to many factors, such as the network, energy, battery, and compatibility. Evaluating and predicting mobile application reliability are real challenges because of the diversity of the mobile environments in which the applications are used, and the lack of publicly available defect data. In addition, bug reports are optionally submitted by end-users. In this paper, we propose assessing and predicting the reliability of a mobile application using known software reliability growth models (SRGMs). Four software reliability models are used to evaluate the reliability of an open-source mobile application through analyzing bug reports. Our experiment proves it is possible to use SRGMs with defect data acquired from bug reports to assess and predict the software reliability in mobile applications. The results of our work enable software developers and testers to assess and predict the reliability of mobile software applications.</span> </div>
文摘Software product line engineering is a large scale development paradigm based on mass production. It consists in building a common platform from which a set of products can be derived. Under the constraints of continuous evolution and costs optimization, the derivation process must be able to answer customers’ requirements and provide adequate products in a short time without defects. However, this purpose cannot be achieved if the customer must wait for the change is implemented in the common platform. In this paper, we describe our work which proposes a framework to manage derivation of adaptable products. An adaptable product is obtained by deriving the most similar product from the common platform and changing it to support the new requirements. The aim of the framework is to give quick response to the customers need while the new requirements are being implemented in the common platform. The framework includes tools for processing natural language requirements, computing the similarity between products on the basis of their requirements, and the product adaptation effort measuring.
文摘In this paper, we identify a set of factors that may be used to forecast software productivity and software development time. Software productivity was measured in function points per person hours, and software development time was measured in number of elapsed days. Using field data on over 130 field software projects from various industries, we empirically test the impact of team size, integrated computer aided software engineering (ICASE) tools, software development type, software development platform, and programming language type on the software development productivity and development time. Our results indicate that team size, software development type, software development platform, and programming language type significantly impact software development productivity. However, only team size significantly impacts software development time. Our results indicate that effective management of software development teams, and using different management strategies for different software development type environments may improve software development productivity.
文摘Quality of Service is an important attribute of a software system. In retrospect, performance assessment based on user interaction with the system has given a better understanding of underlying disciplines of the product. In this paper, we capture user interaction with the prototype/User Interface (UI). An approach for developing activity model from the user interface model is presented using workflows and functional elements. A methodology is proposed to transform UI into activity diagram. The approach is validated by an experimental setup using Amazon service. The performance of Amazon service is assessed using activity based performance prediction methodology, and the simulation results are obtained using SMTQA.
基金the Aeronautics Science Foundation of China(No.2011ZD51055)Science and Technology on Reliability&Environmental Engineering Laboratory(No.302367)the National Pre-Research Foundation of China(No.51319080201)
文摘Robustness testing for safety-critical embedded software is still a challenge in its nascent stages. In this paper, we propose a practical methodology and implement an environment by employing model-based robustness testing for embedded software systems. It is a system-level black-box testing approach in which the fault behaviors of embedded software is triggered with the aid of modelbased fault injection by the support of an executable model-driven hardware-in-loop (HIL) testing environment. The prototype implementation of the robustness testing environment based on the proposed approach is experimentally discussed and illustrated by industrial case studies based on several avionics-embedded software systems. The results show that our proposed and implemented robustness testing method and environment are effective to find more bugs, and reduce burdens of testing engineers to enhance efficiency of testing tasks, especially for testing complex embedded systems.
基金The authors would like to thank anonymous reviewers for their helpful comments and suggestions. Special thanks to Raymond Cheng, Andrew Liu and Yuan Yao for their careful revisions. This work was supported by the National Natural Science Foundation of China under (Grant Nos. 91118004, 61232007), and the Innovation Program of Shanghai Municipal Education Commission (13ZZ023).
文摘Architectural modeling and behavior analysis are two important concerns in the software development. They are often implemented separately, and specified by their own supporting notations. Architectural modeling helps to guarantee the system design to satisfy the requirement, and behavior analysis can ensure the interaction correctness. To improve the trustworthiness, methods trying to combine architectural modeling and behavior analysis notations together have been proposed, e.g., establishing a one-way mapping relation. However, the one-way relation cannot ensure updating one notation specifications in accordance with the other one, which results in inconsistency problems. In this paper, we present an approach to integrating behavior analysis into architectural modeling, which establishes the interoperability between architectural modeling notation and behavior analysis notation by a bidirectional mapping. The architecture is specified by the modeling language, architecture analysis and design language (AADL), and then mapped to behavior analysis notation, Darwin/FSP (finite state process) through the bidirectional transformation. The bidirectional transformarion provides traceability, which makes behavior analysis result provided by a model checker can be traced and reflected back to the original AADL specifications. In this way, the behavior analysis is integrated into architectural modeling. The feasibility of our approach is shown by a control system example.
基金This work was supported by the National Natural Science Foundation of China(No.62372173).
文摘Software is a crucial component in the communication systems,and its security is of paramount importance.However,it is susceptible to different types of attacks due to potential vulnerabilities.Meanwhile,significant time and effort is required to fix such vulnerabilities.We propose an automated program repair method based on controlled text generation techniques.Specifically,we utilize a fine-tuned language model for patch generation and introduce a discriminator to evaluate the generation process,selecting results that contribute most to vulnerability fixes.Additionally,we perform static syntax analysis to expedite the patch verification process.The effectiveness of the proposed approach is validated using QuixBugs and Defects4J datasets,demonstrating significant improvements in generating correct patches compared to other existing methods.
文摘工程人员常通过对比设计软件与有限元软件的分析结果,以验算和校核结构设计的合理性。然而,由于软件分析内核的差异,设计软件与有限元软件之间的模型信息往往难以直接传递并转化。针对SAP2000结构设计分析软件向ANSYS有限元分析软件的模型转化问题,基于Python语言和APDL参数化设计语言,编译并开发了STAMT V1.0(SAP2000 To ANSYS Model Transformation V1.0)模型转化程序。相比已有转化程序,STAMT程序实现了更多单元类型、材料属性、截面类型、荷载形式的转化,提高了模型转化的通用性。其次,其涵盖了节点坐标系变换、梁单元坐标系变换、梁端自由度释放、创建刚性域等必备功能,进一步满足了模型转化过程中的功能性需求。然后,采用先建立几何模型后生成有限元模型的转化思路,实现了梁单元网格数量的自定义以及板壳荷载向梁的传递,软件操作界面简洁,便于工程人员的使用。最后,通过单层工业厂房和多层框架结构的两个算例分析,得到转化后模型的质量与原模型一致,前5阶周期的平均误差不超过3%,满足精度要求。研究分析验证了STAMT程序可实现SAP2000模型向ANSYS模型的准确、快速转化。