This demonstration presents the language design of Konoha-Script, a statically typed object-oriented scripting language. KonohaScript provides the very similar scripting experiences compared to dynamic languages. In a...
详细信息
ISBN:
(纸本)9781450309424
This demonstration presents the language design of Konoha-Script, a statically typed object-oriented scripting language. KonohaScript provides the very similar scripting experiences compared to dynamic languages. In addition, it also preserves useful programming supports by static typing, such as automated verification of careless mistakes, improved readability of source code, better opportunity of optimized code generation. This demonstration will show how KonohaScript improved scripting experiences with static typing, using our open source implementation fully written in C.
Implementing a profiler to trace a program execution is nontrivial. One way to do this on running Java programs is through bytecode instrumentation. Nowadays, tools exist that ease the instrumentation process itself, ...
详细信息
Every new programming technique makes claims that software engineers want to hear. Such is the case with aspect-orientedprogramming (AOP). This paper describes a quasi-controlled experiment which compares the evoluti...
详细信息
ISBN:
(纸本)9783642219528
Every new programming technique makes claims that software engineers want to hear. Such is the case with aspect-orientedprogramming (AOP). This paper describes a quasi-controlled experiment which compares the evolution of two functionally equivalent programs, developed in two different paradigms. The aim of the study is to explore the claims that software developed with aspect-oriented languages is easier to maintain and reuse than this developed with object-oriented languages. We have found no evidence to support these claims.
In previous work, we presented rules for defining overloaded functions that ensure type safety under symmetric multiple dispatch in an object-oriented language with multiple inheritance, and we showed how to check the...
详细信息
ISBN:
(纸本)9781450309400
In previous work, we presented rules for defining overloaded functions that ensure type safety under symmetric multiple dispatch in an object-oriented language with multiple inheritance, and we showed how to check these rules without requiring the entire type hierarchy to be known, thus supporting modularity and extensibility. In this work, we extend these rules to a language that supports parametric polymorphism on both classes and functions. In a multiple-inheritance language in which any type may be extended by types in other modules, some overloaded functions that might seem valid are correctly rejected by our rules. We explain how these functions can be permitted in a language that additionally supports an exclusion relation among types, allowing programmers to declare "nominal exclusions" and also implicitly imposing exclusion among different instances of each polymorphic type. We give rules for computing the exclusion relation, deriving many type exclusions from declared and implicit ones. We also show how to check our rules for ensuring the safety of overloaded functions. In particular, we reduce the problem of handling parametric polymorphism to one of determining subtyping relationships among universal and existential types. Our system has been implemented as part of the open-source Fortress compiler. Copyright is held by the author / owner(s).
High-coverage testing is challenging. Modern object-oriented programs present additional challenges for testing. One key difficulty is the generation of proper method sequences to construct desired objects as method p...
详细信息
ISBN:
(纸本)9781450309400
High-coverage testing is challenging. Modern object-oriented programs present additional challenges for testing. One key difficulty is the generation of proper method sequences to construct desired objects as method parameters. In this paper, we cast the problem as an instance of program synthesis that automatically generates candidate programs to satisfy a user-specified intent. In our setting, candidate programs are method sequences, and desired object states specify an intent. Automatic generation of desired method sequences is difficult due to its large search space sequences often involve methods from multiple classes and require specific primitive values. This paper introduces a novel approach, called Seeker, to intelligently navigate the large search space. Seeker synergistically combines static and dynamic analyses: (1) dynamic analysis generates method sequences to cover branches;(2) static analysis uses dynamic analysis information for not-covered branches to generate candidate sequences;and (3) dynamic analysis explores and eliminates statically generated sequences. For evaluation, we have implemented Seeker and demonstrate its effectiveness on four subject applications totalling 28K LOC. We show that Seeker achieves higher branch coverage and def-use coverage than existing state-of-the-art approaches. We also show that Seeker detects 34 new defects missed by existing tools.
Besides being suitable for tackling Distributed Artificial Intelligence problems, we argue that agent-orientedprogramming languages and multi-agent programming technologies provide an effective level of abstraction f...
详细信息
Agent-based technology can be used in developing educational tutoring systems. An Intelligent Tutoring System, named as 'ProgTool' has been developed for teaching object-orientedprogramming concepts. The Prog...
详细信息
ISBN:
(纸本)9781936338344
Agent-based technology can be used in developing educational tutoring systems. An Intelligent Tutoring System, named as 'ProgTool' has been developed for teaching object-orientedprogramming concepts. The Prog-Tool' has been developed using JADE (Java Agents Development Environment) framework. This system helps the students to learn about objects, Classes and other programming concepts by taking tutorials from it sitting anywhere and anytime. This paper shows that usage of 'ProgTool' helps students with topic sequencing, visual representation, and choice of multiple exercises and tests on each topic makes it a very useful for students.
Industrial automation plants are controlled essentially by PLC-based control systems. PLCs are today mostly programmed in the languages of the IEC 61131-3 standard which are not ready to meet the new challenges of wid...
详细信息
ISBN:
(纸本)9781457704345
Industrial automation plants are controlled essentially by PLC-based control systems. PLCs are today mostly programmed in the languages of the IEC 61131-3 standard which are not ready to meet the new challenges of widely distributed automation systems. Currently, different solutions are under development from industry and research: an extension of IEC 61131-3 which includes objectorientedprogramming;the adoption of the new standard IEC 61499 which makes the software execution event-based instead of scan-cycle based as in IEC 61131-3 standard. In this paper it is shown how objectorientedprogramming implicitly makes event-based the PLC software behavior. Moreover, it is shown how supervisory control can help in designing correct software in this context.
With Simula 67 Ole-Johan Dahl and Kristen Nygaard invented object-orientedprogramming. This has had an enormous impact on program development tools and methods in the world, well accounted in conferences and books, o...
详细信息
ISBN:
(纸本)9783642233159
With Simula 67 Ole-Johan Dahl and Kristen Nygaard invented object-orientedprogramming. This has had an enormous impact on program development tools and methods in the world, well accounted in conferences and books, on programming languages and object-orientedprogramming, and on software pioneers. Early influenced were computer scientists in the Nordic countries who from about 1970 had Simula as the main programming tool, "mother tongue." This paper gives a first-hand account of experience of a unique early introduction of object-orientedprogramming for higher education in computer science and in computer programming, which provided powerful program development tools long before other educational institutions, especially as it coincided with the introduction of powerful interactive systems. The paper also challenges the misconception that Simula is primarily a tool for simulation by illustrating how it was used to teach general computer science and programming concepts with more general-purpose constructs than most contemporary languages, except perhaps Lisp.
languages for modeling and programming are diverging, with the implication that developers that would like to model (in order to raise the abstraction level and become independent of implementation platforms) end up w...
详细信息
ISBN:
(纸本)9781450309424
languages for modeling and programming are diverging, with the implication that developers that would like to model (in order to raise the abstraction level and become independent of implementation platforms) end up with the challenge of maintaining both model and program artifacts. In addition, modeling is hampered by poor tool support compared with programming tools. The trend in programming languages is that less attention is paid to the fact that programming should be a kind of modeling, while executable models will not cover what programs usually cover. The aim of this workshop is to investigate requirements for combined modeling and programming languages, by identifying candidate elements that should be supported by such languages, propose potential new combined language mechanisms, and by investigating implementation techniques for such languages.
暂无评论