1,939 research outputs found

    Programming Language Designs to Support Programming Methodologies

    Get PDF

    A Comparative Analysis of Structured and Object-Oriented Programming Methods

    Get PDF
    The concepts of structured and object-oriented programming methods are not relatively new but these approaches are still very much useful and relevant in today’s programming paradigm. In this paper, wedistinguish the features of structured programs from that of object oriented programs. Structured programming is a method of organizing and coding programs that can provide easy understanding and modification, whereas objectoriented programming (OOP) consists of a set of objects, which can vary dynamically, and which can execute byacting and reacting to each other, in much the same way that a real-world process proceeds (the interaction of realworldobjects). An object-oriented approach makes programs more intuitive to design, faster to develop, more amenable to modifications, and easier to understand. With the traditional, procedural-oriented/structuredprogramming, a program describes a series of steps to be performed (an algorithm). In the object-oriented view of programming, instead of programs consisting of sets of data loosely coupled to many different procedures, objectoriented programs consist of software modules called objects that encapsulate both data and processing while hidingtheir inner complexities from programmers and hence from other object

    A Comparative Analysis of Structured and Object-Oriented Programming Methods

    Get PDF
    The concepts of structured and object-oriented programming methods are not relatively new but these approaches are still very much useful and relevant in today’s programming paradigm. In this paper, wedistinguish the features of structured programs from that of object oriented programs. Structured programming is a method of organizing and coding programs that can provide easy understanding and modification, whereas objectoriented programming (OOP) consists of a set of objects, which can vary dynamically, and which can execute byacting and reacting to each other, in much the same way that a real-world process proceeds (the interaction of realworldobjects). An object-oriented approach makes programs more intuitive to design, faster to develop, more amenable to modifications, and easier to understand. With the traditional, procedural-oriented/structuredprogramming, a program describes a series of steps to be performed (an algorithm). In the object-oriented view of programming, instead of programs consisting of sets of data loosely coupled to many different procedures, objectoriented programs consist of software modules called objects that encapsulate both data and processing while hidingtheir inner complexities from programmers and hence from other object

    A design tool for novice programmers: Working paper series--00-01

    Get PDF
    Most program design methods are intended for experienced programmers. Beginner friendly program design methods date back to procedural languages, such as Pascal and Basic. These methods lack connections to objects and events since the languages contained neither objects nor events. This paper presents a summary table and a sketch to get novice programmers started in the process of designing a program. The table organizes information about the program requirements and aides in creating a design for a program that may contain events and objects. The sketch represents the calling relationships among the modules in the program. The table and the sketch can be use with an existing method, such as pseudocode. The tools enhance existing methods of design. A new method is not proposed. The most important philosophies in developing the tools were simplicity and guidance. The table guides the student's design efforts and is simple. The columns collect data about what the program does, when it does its tasks, and what data it uses. The rows relate tasks, events, and objects. The table prompts identification of objects and events and makes high-level functionality stand out. The high-level functional design captured by the table is made explicit in the relations sketch

    Top down, bottom up structured programming and program structuring

    Get PDF
    New design and programming techniques for shuttle software. Based on previous Apollo experience, recommendations are made to apply top-down structured programming techniques to shuttle software. New software verification techniques for large software systems are recommended. HAL, the higher order language selected for the shuttle flight code, is discussed and found to be adequate for implementing these techniques. Recommendations are made to apply the workable combination of top-down, bottom-up methods in the management of shuttle software. Program structuring is discussed relevant to both programming and management techniques

    Programming language elements for correctness proofs

    Get PDF
    Formal methods are not used widely in industrial software development, because the overhead of formally proving program properties is generally not acceptable. In this paper we present an ongoing research project to make the construction of such proofs easier by embedding the proof system into a compiler. Using the introduced new programming language, the programmer writes formal specification first. The specification is to be refined using stepwise refinement which results in a proof. The compiler checks this proof and generates the corresponding program in a traditional programming language. The resulting code automatically fulfills the requirements of the specification. In this paper we present language elements to build specification statements and proofs. We give a short overview on the metaprogramming techniques of the language that support the programmer's work. Using a formal model we give the semantics of specification statements and refinements. We also prove the soundness of the basic algorithms of the compiler

    An integrated programming environment for pseudo-code development, IPE-PC

    Get PDF
    An Integrated Programming Environment, IPE-PC, that supports pseudo-code development has been designed and implemented. This environment is based on a Pascal-like language which is designed according to the requirements of a language-based environment. The nucleus of IPE-PC is a language-based editor which represents programs as graphs internally. The same representation is used in every mode of the environment (i.e., editing, compilation, execution, debugging and translation). The system provides facilities to take advantage of both top-down and bottom-up programming. Stepwise refinement has been supported by providing comment structures that can be transformed into procedures. Bottom-up programming is supported because it is possible to create and save program segments which can be inserted to the programs at the appropriate points --Abstract, page ii

    Behavior models for software architecture

    Get PDF
    Monterey Phoenix (MP) is an approach to formal software system architecture specification based on behavior models. Architecture modeling focuses not only on the activities and interactions within the system, but also on the interactions between the system and its environment, providing an abstraction for interaction specification. The behavior of the system is defined as a set of events (event trace) with two basic relations: precedence and inclusion. The structure of possible event traces is specified using event grammars and other constraints organized into schemas. The separation of the interaction description from the components behavior is an essential MP feature. The schema framework is amenable to stepwise architecture refinement, reuse, composition, visualization, and multiple view extraction. The approach yields a basis for executable architecture specification supporting early testing and verification, systematic use case generation, and performance estimates with automated tools.Consortium for Robotics and Unmanned Systems Education and Research (CRUSER)Consortium for Robotics and Unmanned Systems Education and Research (CRUSER)Approved for public release; distribution is unlimited.Approved for public release; distribution is unlimited
    corecore