From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are ...From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are not objects, etc. So, this paper designs a programming language, Shrek, which integrates many language features and constructions in a compact and consistent model. The Shrek language is a class-based purely object-oriented language. It has a dynamical strong type system, and adopts a single-inheritance mechanism with Mixin as its complement. It has a consistent class instantiation and inheritance structure, and the ability of intercessive structural computational reflection, which enables it to support safe metaclass programming. It also supports multi-thread programming and automatic garbage collection, and enforces its expressive power by adopting a native method mechanism. The prototype system of the Shrek language is implemented and anticipated design goals are achieved.展开更多
The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes libra...The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes library of finite element analysis program and Windows-type Graphical User Interfaces by VC + + and its MFC are developed. The reliability, reusability and extensibility of program are enhanced. It is a reference to develop the large-scale, versatile and powerful systems of object-oriented finite element software.展开更多
In this paper, at first, the single input rule modules(SIRMs) dynamically connected fuzzy inference model is used to stabilize a double inverted pendulum system. Then, a multiobjective particle swarm optimization(MOPS...In this paper, at first, the single input rule modules(SIRMs) dynamically connected fuzzy inference model is used to stabilize a double inverted pendulum system. Then, a multiobjective particle swarm optimization(MOPSO) is implemented to optimize the fuzzy controller parameters in order to decrease the distance error of the cart and summation of the angle errors of the pendulums, simultaneously. The feasibility and efficiency of the proposed Pareto front is assessed in comparison with results reported in literature and obtained from other algorithms.Finally, the Java programming with applets is utilized to simulate the stability of the nonlinear system and explain the internetbased control.展开更多
Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of ob...Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of object-oriented programs can be improved. There are automated detection techniques;however, many existing techniques are based on static analysis and use strict conditions composed on class structure data. Hence, it is difficult for them to detect and distinguish design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. To solve these problems in existing techniques, we propose a design pattern detection technique using source code metrics and machine learning. Our technique judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. As a result of experimental evaluations with a set of programs, we confirmed that our technique is more accurate than two conventional techniques.展开更多
Java programming language is a major . new development which involves object-oriented programming and computer networking. Here, several examples of Java programs are presented. These examples show some major features...Java programming language is a major . new development which involves object-oriented programming and computer networking. Here, several examples of Java programs are presented. These examples show some major features that Java language provides, such as multi-thread, exception handling, network application writing, and the usage of Java applets. This article also shows some ways of setting up a Java language programming environment. All these examples are correct and ready to run.展开更多
This paper presents a graph-based grading system for Java introductory programming courses, eGrader. This system grades submission both dynamically and statically to ensure a complete and through grading job. While dy...This paper presents a graph-based grading system for Java introductory programming courses, eGrader. This system grades submission both dynamically and statically to ensure a complete and through grading job. While dynamic analysis is based on JUnit framework, the static analysis is based on the graph representation of the program and its quality which is measured by software metrics. The graph representation is based on the Control Dependence Graphs (CDG) and Method Call Dependencies (MCD). eGrader outperforms existing systems in two ways: the ability of grading submission with semantic-errors, effectively, and generating reports for students, as a feedback on their performance, and instructors on the overall performance of the class. eGrader is well received by instructors not only for saving time and effort but also for its high success rate that is measured by four performance indicators which are sensitivity (97.37%), specificity (98.1%), precision (98.04%) and accuracy (97.07%).展开更多
UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual...UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual requirements on the basis of Natural Language Processing(NLP)and mapping rules for sentence pattern matching.First,classes are identified through entity recognition rules and candidate class pruning rules using NLP from requirements.Second,class attributes and relationships between classes are extracted using mapping rules for sentence pattern matching on the basis of NLP.Third,we developed an assistant tool integrated into a precision micro classroom system for automatic generation of class diagram,to effectively assist the teaching of object-oriented design and programing course.Results are evaluated with precision,accuracy and recall from eight requirements of object-oriented design and programing course using truth values created by teachers.Our research should benefit beginners of object-oriented design and programing course,who may be students or software developers.It helps them to create correct domain models represented in the UML class diagram.展开更多
Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detecti...Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.展开更多
In view of the current situation that offline teaching is the main mode of teaching Java Programming in higher vocational schools,this paper introduces the online and offline hybrid teaching method and expounds it fro...In view of the current situation that offline teaching is the main mode of teaching Java Programming in higher vocational schools,this paper introduces the online and offline hybrid teaching method and expounds it from the aspects of blended learning design,teaching organization,and implementation.At the same time,combined with the characteristics of blended learning,this paper proposes that under the new mode,teachers should actively change the form of teaching and research,the teaching mode,and the role of teachers,take students as the center,and build an independent and effective classroom.展开更多
Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has succ...Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has successfully achieved cross link to offer much better flexibility and two-way link to realize forward and backward searching in hypermedia system navigation.A conditional relation on links has also been realized,that is very helpful for time sensitive multimedia information processing and multimedia object cooperation.展开更多
To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented progra...To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented programming. Combined with the computer graphicstechnology, the visual simulation of cold roll-forming is completed and the system is established.By analyzing common channel steel, the process is shown and explained including theory method, modeland result display. So the simulation system is already a kind of mature and effective tool toanalyze the process of cold roll forming.展开更多
In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat t...In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat treatment simulation was explored. The framework of simulating programs was outlined. The main C++ classes were developed, some important member functions were implemented. The present research work shows that using object-oriented method can greatly reduce the amount of coding. The programs are clear in conception, easy to test, modify and expand. By using the methodology introduced in this paper, one heat treatment process three dimensional simulation tool was developed.展开更多
This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class ...This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class hierarchy structure of object-oriented finite element structural analysis, and gives a part C+ + code description.展开更多
基金The National Science Fund for Distinguished Young Scholars (No.60425206)the National Natural Science Foundation of China (No.60633010)the Natural Science Foundation of Jiangsu Province(No.BK2006094)
文摘From a perspective of theoretical study, there are some faults in the models of the existing object-oriented programming languages. For example, C# does not support metaclasses, the primitive types of Java and C# are not objects, etc. So, this paper designs a programming language, Shrek, which integrates many language features and constructions in a compact and consistent model. The Shrek language is a class-based purely object-oriented language. It has a dynamical strong type system, and adopts a single-inheritance mechanism with Mixin as its complement. It has a consistent class instantiation and inheritance structure, and the ability of intercessive structural computational reflection, which enables it to support safe metaclass programming. It also supports multi-thread programming and automatic garbage collection, and enforces its expressive power by adopting a native method mechanism. The prototype system of the Shrek language is implemented and anticipated design goals are achieved.
文摘The design of finite element analysis program using object-oriented programming (OOP) techniques is presented. The objects, classes and the subclasses used in the programming are explained. The system of classes library of finite element analysis program and Windows-type Graphical User Interfaces by VC + + and its MFC are developed. The reliability, reusability and extensibility of program are enhanced. It is a reference to develop the large-scale, versatile and powerful systems of object-oriented finite element software.
文摘In this paper, at first, the single input rule modules(SIRMs) dynamically connected fuzzy inference model is used to stabilize a double inverted pendulum system. Then, a multiobjective particle swarm optimization(MOPSO) is implemented to optimize the fuzzy controller parameters in order to decrease the distance error of the cart and summation of the angle errors of the pendulums, simultaneously. The feasibility and efficiency of the proposed Pareto front is assessed in comparison with results reported in literature and obtained from other algorithms.Finally, the Java programming with applets is utilized to simulate the stability of the nonlinear system and explain the internetbased control.
文摘Detecting well-known design patterns in object-oriented program source code can help maintainers understand the design of a program. Through the detection, the understandability, maintainability, and reusability of object-oriented programs can be improved. There are automated detection techniques;however, many existing techniques are based on static analysis and use strict conditions composed on class structure data. Hence, it is difficult for them to detect and distinguish design patterns in which the class structures are similar. Moreover, it is difficult for them to deal with diversity in design pattern applications. To solve these problems in existing techniques, we propose a design pattern detection technique using source code metrics and machine learning. Our technique judges candidates for the roles that compose design patterns by using machine learning and measurements of several metrics, and it detects design patterns by analyzing the relations between candidates. It suppresses false negatives and distinguishes patterns in which the class structures are similar. As a result of experimental evaluations with a set of programs, we confirmed that our technique is more accurate than two conventional techniques.
文摘Java programming language is a major . new development which involves object-oriented programming and computer networking. Here, several examples of Java programs are presented. These examples show some major features that Java language provides, such as multi-thread, exception handling, network application writing, and the usage of Java applets. This article also shows some ways of setting up a Java language programming environment. All these examples are correct and ready to run.
文摘This paper presents a graph-based grading system for Java introductory programming courses, eGrader. This system grades submission both dynamically and statically to ensure a complete and through grading job. While dynamic analysis is based on JUnit framework, the static analysis is based on the graph representation of the program and its quality which is measured by software metrics. The graph representation is based on the Control Dependence Graphs (CDG) and Method Call Dependencies (MCD). eGrader outperforms existing systems in two ways: the ability of grading submission with semantic-errors, effectively, and generating reports for students, as a feedback on their performance, and instructors on the overall performance of the class. eGrader is well received by instructors not only for saving time and effort but also for its high success rate that is measured by four performance indicators which are sensitivity (97.37%), specificity (98.1%), precision (98.04%) and accuracy (97.07%).
基金This work is supported by the Collaborative education project of QST Innovation Technology Group Co.,Ltd and the Ministry of Education of PRC(NO.201801243022).
文摘UML Class diagram generation from textual requirements is an important task in object-oriented design and programing course.This study proposes a method for automatically generating class diagrams from Chinese textual requirements on the basis of Natural Language Processing(NLP)and mapping rules for sentence pattern matching.First,classes are identified through entity recognition rules and candidate class pruning rules using NLP from requirements.Second,class attributes and relationships between classes are extracted using mapping rules for sentence pattern matching on the basis of NLP.Third,we developed an assistant tool integrated into a precision micro classroom system for automatic generation of class diagram,to effectively assist the teaching of object-oriented design and programing course.Results are evaluated with precision,accuracy and recall from eight requirements of object-oriented design and programing course using truth values created by teachers.Our research should benefit beginners of object-oriented design and programing course,who may be students or software developers.It helps them to create correct domain models represented in the UML class diagram.
文摘Structural development defects essentially refer to code structure that violates object-oriented design principles. They make program maintenance challenging and deteriorate software quality over time. Various detection approaches, ranging from traditional heuristic algorithms to machine learning methods, are used to identify these defects. Ensemble learning methods have strengthened the detection of these defects. However, existing approaches do not simultaneously exploit the capabilities of extracting relevant features from pre-trained models and the performance of neural networks for the classification task. Therefore, our goal has been to design a model that combines a pre-trained model to extract relevant features from code excerpts through transfer learning and a bagging method with a base estimator, a dense neural network, for defect classification. To achieve this, we composed multiple samples of the same size with replacements from the imbalanced dataset MLCQ1. For all the samples, we used the CodeT5-small variant to extract features and trained a bagging method with the neural network Roberta Classification Head to classify defects based on these features. We then compared this model to RandomForest, one of the ensemble methods that yields good results. Our experiments showed that the number of base estimators to use for bagging depends on the defect to be detected. Next, we observed that it was not necessary to use a data balancing technique with our model when the imbalance rate was 23%. Finally, for blob detection, RandomForest had a median MCC value of 0.36 compared to 0.12 for our method. However, our method was predominant in Long Method detection with a median MCC value of 0.53 compared to 0.42 for RandomForest. These results suggest that the performance of ensemble methods in detecting structural development defects is dependent on specific defects.
基金This study was supported by the General Project of Ganzhou Social Science Research in 2021-Research on the Transformation of Teaching and Research Form of Professional Teachers in the Blending Learning Mode of Colleges and Universities-Taking the Course“Java Programming”as an Example(Project Number:2021-028-0323).
文摘In view of the current situation that offline teaching is the main mode of teaching Java Programming in higher vocational schools,this paper introduces the online and offline hybrid teaching method and expounds it from the aspects of blended learning design,teaching organization,and implementation.At the same time,combined with the characteristics of blended learning,this paper proposes that under the new mode,teachers should actively change the form of teaching and research,the teaching mode,and the role of teachers,take students as the center,and build an independent and effective classroom.
文摘Presents an object-oriented NBO(node-block-object)data model for hypermedia system.It takes advantage of object-oriented method,encapsulates all multimedia information as well as link functions in one unit,It has successfully achieved cross link to offer much better flexibility and two-way link to realize forward and backward searching in hypermedia system navigation.A conditional relation on links has also been realized,that is very helpful for time sensitive multimedia information processing and multimedia object cooperation.
基金This project is supported by Provincial Natural Science Foundation of Hebei (No.502214).
文摘To simulate the process of cold roll-forming process, a new method isadopted. The theoretical foundation of this method is an elastic-plastic large deformation splinefinite strip method based on object-oriented programming. Combined with the computer graphicstechnology, the visual simulation of cold roll-forming is completed and the system is established.By analyzing common channel steel, the process is shown and explained including theory method, modeland result display. So the simulation system is already a kind of mature and effective tool toanalyze the process of cold roll forming.
文摘In this paper, mathematical models and FEA formulation for implementing heat treatment process simulation were given out. The various coupling effects were treated. The object-oriented methodology of developing heat treatment simulation was explored. The framework of simulating programs was outlined. The main C++ classes were developed, some important member functions were implemented. The present research work shows that using object-oriented method can greatly reduce the amount of coding. The programs are clear in conception, easy to test, modify and expand. By using the methodology introduced in this paper, one heat treatment process three dimensional simulation tool was developed.
文摘This paper describes the object-oriented implementational method of finite element structural analysis, gives the basic concepts of the object-oriented method and objectoriented programming, develops a complete class hierarchy structure of object-oriented finite element structural analysis, and gives a part C+ + code description.