13,793 research outputs found

    Testing Object-Oriented Programs: Making it Simple

    Get PDF
    One of the major difficulties facing anyone trying to teach the first programming course is how to encourage students to thoroughly test their programs. We would argue that the main reasons for this are the lack of suitable tools for testing and the need to write extra "debug" code in order to verify correct operation. We further argue that the problem is even worse with object-oriented languages because of multiple classes and encapsulation. In this paper we describe the testing tools within the Blue programming environment which allow object-oriented programs to be thoroughly tested without writing a single line of new code

    A distributed object-oriented graphical programming system

    Get PDF
    technical reportThis report presents the design of a distributed parallel object system (DPOS) and its implementation using a graphical editing interface. DPOS brings together concepts of object-oriented programming and graphical programming with aspects of modern functional languages. Programs are defined as networks of active processes called "Process Objects" and interconnecting communications lines. These active objects are independent single threaded programs that employ much of the modularity, encapsulation of function, and encapsulation of data found in sequential object-oriented programming. The system defines a clear and simple approach to generating and managing parallelism and interprocess communication in a distributed parallel environment. DPOS contributes several new solutions to the problems of distributed parallel programming that are improvements over existing systems. The key improvements of this system include: a more complete and versatile means of dynamic process creation; the specification of complex network topologies in an intuitively clear and understandable way; seperation of the management of parallelism from the definition of computation; automatic resolution of low level critical section issues; the ability to design and develop separate processes as traditional single threaded programs; the encapsulation and incremental development of programs subnetworks; application of graphical programming concepts to high level programming

    Encapsulation and Aggregation

    Get PDF
    A notion of object ownership is introduced as a solution to difficult problems of specifying and reasoning about complex linked structures and of modeling aggregates (composit objects). Syntax and semantics are provided for extending Eiffel with language support for object ownership annotation and checking. The ideas also apply to other OOPLs such as C++

    From Functions to Object-Orientation by Abstraction

    Full text link
    In previous work we developed a framework of computational models for function and object execution. The models on an higher level of abstraction in this framework allow for concurrent execution of functions and objects. We show that the computational model for object execution complies with the fundamentals of object-orientation.Comment: arXiv admin note: text overlap with arXiv:1010.3100, arXiv:1111.5172, arXiv:1208.334
    corecore