The article examines the methods of evolutionary software development with the use of the procedural parametric paradigm of programming. The basic program object of the paradigm are presented and their implementation ...
详细信息
ISBN:
(纸本)9781450326414
The article examines the methods of evolutionary software development with the use of the procedural parametric paradigm of programming. The basic program object of the paradigm are presented and their implementation in a programming language Alien is shown. The generalized records and generalizing parametric procedures are described as well as their using for the enlargement of already written a program without changing the previously written code. We consider a number of techniques that demonstrate the peculiarities of the proposed programming style. The use of generalizing procedures combined with generalized records instead of extensible types provides support for the multiple polymorphism as a special case includes a single polymorphism that is used in the objective-oriented approach. The flexibility of the proposed programming style in case of adding new data types is considered on the example of multimethods. In order to enhance the language capability it is proposed to use plug-in modules. We have carried out the analysis of the situations that arise in the software development process and compared the possibility of using evolutionary expansion in procedural, object-oriented and procedural parametric approaches. We have considered adding new specializations to the generalizations, adding new procedures, adding new data fields to existing types, adding a new procedure designed to process only one of the specialization, creating a new generalization based on the existing specializations, adding new multimethods to the program and changing multimethods. The article shows that the use of parametric generalizations combined with generalizing parametric procedures leads to the creation of more flexible evolutionary-enlargement programs. The complexity of building for generalized records is comparable with the creation of enlargement records with the use of programming language Oberon or class hierarchies of object-oriented languages. The use of plug-in modules fa
Grace is a gradually typed, object-oriented language for use in education. Grace needs a module system for several reasons: To teach students about modular program design, to organise large programs, especially its se...
详细信息
ISBN:
(纸本)9781450320412
Grace is a gradually typed, object-oriented language for use in education. Grace needs a module system for several reasons: To teach students about modular program design, to organise large programs, especially its self-hosted implementation, and to provide access to resources defined in other languages. Grace uses its basic organising construct, objects, to provide modules, and is then able to use its gradual structural typing to obtain a number of interesting features without any additional mechanisms.
We are happy to contribute to this volume of essays in honor of He Jifeng on the occasion of his 70th birthday. This work combines and extends two recent pieces of work that He Jifeng has made significant contribution...
详细信息
Languages and technologies used to implement component-based software are not component-based, i.e. while the design phase happens in the component world, the programming phase occurs in the object-oriented world. Whe...
详细信息
ISBN:
(纸本)9781450320399
Languages and technologies used to implement component-based software are not component-based, i.e. while the design phase happens in the component world, the programming phase occurs in the object-oriented world. When an object-oriented language is used for the programming stage, then the original component-based design vanish, because component concepts like requirements and architectures are not treated explicitly. This makes it difficult to keep model and its implementation causally connected. We present a new pure reflective component-based programming and modeling language where all core component concepts are treated explicitly and therefore keeping original component-design alive. The language makes it possible to model and program component-based software using the same language plus its uniform component-based meta-model and integrated reflection capabilities make the language and its applications open and flexible. Copyright 2013 ACM.
Testing multi-agent systems is a challenge, since by definition such systems are distributed, and are able to exhibit autonomous and flexible behaviour. One specific challenge in testing agent programs is developing a...
详细信息
object-oriented (OO) programming appears as a promising framework for parallel programming. objects which are inherently concurrent communicate through message passing. But most of OO languages choose to avoid support...
详细信息
object-oriented (OO) programming appears as a promising framework for parallel programming. objects which are inherently concurrent communicate through message passing. But most of OO languages choose to avoid supporting message passing directly because the implementation is too complicated. As we enter the era of CMP with multiple cores on a single die, real message passing can be realized. objects can be allocated to cores and communicate through the network on chip. In this paper, we propose a hardware object communication scheme based on CMP, which realizes the message passing with low overhead and high efficiency. The locality of messages in object-oriented programs is discussed particularly. We implement our scheme in SystemC and evaluated it using a SystemC and ISS co-simulation method. The results show the hit ratio of message mapping can reach 92% and the speedup of parallel OO programs executed in 9-core CMP is about 6 compared with sequential OO programs at best.
Web Services Technology, as a Distributed Computing System, is the next thread in the development of the Internet; it allows active objects to be located on Websites, offering distributed services to potential clients...
详细信息
ISBN:
(纸本)9781424458424
Web Services Technology, as a Distributed Computing System, is the next thread in the development of the Internet; it allows active objects to be located on Websites, offering distributed services to potential clients. The most crucial benefit of Web services is interaction machine-to-machine. Web services allow applications to be integrated more quickly, easily and cheaply. Web services provide interoperation between different software applications and object-orientedprogramming languages, running on many platforms. The object-orientedprogramming languages, which are being used by students, teachers and professionals, have been designed and rapidly promoted by their developers, researchers and interested companies. So, in this paper we will focus on the principles of differentiating between object-orientedprogramming languages by comparing their criteria and features. The main point of this article is to compare, analyse, explore, investigate and discuss the issues and measurements of these languages, which have proven to be a powerful resource in assisting humans in many and various applications. In addition, we show the capabilities of these languages; this should help those trying to appreciate their technical differences and similarities.
Multithreaded object-orientedprogramming in concurrency environment using object-oriented technology is a complex activity. Programmers need to be aware of issues unrelated to their domain of problem, and are often u...
详细信息
Multithreaded object-orientedprogramming in concurrency environment using object-oriented technology is a complex activity. Programmers need to be aware of issues unrelated to their domain of problem, and are often unprepared for the challenges of the concurrent object-orientedprogramming brings. The interaction of their components becomes more complex, and makes it difficult to validate the design and correctness of the implemented program. Supporting separation of concerns in the design and implementation of the multithreaded object-orientedprogramming can provide a number of benefits such as comprehension, reusability, extensibility and adaptability in both design and implementation. We have tackled this problem by adopting the technique of separation of concerns in multithreaded object-orientedprogramming. In this paper we demonstrate an aspect-oriented approach that can be used for multithreaded object-orientedprogramming. We also show how better the separation of concerns in components. Readers/Writers problem is demonstrated using an aspect-oriented approach. Our methodology, which is based on aspect-oriented techniques as well as language and architecture independence, is an aspect-oriented framework.
Language integrated query (LINQ) provides a uniform, object-oriented way to access data from heterogeneous sources, and thus simplifies the interaction between object-orientedprogramming and relational data. We desig...
详细信息
Language integrated query (LINQ) provides a uniform, object-oriented way to access data from heterogeneous sources, and thus simplifies the interaction between object-orientedprogramming and relational data. We design a mini-course of LINQ programming that aims at bridging the gap between the traditional object-orientedprogramming course and database programming course. Starting with the prerequisite C# language features, we introduce LINQ programming to students using an object-first approach, go deep into the key components of the LINQ framework, and finally make a smooth and effective transition to database programming.
In this paper we present important results from a long-term evaluation of an ldquoobject-oriented design and programmingrdquo course. In its last form the course is based on the combined use of the microworld objectKa...
详细信息
In this paper we present important results from a long-term evaluation of an ldquoobject-oriented design and programmingrdquo course. In its last form the course is based on the combined use of the microworld objectKarel and the environment BlueJ, while some important modifications on the original teaching approach based on BlueJ have been made.
暂无评论