Model-Based Development has become an industry wide standard paradigm.As an open source alternative,Scilab/Xcos is being widely employed as a hybrid dynamic systems modeling tool.With the increasing efficiency in impl...Model-Based Development has become an industry wide standard paradigm.As an open source alternative,Scilab/Xcos is being widely employed as a hybrid dynamic systems modeling tool.With the increasing efficiency in implementation using graphical model development and code generation,the modeling and simulation community is struggling with assuring quality as well as maintainability and extendibility.Refactoring is defined as an evolutionary modernization activity where,most of the time,the structure of the artifact is changed to alter its quality characteristics,while keeping its behavior unchanged.It has been widely established as a technique for textual programming languages to improve the code structure and quality.While refactoring is also regarded as one of the key practices of model engineering,the methodologies and approaches for model refactoring are still under development.Architecture-Driven Modernization(ADM)has been introduced by the software engineering community as a model-based approach to software modernization,in which the implicit information that lies in software artifacts is extracted to models and model transformations are applied for modernization tasks.Regarding refactoring as a low level modernization task,the practices from ADM are adaptable.Accordingly,this paper proposes a model-based approach for model refactoring in order to come up with more efficient and effective model refactoring methodology that is accessible and extendable by modelers.Like other graphical modeling tools,Scilab/Xcos also possesses a formalized model specification conforming to its implicit metamodel.Rather than proposing another metamodel for knowledge extraction,this pragmatic approach proposes to conduct in place model-to-model transformations for refactoring employing the Scilab/Xcos model specification.To construct a structured model-based approach,the implicit Scilab/Xcos metamodel is explicitly presented utilizing ECORE as a meta-metamodel.Then a practical model transformation approach is established based on Scilab scripting.A Scilab toolset is provided to the modeler for in-place model-to-model transformations.Using a sample case study,it is demonstrated that proposed model transformation functions in Scilab provide a valuable refactoring tool.展开更多
This research extensively evaluates three leading mathematical software packages: Python, MATLAB, and Scilab, in the context of solving nonlinear systems of equations with five unknown variables. The study’s core obj...This research extensively evaluates three leading mathematical software packages: Python, MATLAB, and Scilab, in the context of solving nonlinear systems of equations with five unknown variables. The study’s core objectives include comparing software performance using standardized benchmarks, employing key performance metrics for quantitative assessment, and examining the influence of varying hardware specifications on software efficiency across HP ProBook, HP EliteBook, Dell Inspiron, and Dell Latitude laptops. Results from this investigation reveal insights into the capabilities of these software tools in diverse computing environments. On the HP ProBook, Python consistently outperforms MATLAB in terms of computational time. Python also exhibits a lower robustness index for problems 3 and 5 but matches or surpasses MATLAB for problem 1, for some initial guess values. In contrast, on the HP EliteBook, MATLAB consistently exhibits shorter computational times than Python across all benchmark problems. However, Python maintains a lower robustness index for most problems, except for problem 3, where MATLAB performs better. A notable challenge is Python’s failure to converge for problem 4 with certain initial guess values, while MATLAB succeeds in producing results. Analysis on the Dell Inspiron reveals a split in strengths. Python demonstrates superior computational efficiency for some problems, while MATLAB excels in handling others. This pattern extends to the robustness index, with Python showing lower values for some problems, and MATLAB achieving the lowest indices for other problems. In conclusion, this research offers valuable insights into the comparative performance of Python, MATLAB, and Scilab in solving nonlinear systems of equations. It underscores the importance of considering both software and hardware specifications in real-world applications. The choice between Python and MATLAB can yield distinct advantages depending on the specific problem and computational environment, providing guidance for researchers and practitioners in selecting tools for their unique challenges.展开更多
文摘Model-Based Development has become an industry wide standard paradigm.As an open source alternative,Scilab/Xcos is being widely employed as a hybrid dynamic systems modeling tool.With the increasing efficiency in implementation using graphical model development and code generation,the modeling and simulation community is struggling with assuring quality as well as maintainability and extendibility.Refactoring is defined as an evolutionary modernization activity where,most of the time,the structure of the artifact is changed to alter its quality characteristics,while keeping its behavior unchanged.It has been widely established as a technique for textual programming languages to improve the code structure and quality.While refactoring is also regarded as one of the key practices of model engineering,the methodologies and approaches for model refactoring are still under development.Architecture-Driven Modernization(ADM)has been introduced by the software engineering community as a model-based approach to software modernization,in which the implicit information that lies in software artifacts is extracted to models and model transformations are applied for modernization tasks.Regarding refactoring as a low level modernization task,the practices from ADM are adaptable.Accordingly,this paper proposes a model-based approach for model refactoring in order to come up with more efficient and effective model refactoring methodology that is accessible and extendable by modelers.Like other graphical modeling tools,Scilab/Xcos also possesses a formalized model specification conforming to its implicit metamodel.Rather than proposing another metamodel for knowledge extraction,this pragmatic approach proposes to conduct in place model-to-model transformations for refactoring employing the Scilab/Xcos model specification.To construct a structured model-based approach,the implicit Scilab/Xcos metamodel is explicitly presented utilizing ECORE as a meta-metamodel.Then a practical model transformation approach is established based on Scilab scripting.A Scilab toolset is provided to the modeler for in-place model-to-model transformations.Using a sample case study,it is demonstrated that proposed model transformation functions in Scilab provide a valuable refactoring tool.
文摘This research extensively evaluates three leading mathematical software packages: Python, MATLAB, and Scilab, in the context of solving nonlinear systems of equations with five unknown variables. The study’s core objectives include comparing software performance using standardized benchmarks, employing key performance metrics for quantitative assessment, and examining the influence of varying hardware specifications on software efficiency across HP ProBook, HP EliteBook, Dell Inspiron, and Dell Latitude laptops. Results from this investigation reveal insights into the capabilities of these software tools in diverse computing environments. On the HP ProBook, Python consistently outperforms MATLAB in terms of computational time. Python also exhibits a lower robustness index for problems 3 and 5 but matches or surpasses MATLAB for problem 1, for some initial guess values. In contrast, on the HP EliteBook, MATLAB consistently exhibits shorter computational times than Python across all benchmark problems. However, Python maintains a lower robustness index for most problems, except for problem 3, where MATLAB performs better. A notable challenge is Python’s failure to converge for problem 4 with certain initial guess values, while MATLAB succeeds in producing results. Analysis on the Dell Inspiron reveals a split in strengths. Python demonstrates superior computational efficiency for some problems, while MATLAB excels in handling others. This pattern extends to the robustness index, with Python showing lower values for some problems, and MATLAB achieving the lowest indices for other problems. In conclusion, this research offers valuable insights into the comparative performance of Python, MATLAB, and Scilab in solving nonlinear systems of equations. It underscores the importance of considering both software and hardware specifications in real-world applications. The choice between Python and MATLAB can yield distinct advantages depending on the specific problem and computational environment, providing guidance for researchers and practitioners in selecting tools for their unique challenges.