298,714 research outputs found

    Parallel Shooting Sequential Quadratic Programming for Nonlinear MPC Problems

    Full text link
    In this paper, we propose a parallel shooting algorithm for solving nonlinear model predictive control problems using sequential quadratic programming. This algorithm is built on a two-phase approach where we first test and assess sequential convergence over many initial trajectories in parallel. However, if none converge, the algorithm starts varying the Newton step size in parallel instead. Through this parallel shooting approach, it is expected that the number of iterations to converge to an optimal solution can be decreased. Furthermore, the algorithm can be further expanded and accelerated by implementing it on GPUs. We illustrate the effectiveness of the proposed Parallel Shooting Sequential Quadratic Programming (PS-SQP) method in some benchmark examples for nonlinear model predictive control. The developed PS-SQP parallel solver converges faster on average and especially when significant nonlinear behaviour is excited in the NMPC horizon.Comment: 7 pages, 6 figures, submitted and accepted for the 7th IEEE Conference on Control Technology and Applications (CCTA) 202

    Algorithm-Program Visualization Model : An Intergrated Software Visualzation To Support Novices' Programming Comprehension

    Get PDF
    Computer programming is the essential foundation for the other basic skills in Information Technology knowledge areas. Success in this field requires complex knowledge and skill. Mostly, conventional programming courses have been delivered based on the programming textbooks with professional developer tools which focus on the syntax or semantic through the coding task. The role of Software Visualization (SV) has been involved to overcome the complexity and problems in the learning programming. It represents the abstractness of the program in graphical views or illustrations of its entities. Nevertheless, the outcome of the learning still remains poor. Through multi-methodological approach, this research aimed to improve the effectiveness of the visualization as the program comprehension tool. It is found that the interrelated tasks in the programming process, with its various abstractions, and timing in delivering the feedback, need to be addressed with the equal attention in learning to program. Taking into account from those main issues, this study introduces the new model of integrated algorithm-program visualization (ALPROV) for developing program comprehension tool. This model is then to be used in the prototype tool development that is called 3De-ALPROV (Design Development Debug – Algorithm Program Visualization). The efficacy evaluation of the prototype is based on pre- and post- test of the students’ programming performance. The programming performances from the treatment and control group are compared to analyze the effect of using the proposed tool in learning programming. Respondents are first-year bachelor students who lack of programming knowledge and experience.Analysis proved that using the program comprehension tool, which has been developed using integrated ALPROV model significantly improved the treatment group’s programming performance. Conducting other experiments as the extended study, such as seek for a larger group of respondents, conduct the experiments throughout the necessary period, and use various methods for programming assessment and analysis may improve the findings of this research

    SAGA: Summarization-Guided Assert Statement Generation

    Full text link
    Generating meaningful assert statements is one of the key challenges in automated test case generation, which requires understanding the intended functionality of the tested code. Recently, deep learning-based models have shown promise in improving the performance of assert statement generation. However, existing models only rely on the test prefixes along with their corresponding focal methods, yet ignore the developer-written summarization. Based on our observations, the summarization contents usually express the intended program behavior or contain parameters that will appear directly in the assert statement. Such information will help existing models address their current inability to accurately predict assert statements. This paper presents a novel summarization-guided approach for automatically generating assert statements. To derive generic representations for natural language (i.e., summarization) and programming language (i.e., test prefixes and focal methods), we leverage a pre-trained language model as the reference architecture and fine-tune it on the task of assert statement generation. To the best of our knowledge, the proposed approach makes the first attempt to leverage the summarization of focal methods as the guidance for making the generated assert statements more accurate. We demonstrate the effectiveness of our approach on two real-world datasets when compared with state-of-the-art models.Comment: Preprint, to appear in the Journal of Computer Science and Technology (JCST

    Modeling and Testing of Aspect-Oriented Systems

    Get PDF
    Aspect-Oriented programming modularizes crosscutting concerns into Aspects, which are automatically weaved to the specified points of a program. Although Aspect-Oriented programming improves program maintainability and the encapsulation of crosscutting concerns, it also breaks some traditional programming rules due to the weaving mechanism. Therefore, a new software testing approach has to be developed to rigorously test Aspect-Oriented programs. In this thesis, we introduce the concept of Aspect modeling and Aspect testing and then proceed to our investigation of a model-based incremental approach for testing Aspect-Oriented programs. First, a state machine model in UML is created for each Aspect and each base class, which is the class to be weaved with the aspect. Then each individual aspect or base class is tested using the test cases generated from state machine models. A combined state machine model is established by weaving the aspect model into the base class model. Finally, we perform a test on the woven program using test cases generated from the combined state machine model. Because the number of scenarios for weaving aspects and base classes could be very large, it may require a huge number of test cases to effectively test the program. To speed up the process, we propose a prioritizing strategy for selecting test cases in order to find errors sooner since different test cases have different capacity for tracking errors. We demonstrate that the test cases generated from the state machine model have to satisfy the adequacy of the transition coverage, the round-trip coverage, and the state coverage in the state machine model. Furthermore, the prioritizing strategy is developed based on the number of changes brought by weaving of an aspect and its base classes. The test case including more changes will have a higher priority. The effectiveness of the investigated strategy is evaluated through the case study and the mutation testing. The result of case study shows that the model-based incremental approach integrated with prioritizing test case selection provides an effective tool for testing large-scale Aspect-Oriented systems.  M.S

    Decision Making in the Medical Domain: Comparing the Effectiveness of GP-Generated Fuzzy Intelligent Structures

    Get PDF
    ABSTRACT: In this work, we examine the effectiveness of two intelligent models in medical domains. Namely, we apply grammar-guided genetic programming to produce fuzzy intelligent structures, such as fuzzy rule-based systems and fuzzy Petri nets, in medical data mining tasks. First, we use two context-free grammars to describe fuzzy rule-based systems and fuzzy Petri nets with genetic programming. Then, we apply cellular encoding in order to express the fuzzy Petri nets with arbitrary size and topology. The models are examined thoroughly in four real-world medical data sets. Results are presented in detail and the competitive advantages and drawbacks of the selected methodologies are discussed, in respect to the nature of each application domain. Conclusions are drawn on the effectiveness and efficiency of the presented approach

    Improving the viability of mental models held by novice programmers

    Get PDF
    Recent research has found that many novice programmers often hold non-viable mental models of basic programming concepts such as assignment and object reference. This paper proposes a constructivist-based teaching model, integrating a cognitive conflict strategy with program visualization, with the aim of improving novice programmers’ mental models. The results of a preliminary empirical study suggest that, for the relatively straightforward concept of assignment, tight integration of program visualization with a cognitive conflict event that highlights a student’s inappropriate understanding can help improve students’ non-viable mental models. 14 out of 18 participants who held non-viable mental models of the assignment process successfully changed their model to be viable as a result of the proposed teaching model

    The Effectiveness of Implementation Flipped Classroom Strategy on Academic Achievement to Learn Programming in a Computer Subject

    Get PDF
    The study aimed to identify the effectiveness of applying Flipped Classroom Strategy on academic achievement to learn the programming skill in the computer subject at Bloom\u27s Taxonomy (Analysis, Installation, and Evaluation). The research used quasi-experimental approach. the researchers designed \u27Achievement test \u27. The sample consisted of (48) student, from the First Secondary Grade students in Alshifa secondary school in Riyadh. The research sample was divided into (experimental and Control). The results are: There is differences of statistical significance for the experimental group at levels (Analysis, Installation, and Overall test), and did not show the differentials of statistical significance at (Evaluation level). The Study Recommendations are: Encourage Teachers of computer material to apply Flipped classroom strategy in their teaching, and provide technical support for teachers in schools; for the design of digital content
    • …
    corecore