Learning programming and using programming languages are the essential aspects of computer science education.Students use programming languages to write their programs.These computer programs(students or practitioners...Learning programming and using programming languages are the essential aspects of computer science education.Students use programming languages to write their programs.These computer programs(students or practitioners written)make computers artificially intelligent and perform the tasks needed by the users.Without these programs,the computer may be visioned as a pointless machine.As the premise of writing programs is situated with specific programming languages,enormous efforts have been made to develop and create programming languages.However,each program-ming language is domain-specific and has its nuances,syntax and seman-tics,with specific pros and cons.These language-specific details,including syntax and semantics,are significant hurdles for novice programmers.Also,the instructors of introductory programming courses find these language specificities as the biggest hurdle in students learning,where more focus is on syntax than logic development and actual implementation of the program.Considering the conceptual difficulty of programming languages and novice students’struggles with the language syntax,this paper describes the design and development of a Context-Free Grammar(CFG)of a programming language for the novice,newcomers and students who do not have computer science as their major.Due to its syntax proximity to daily conversations,this paper hypothesizes that this language will be easy to use and understand by novice programmers.This paper systematically designed the language by identifying themes from various existing programming languages(e.g.,C,Python).Additionally,this paper surveyed computer science experts from industry and academia,where experts self-reported their satisfaction with the newly designed language.The results indicate that 93%of the experts reported satisfaction with the NewBee for novice,newcomer and non-Computer Sci-ence(CS)major students.展开更多
The current financial education framework has an increasing need to introduce tools that facilitate the application of theoretical models to real-world data and contexts.However,only a limited number of free tools are...The current financial education framework has an increasing need to introduce tools that facilitate the application of theoretical models to real-world data and contexts.However,only a limited number of free tools are available for this purpose.Given this lack of tools,the present study provides two approaches to facilitate the implementa-tion of an event study.The first approach consists of a set of MS Excel files based on the Fama–French five-factor model,which allows the application of the event study methodology in a semi-automatic manner.The second approach is an open-source R-programmed tool through which results can be obtained in the context of an event study without the need for programming knowledge.This tool widens the calculus possibilities provided by the first approach and offers the option to apply not only the Fama–French five-factor model but also other models that are common in the finan-cial literature.It is a user-friendly tool that enables reproducibility of the analysis and ensures that the calculations are free of manipulation errors.Both approaches are freely available and ready-to-use.展开更多
This paper analyzes some problems of the current teaching situation in the course High-level Programming Language,such as the lagging content of the course compared with technology development,the emphasis on theory r...This paper analyzes some problems of the current teaching situation in the course High-level Programming Language,such as the lagging content of the course compared with technology development,the emphasis on theory rather than on practice,the low enthusiasm of students for learning,and the weak practical ability of students.In response to the needs of enterprises for talents under the background of New Engineering,especially the cultivation of students’adaptability and practical abilities towards future industries to improve students’knowledge and problemsolving abilities to keep up with the modern technology,this paper proposes the ways and methods to reform and explore the teaching content and teaching methods by integrating industry and education,assisting teaching according to industrial demands,and lowering technology barriers of new technology.The practical effect is evaluated through a survey in class and the follow-up questionnaire after class,and the results show that the effect of the practice is effective.展开更多
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.展开更多
AOPLID is a novel agent oriented programming language whose theoretical framework is the existed situation calculus theory and agent model based on intention driven manner. An AOPLID program is represented in set ma...AOPLID is a novel agent oriented programming language whose theoretical framework is the existed situation calculus theory and agent model based on intention driven manner. An AOPLID program is represented in set manner. In this paper, an off line AOPLID interpreter in Prolog is implemented, based on the off line AOPLID program semantics. At the same time, the set of rules is given which transforms an AOPLID program represented by sets into Prolog clauses so that it can be interpreted by the off line interpreter. Finally, the sound codes of the off line interpreter are listed.展开更多
Business process execution language(BPEL)is a most recognized standard workflow language.However,it is difficult to be used in the ubiquitous system computing environment because it is difficult to describe the contex...Business process execution language(BPEL)is a most recognized standard workflow language.However,it is difficult to be used in the ubiquitous system computing environment because it is difficult to describe the context information in the selection of the flow through the branch.To solve this problem,we propose a new BPEL workflow system with context-awareness by using aspect-oriented programming(AOP).This system is composed of a BPEL system module and a weaving module using AOP for context-aware.The BPEL system module generates a BPEL workflow program.And the weaving module converts a context-aware mark-up language(CAML)document to the aspect-oriented program that is applied to context-aware code without modification of the existing BPEL document.We also define a new document form that is called CAML,which provides a context-aware that is not available in BPEL.The system can generate a context-aware workflow program.It is developed in a way that inserts context information using AOP to provide context-aware services.展开更多
The paper presents an analysis of computer programming languages based on the semiotics of Charles S. Peirce. The author describes how such languages could evolve in order to achieve some of the expressive characteris...The paper presents an analysis of computer programming languages based on the semiotics of Charles S. Peirce. The author describes how such languages could evolve in order to achieve some of the expressive characteristics of natural languages. This description evinces otherwise unnoticed differences between natural languages and programming languages, showing that Peircean semiotics is an efficient analysis tool. This suggests further research on the technical features needed to implement an easier way to program computers.展开更多
<div style="text-align:justify;"> <span style="font-family:Verdana;">Though many different readability metrics have been created, there still is no universal agreement defining readabil...<div style="text-align:justify;"> <span style="font-family:Verdana;">Though many different readability metrics have been created, there still is no universal agreement defining readability of software source code. The lack of a clear agreement of source code readability has ramifications in many areas of the software development life-cycle, not least of which being software maintainability. We propose a measurement based on Linguistic Economy to bridge the gap between mathematical and behavioral aspects. Linguistic Economy describes efficiencies of speech and is generally applied to natural languages. In our study, we create a large corpus of words that are likely to be found in a programmer’s vocabulary, and a corpus of existing identifiers found in a collection of open-source projects. We perform a usage analysis to create a database from both of these corpora. Linguistic Economy suggests that words requiring less effort to speak are used more often than words requiring more effort. This concept is applied to measure how difficult program identifiers are to understand by extracting them from the program source and comparing their usage to the database. Through this process, we can identify source code that programmers find difficult to review. We validate our work using data from a survey where programmers identified unpleasant to review source files. The results indicate that source files identified as unpleasant to review source code have more linguistically complicated identifiers than pleasant programs.</span> </div>展开更多
Data are limitless. But those are usually not formed or created in our needs. Most of data providers deliver their data in Microsoft Excel spreadsheet, which is compatible with ArcGIS, the most widely used GIS (Geogr...Data are limitless. But those are usually not formed or created in our needs. Most of data providers deliver their data in Microsoft Excel spreadsheet, which is compatible with ArcGIS, the most widely used GIS (Geographic Information System) software in GIS sector. However, those table data contain much unnecessary information that do not need for a certain project. Using the raw data can increase processing times and reduce performance of geoprocessing tools. This study shows steps of how the raw data are being processed using ArcGIS ModelBuilder and Python script.展开更多
<span style="font-family:Verdana;">Students face difficulties in programming languages learning (PLL) which encourages many scholars to investigate the factors behind that. Although there a number of p...<span style="font-family:Verdana;">Students face difficulties in programming languages learning (PLL) which encourages many scholars to investigate the factors behind that. Although there a number of positive and negative factors found to be effective in PLL procedure, utilising online tools in PLL were recognized as a positive recommended means. This motivates many researchers to provide solutions and proposals which result in a number of choices and options. However, categorising those efforts and showing what has been done, would provide a better and clear image for future studies. Therefore, this paper aims to conduct a systematic literature review to show what studies have been done and then categorise them based on the type of online tools and the aims of the research. The study follows Kitchenham and Charters guidelines for writing SLR (Systematic Literature Review). The search result reached 1390 publications between 2013-09/2018. After the filtration which has been done through selected criteria, 160 publications were found to be adequate to answer the review questions. The main results of this systematic review are categorizing the aims of the studies in online PLL tools, classifying the tools and finding the current trends of the online PLL tools.</span>展开更多
C Language is a basic programming language and a compulsory foundation course for majors of science and engineering. Subjected to teaching periods,students have no time to do enough concrete integrated exercises. In t...C Language is a basic programming language and a compulsory foundation course for majors of science and engineering. Subjected to teaching periods,students have no time to do enough concrete integrated exercises. In teaching of C programming language design, both teachers and students have some problems. On the one hand teachers should change their teaching ideology, on the other hand,students should spontaneously study and improve their study motivation. In this way, students will improve their programming ability and apply what they learn comprehensively.展开更多
Initial teacher preparation and teachers’ continuing professional development are two significant pillars of the teacher education enterprise. The former encompasses a wide range of teachereducation initiatives at th...Initial teacher preparation and teachers’ continuing professional development are two significant pillars of the teacher education enterprise. The former encompasses a wide range of teachereducation initiatives at the levels of diploma, bachelor’s degree, postgraduate diploma, and even master’s degree for teacher licensure purposes. These are widely documented in the literature.What is important is how teacher professional development contributes to bolstering the teachereducator force, which is relatively insufficiently documented due to the very fact that different educational systems have somewhat different expectations of such programs in relation to the ideologies and theories underpinning the teacher professional development program design and curriculum offering. Taking stock of a postgraduate diploma program in English language teaching(PGDELT) for teachers’ continuing professional development with a 31-year history housed at a premier teacher education institution in Singapore, which has successfully graduated over 1, 000 English language teachers for colleges and universities in China, I intend to highlight some of its key features, as a former student and then a lecturer on the program, in order to draw implications for sustainable growth of language teacher education programs, especially those whose main purposes are to prepare teachers of English as a second or foreign language(ESL/EFL) and provide continuing professional development opportunities for such inservice teachers.展开更多
Aspect-oriented programs have received much attention from software testing researchers. Various testing techniques and approaches have been proposed to tackle issues and challenges when testing aspect-oriented progra...Aspect-oriented programs have received much attention from software testing researchers. Various testing techniques and approaches have been proposed to tackle issues and challenges when testing aspect-oriented programs including traditional mutation testing. In traditional mutation testing of aspect-oriented programs, mutants are generated by making small changes to the syntax of the aspect-oriented language. Recently, a new approach known as semantic mutation testing has been proposed. This approach mutates the semantics of the language in which the program is written. The mutants generated misunderstandings of the language which are different classes of faults. Aspect-oriented programming presents itself with different properties that can be further explored with respect to semantic mutation testing. This paper describes various possible scenarios that semantic mutation testing strategy might have particular value in testing aspect-oriented programs.展开更多
Due to the increasing broadband Internet access, VOIP adoption as well as the Web 2.0 concepts, online language learning communities have gained great popularity among adult language learners. Based upon Malcolm Knowl...Due to the increasing broadband Internet access, VOIP adoption as well as the Web 2.0 concepts, online language learning communities have gained great popularity among adult language learners. Based upon Malcolm Knowles' adult learning theory, this paper analyzes the innovation that online language learning communities have brought to adult language learning programs. At the same time, the limitations of such programs have been pointed out.展开更多
Agent-oriented programming (AOP) is a framework to develop agents, and it aims to link the gap betweentheory and practical in agent research. The core of an AOP framework is its language and semantics. In this paper,w...Agent-oriented programming (AOP) is a framework to develop agents, and it aims to link the gap betweentheory and practical in agent research. The core of an AOP framework is its language and semantics. In this paper,we propose the necessary properties which agents should have, and then give a summary and analysis about differentAOP languages based on these properties.展开更多
A support vector rule based method is investigated for the construction of motion controllers via natural language training. It is a two-phase process including motion control information collection from natural langu...A support vector rule based method is investigated for the construction of motion controllers via natural language training. It is a two-phase process including motion control information collection from natural language instructions, and motion information condensation with the aid of support vector machine (SVM) theory. Self-organizing fuzzy neural networks are utilized for the collection of control rules, from which support vector rules are extracted to form a final controller to achieve any given control accuracy. In this way, the number of control rules is reduced, and the structure of the controller tidied, making a controller constructed using natural language training more appropriate in practice, and providing a fundamental rule base for high-level robot behavior control. Simulations and experiments on a wheeled robot are carried out to illustrate the effectiveness of the method.展开更多
To solve the identification and comprehension problem of crosscutting concerns in existing legacy software system, a framework of aspect-oriented software reveme engineering is proposed. An approach on re-modularizing...To solve the identification and comprehension problem of crosscutting concerns in existing legacy software system, a framework of aspect-oriented software reveme engineering is proposed. An approach on re-modularizing traversal features of legacy system is presented based on various unified modeling language (UML) diagrams. While modeling crosscutting concerns in UML use case diagrams, the non-functional requirements that affect several use case modules can be enveloped into aspect modules with a stereotype mechanism. The recurring message transmission patterns can be re-modularized as aspects in UML sequence diagrams with UML collaborations. Standard UML activity diagram notations are extended and modified by node fusion and addition, which support the graphical composition operation between crosscutting behaviors and primary business roles of concurrent systems. Case study indicates that travernal features of software system can be extracted and re-modularized from various perspectives in aspect-oriented reverse engineering, which improves comprehensibility and maintainability of legacy systems.展开更多
Deep learning accelerators(DLAs)have been proved to be efficient computational devices for processing deep learning algorithms.Various DLA architectures are proposed and applied to different applications and tasks.How...Deep learning accelerators(DLAs)have been proved to be efficient computational devices for processing deep learning algorithms.Various DLA architectures are proposed and applied to different applications and tasks.However,for most DLAs,their programming interfaces are either difficult to use or not efficient enough.Most DLAs require programmers to directly write instructions,which is time-consuming and error-prone.Another prevailing programming interface for DLAs is high-performance libraries and deep learning frameworks,which are easy to be used and very friendly to users,but their high abstraction level limits their control capacity over the hardware resources thus compromises the efficiency of the accelerator.A design of the programming interface is for DLAs.First various existing DLAs and their programming methods are analyzed and a methodology for designing programming interface for DLAs is proposed,which is a high-level assembly language(called DLA-AL),assembler and runtime for DLAs.DLA-AL is composed of a low-level assembly language and a set of high-level blocks.It allows experienced experts to fully exploit the potential of DLAs and achieve near-optimal performance.Meanwhile,by using DLA-AL,end-users who have little knowledge of the hardware are able to develop deep learning algorithms on DLAs spending minimal programming efforts.展开更多
基金supported by the startup fund provided to Dr.Saira Anwar by Texas A&M University,College Station,USA.Any opinions,findings,conclusion,or recommendations expressed in this material do not necessarily reflect those of Texas A&M University。
文摘Learning programming and using programming languages are the essential aspects of computer science education.Students use programming languages to write their programs.These computer programs(students or practitioners written)make computers artificially intelligent and perform the tasks needed by the users.Without these programs,the computer may be visioned as a pointless machine.As the premise of writing programs is situated with specific programming languages,enormous efforts have been made to develop and create programming languages.However,each program-ming language is domain-specific and has its nuances,syntax and seman-tics,with specific pros and cons.These language-specific details,including syntax and semantics,are significant hurdles for novice programmers.Also,the instructors of introductory programming courses find these language specificities as the biggest hurdle in students learning,where more focus is on syntax than logic development and actual implementation of the program.Considering the conceptual difficulty of programming languages and novice students’struggles with the language syntax,this paper describes the design and development of a Context-Free Grammar(CFG)of a programming language for the novice,newcomers and students who do not have computer science as their major.Due to its syntax proximity to daily conversations,this paper hypothesizes that this language will be easy to use and understand by novice programmers.This paper systematically designed the language by identifying themes from various existing programming languages(e.g.,C,Python).Additionally,this paper surveyed computer science experts from industry and academia,where experts self-reported their satisfaction with the newly designed language.The results indicate that 93%of the experts reported satisfaction with the NewBee for novice,newcomer and non-Computer Sci-ence(CS)major students.
基金the Secretaria d’Universitats i Recerca del Departament d’Empresa i Coneixement of the Catalan government,and to Universitat Ramon Llull for their financial support.The financial support for this work did not influence its outcome.
文摘The current financial education framework has an increasing need to introduce tools that facilitate the application of theoretical models to real-world data and contexts.However,only a limited number of free tools are available for this purpose.Given this lack of tools,the present study provides two approaches to facilitate the implementa-tion of an event study.The first approach consists of a set of MS Excel files based on the Fama–French five-factor model,which allows the application of the event study methodology in a semi-automatic manner.The second approach is an open-source R-programmed tool through which results can be obtained in the context of an event study without the need for programming knowledge.This tool widens the calculus possibilities provided by the first approach and offers the option to apply not only the Fama–French five-factor model but also other models that are common in the finan-cial literature.It is a user-friendly tool that enables reproducibility of the analysis and ensures that the calculations are free of manipulation errors.Both approaches are freely available and ready-to-use.
文摘This paper analyzes some problems of the current teaching situation in the course High-level Programming Language,such as the lagging content of the course compared with technology development,the emphasis on theory rather than on practice,the low enthusiasm of students for learning,and the weak practical ability of students.In response to the needs of enterprises for talents under the background of New Engineering,especially the cultivation of students’adaptability and practical abilities towards future industries to improve students’knowledge and problemsolving abilities to keep up with the modern technology,this paper proposes the ways and methods to reform and explore the teaching content and teaching methods by integrating industry and education,assisting teaching according to industrial demands,and lowering technology barriers of new technology.The practical effect is evaluated through a survey in class and the follow-up questionnaire after class,and the results show that the effect of the practice is effective.
基金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.
文摘AOPLID is a novel agent oriented programming language whose theoretical framework is the existed situation calculus theory and agent model based on intention driven manner. An AOPLID program is represented in set manner. In this paper, an off line AOPLID interpreter in Prolog is implemented, based on the off line AOPLID program semantics. At the same time, the set of rules is given which transforms an AOPLID program represented by sets into Prolog clauses so that it can be interpreted by the off line interpreter. Finally, the sound codes of the off line interpreter are listed.
基金Basic Science Research Program through the National Research Foundation of Korea(NRF)funded by the Ministry of Education,Science and Technology(No.2010-0025831)
文摘Business process execution language(BPEL)is a most recognized standard workflow language.However,it is difficult to be used in the ubiquitous system computing environment because it is difficult to describe the context information in the selection of the flow through the branch.To solve this problem,we propose a new BPEL workflow system with context-awareness by using aspect-oriented programming(AOP).This system is composed of a BPEL system module and a weaving module using AOP for context-aware.The BPEL system module generates a BPEL workflow program.And the weaving module converts a context-aware mark-up language(CAML)document to the aspect-oriented program that is applied to context-aware code without modification of the existing BPEL document.We also define a new document form that is called CAML,which provides a context-aware that is not available in BPEL.The system can generate a context-aware workflow program.It is developed in a way that inserts context information using AOP to provide context-aware services.
文摘The paper presents an analysis of computer programming languages based on the semiotics of Charles S. Peirce. The author describes how such languages could evolve in order to achieve some of the expressive characteristics of natural languages. This description evinces otherwise unnoticed differences between natural languages and programming languages, showing that Peircean semiotics is an efficient analysis tool. This suggests further research on the technical features needed to implement an easier way to program computers.
文摘<div style="text-align:justify;"> <span style="font-family:Verdana;">Though many different readability metrics have been created, there still is no universal agreement defining readability of software source code. The lack of a clear agreement of source code readability has ramifications in many areas of the software development life-cycle, not least of which being software maintainability. We propose a measurement based on Linguistic Economy to bridge the gap between mathematical and behavioral aspects. Linguistic Economy describes efficiencies of speech and is generally applied to natural languages. In our study, we create a large corpus of words that are likely to be found in a programmer’s vocabulary, and a corpus of existing identifiers found in a collection of open-source projects. We perform a usage analysis to create a database from both of these corpora. Linguistic Economy suggests that words requiring less effort to speak are used more often than words requiring more effort. This concept is applied to measure how difficult program identifiers are to understand by extracting them from the program source and comparing their usage to the database. Through this process, we can identify source code that programmers find difficult to review. We validate our work using data from a survey where programmers identified unpleasant to review source files. The results indicate that source files identified as unpleasant to review source code have more linguistically complicated identifiers than pleasant programs.</span> </div>
文摘Data are limitless. But those are usually not formed or created in our needs. Most of data providers deliver their data in Microsoft Excel spreadsheet, which is compatible with ArcGIS, the most widely used GIS (Geographic Information System) software in GIS sector. However, those table data contain much unnecessary information that do not need for a certain project. Using the raw data can increase processing times and reduce performance of geoprocessing tools. This study shows steps of how the raw data are being processed using ArcGIS ModelBuilder and Python script.
文摘<span style="font-family:Verdana;">Students face difficulties in programming languages learning (PLL) which encourages many scholars to investigate the factors behind that. Although there a number of positive and negative factors found to be effective in PLL procedure, utilising online tools in PLL were recognized as a positive recommended means. This motivates many researchers to provide solutions and proposals which result in a number of choices and options. However, categorising those efforts and showing what has been done, would provide a better and clear image for future studies. Therefore, this paper aims to conduct a systematic literature review to show what studies have been done and then categorise them based on the type of online tools and the aims of the research. The study follows Kitchenham and Charters guidelines for writing SLR (Systematic Literature Review). The search result reached 1390 publications between 2013-09/2018. After the filtration which has been done through selected criteria, 160 publications were found to be adequate to answer the review questions. The main results of this systematic review are categorizing the aims of the studies in online PLL tools, classifying the tools and finding the current trends of the online PLL tools.</span>
文摘C Language is a basic programming language and a compulsory foundation course for majors of science and engineering. Subjected to teaching periods,students have no time to do enough concrete integrated exercises. In teaching of C programming language design, both teachers and students have some problems. On the one hand teachers should change their teaching ideology, on the other hand,students should spontaneously study and improve their study motivation. In this way, students will improve their programming ability and apply what they learn comprehensively.
文摘Initial teacher preparation and teachers’ continuing professional development are two significant pillars of the teacher education enterprise. The former encompasses a wide range of teachereducation initiatives at the levels of diploma, bachelor’s degree, postgraduate diploma, and even master’s degree for teacher licensure purposes. These are widely documented in the literature.What is important is how teacher professional development contributes to bolstering the teachereducator force, which is relatively insufficiently documented due to the very fact that different educational systems have somewhat different expectations of such programs in relation to the ideologies and theories underpinning the teacher professional development program design and curriculum offering. Taking stock of a postgraduate diploma program in English language teaching(PGDELT) for teachers’ continuing professional development with a 31-year history housed at a premier teacher education institution in Singapore, which has successfully graduated over 1, 000 English language teachers for colleges and universities in China, I intend to highlight some of its key features, as a former student and then a lecturer on the program, in order to draw implications for sustainable growth of language teacher education programs, especially those whose main purposes are to prepare teachers of English as a second or foreign language(ESL/EFL) and provide continuing professional development opportunities for such inservice teachers.
文摘Aspect-oriented programs have received much attention from software testing researchers. Various testing techniques and approaches have been proposed to tackle issues and challenges when testing aspect-oriented programs including traditional mutation testing. In traditional mutation testing of aspect-oriented programs, mutants are generated by making small changes to the syntax of the aspect-oriented language. Recently, a new approach known as semantic mutation testing has been proposed. This approach mutates the semantics of the language in which the program is written. The mutants generated misunderstandings of the language which are different classes of faults. Aspect-oriented programming presents itself with different properties that can be further explored with respect to semantic mutation testing. This paper describes various possible scenarios that semantic mutation testing strategy might have particular value in testing aspect-oriented programs.
文摘Due to the increasing broadband Internet access, VOIP adoption as well as the Web 2.0 concepts, online language learning communities have gained great popularity among adult language learners. Based upon Malcolm Knowles' adult learning theory, this paper analyzes the innovation that online language learning communities have brought to adult language learning programs. At the same time, the limitations of such programs have been pointed out.
文摘Agent-oriented programming (AOP) is a framework to develop agents, and it aims to link the gap betweentheory and practical in agent research. The core of an AOP framework is its language and semantics. In this paper,we propose the necessary properties which agents should have, and then give a summary and analysis about differentAOP languages based on these properties.
基金This work was partially supported by the Royal Society of UK and the National Natural Science Foundation of PRC (No. 60175028).
文摘A support vector rule based method is investigated for the construction of motion controllers via natural language training. It is a two-phase process including motion control information collection from natural language instructions, and motion information condensation with the aid of support vector machine (SVM) theory. Self-organizing fuzzy neural networks are utilized for the collection of control rules, from which support vector rules are extracted to form a final controller to achieve any given control accuracy. In this way, the number of control rules is reduced, and the structure of the controller tidied, making a controller constructed using natural language training more appropriate in practice, and providing a fundamental rule base for high-level robot behavior control. Simulations and experiments on a wheeled robot are carried out to illustrate the effectiveness of the method.
基金Project supported by National Natural Science Foundation of China (Grant No .60473063)
文摘To solve the identification and comprehension problem of crosscutting concerns in existing legacy software system, a framework of aspect-oriented software reveme engineering is proposed. An approach on re-modularizing traversal features of legacy system is presented based on various unified modeling language (UML) diagrams. While modeling crosscutting concerns in UML use case diagrams, the non-functional requirements that affect several use case modules can be enveloped into aspect modules with a stereotype mechanism. The recurring message transmission patterns can be re-modularized as aspects in UML sequence diagrams with UML collaborations. Standard UML activity diagram notations are extended and modified by node fusion and addition, which support the graphical composition operation between crosscutting behaviors and primary business roles of concurrent systems. Case study indicates that travernal features of software system can be extracted and re-modularized from various perspectives in aspect-oriented reverse engineering, which improves comprehensibility and maintainability of legacy systems.
基金Supported by the National Key Research and Development Program of China(No.2017YFA0700902,2017YFB1003101)the 973 Program of China(No.2015CB358800)National Science and Technology Major Project(No.2018ZX01031102)
文摘Deep learning accelerators(DLAs)have been proved to be efficient computational devices for processing deep learning algorithms.Various DLA architectures are proposed and applied to different applications and tasks.However,for most DLAs,their programming interfaces are either difficult to use or not efficient enough.Most DLAs require programmers to directly write instructions,which is time-consuming and error-prone.Another prevailing programming interface for DLAs is high-performance libraries and deep learning frameworks,which are easy to be used and very friendly to users,but their high abstraction level limits their control capacity over the hardware resources thus compromises the efficiency of the accelerator.A design of the programming interface is for DLAs.First various existing DLAs and their programming methods are analyzed and a methodology for designing programming interface for DLAs is proposed,which is a high-level assembly language(called DLA-AL),assembler and runtime for DLAs.DLA-AL is composed of a low-level assembly language and a set of high-level blocks.It allows experienced experts to fully exploit the potential of DLAs and achieve near-optimal performance.Meanwhile,by using DLA-AL,end-users who have little knowledge of the hardware are able to develop deep learning algorithms on DLAs spending minimal programming efforts.