WorldWideScience

Sample records for object-oriented software engineering

  1. Object oriented development of engineering software using CLIPS

    Science.gov (United States)

    Yoon, C. John

    1991-01-01

    Engineering applications involve numeric complexity and manipulations of a large amount of data. Traditionally, numeric computation has been the concern in developing an engineering software. As engineering application software became larger and more complex, management of resources such as data, rather than the numeric complexity, has become the major software design problem. Object oriented design and implementation methodologies can improve the reliability, flexibility, and maintainability of the resulting software; however, some tasks are better solved with the traditional procedural paradigm. The C Language Integrated Production System (CLIPS), with deffunction and defgeneric constructs, supports the procedural paradigm. The natural blending of object oriented and procedural paradigms has been cited as the reason for the popularity of the C++ language. The CLIPS Object Oriented Language's (COOL) object oriented features are more versatile than C++'s. A software design methodology based on object oriented and procedural approaches appropriate for engineering software, and to be implemented in CLIPS was outlined. A method for sensor placement for Space Station Freedom is being implemented in COOL as a sample problem.

  2. Applying object-oriented software engineering at the BaBar collaboration

    International Nuclear Information System (INIS)

    Jacobsen, B.

    1997-01-01

    The BaBar experiment at SLAC will start taking data in 1999. We are attempting to build its reconstruction software using good software engineering practices, including the use of object-oriented technology. We summarize our experience to date with analysis and design activities, training, CASE and documentation tools, C++ programming practice and similar topics. The emphasis is on the practical issues of simultaneously introducing new techniques to a large collaboration while under a deadline for system delivery. (orig.)

  3. Methodology for object-oriented real-time systems analysis and design: Software engineering

    Science.gov (United States)

    Schoeffler, James D.

    1991-01-01

    Successful application of software engineering methodologies requires an integrated analysis and design life-cycle in which the various phases flow smoothly 'seamlessly' from analysis through design to implementation. Furthermore, different analysis methodologies often lead to different structuring of the system so that the transition from analysis to design may be awkward depending on the design methodology to be used. This is especially important when object-oriented programming is to be used for implementation when the original specification and perhaps high-level design is non-object oriented. Two approaches to real-time systems analysis which can lead to an object-oriented design are contrasted: (1) modeling the system using structured analysis with real-time extensions which emphasizes data and control flows followed by the abstraction of objects where the operations or methods of the objects correspond to processes in the data flow diagrams and then design in terms of these objects; and (2) modeling the system from the beginning as a set of naturally occurring concurrent entities (objects) each having its own time-behavior defined by a set of states and state-transition rules and seamlessly transforming the analysis models into high-level design models. A new concept of a 'real-time systems-analysis object' is introduced and becomes the basic building block of a series of seamlessly-connected models which progress from the object-oriented real-time systems analysis and design system analysis logical models through the physical architectural models and the high-level design stages. The methodology is appropriate to the overall specification including hardware and software modules. In software modules, the systems analysis objects are transformed into software objects.

  4. Software engineering techniques applied to agricultural systems an object-oriented and UML approach

    CERN Document Server

    Papajorgji, Petraq J

    2014-01-01

    Software Engineering Techniques Applied to Agricultural Systems presents cutting-edge software engineering techniques for designing and implementing better agricultural software systems based on the object-oriented paradigm and the Unified Modeling Language (UML). The focus is on the presentation of  rigorous step-by-step approaches for modeling flexible agricultural and environmental systems, starting with a conceptual diagram representing elements of the system and their relationships. Furthermore, diagrams such as sequential and collaboration diagrams are used to explain the dynamic and static aspects of the software system.    This second edition includes: a new chapter on Object Constraint Language (OCL), a new section dedicated to the Model-VIEW-Controller (MVC) design pattern, new chapters presenting details of two MDA-based tools – the Virtual Enterprise and Olivia Nova, and a new chapter with exercises on conceptual modeling.  It may be highly useful to undergraduate and graduate students as t...

  5. A Survey of Various Object Oriented Requirement Engineering Methods

    OpenAIRE

    Anandi Mahajan; Dr. Anurag Dixit

    2013-01-01

    In current years many industries have been moving to the use of object-oriented methods for the development of large scale information systems The requirement of Object Oriented approach in the development of software systems is increasing day by day. This paper is basically a survey paper on various Object-oriented requirement engineering methods. This paper contains a summary of the available Object-oriented requirement engineering methods with their relative advantages and disadvantages...

  6. Business engineering. Generic Software Architecture in an Object Oriented View

    Directory of Open Access Journals (Sweden)

    Mihaela MURESAN

    2006-01-01

    Full Text Available The generic software architecture offers a solution for the the information system's development and implementation. A generic software/non-software model could be developed by integrating the enterprise blueprint concept (Zachman and the object oriented paradigm (Coad's archetype concept. The standardization of the generic software architecture for various specific software components could be a direction of crucial importance, offering the guarantee of the quality of the model and increasing the efficiency of the design, development and implementation of the software. This approach is also useful for the implementation of the ERP systems designed to fit the user’s particular requirements.

  7. An object-oriented software interface to VME

    International Nuclear Information System (INIS)

    Thomas, Timothy L; Gottlieb, Eric; Gold, Michael

    1996-01-01

    In the next millennium, data acquisition tasks for high energy physics will increasingly rely on distributed processing and the VME bus. To provide transparent, general-purpose access to VME hardware modules through a VME-embedded processor, we have created a simple, portable, easily configured object-oriented interface to the VME bus. This software is particularly well-suited for hardware development, providing rapid engineering level access to the VME interface of prototype modules. (author)

  8. Testing Object-Oriented Software

    DEFF Research Database (Denmark)

    Caspersen, Michael Edelgaard; Madsen, Ole Lehrmann; Skov, Stefan H.

    The report is a result of an activity within the project Centre for Object Technology (COT), case 2. In case 2 a number of pilot projects have been carried out to test the feasibility of using object technology within embedded software. Some of the pilot projects have resulted in proto-types that......The report is a result of an activity within the project Centre for Object Technology (COT), case 2. In case 2 a number of pilot projects have been carried out to test the feasibility of using object technology within embedded software. Some of the pilot projects have resulted in proto......-types that are currently being developed into production versions. To assure a high quality in the product it was decided to carry out an activ-ity regarding issues in testing OO software. The purpose of this report is to discuss the issues of testing object-oriented software. It is often claimed that testing of OO...... software is radically different form testing traditional software developed using imperative/procedural programming. Other authors claim that there is no difference. In this report we will attempt to give an answer to these questions (or at least initiate a discussion)....

  9. Automating Object-Oriented Software Development Methods

    NARCIS (Netherlands)

    Tekinerdogan, B.; Saeki, Motoshi; Sunyé, Gerson; van den Broek, P.M.; Hruby, Pavel; Tekinerdogan, B.; van den Broek, P.M.; Saeki, M.; Hruby, P.; Sunye, G.

    2001-01-01

    Current software projects have generally to deal with producing and managing large and complex software products. It is generally believed that applying software development methods are useful in coping with this complexity and for supporting quality. As such numerous object-oriented software

  10. Automating Object-Oriented Software Development Methods

    NARCIS (Netherlands)

    Tekinerdogan, B.; Frohner, A´ kos; Saeki, Motoshi; Sunyé, Gerson; van den Broek, P.M.; Hruby, Pavel

    2002-01-01

    Current software projects have generally to deal with producing and managing large and complex software products. It is generally believed that applying software development methods are useful in coping with this complexity and for supporting quality. As such numerous object-oriented software

  11. Object-Oriented Software Development Environments

    DEFF Research Database (Denmark)

    The book "Object-Oriented Environments - The Mjølner Approach" presents the collective results of the Mjølner Project. The project was set up to work on the widely recognized problems of developing, maintaining and understanding large software systems. The starting point was to use object...... and realizations User interfaces for environments and realizations Grammar-based software architectures Structure-based editing Language implementation, runtime organization, garbage collection Incremental compilation techniques...

  12. On Converting Software Systems to Object Oriented Architectures

    Directory of Open Access Journals (Sweden)

    Gabriela Czibula

    2010-06-01

    Full Text Available Object-oriented concepts are useful concerning the reuse of existing software. Therefore a transformation of procedural programs to objectoriented architectures becomes an important process to enhance the reuse of procedural programs. Moreover, it would be useful to assist by automatic methods the software developers in transforming procedural code into an equivalent
    object-oriented one. In this paper we aim at introducing a hierarchical clustering algorithm that can be used for assisting software developers in the process of transforming procedural code into an object-oriented architecture.

  13. Model-Based Software Testing for Object-Oriented Software

    Science.gov (United States)

    Biju, Soly Mathew

    2008-01-01

    Model-based testing is one of the best solutions for testing object-oriented software. It has a better test coverage than other testing styles. Model-based testing takes into consideration behavioural aspects of a class, which are usually unchecked in other testing methods. An increase in the complexity of software has forced the software industry…

  14. A Configurable, Object-Oriented, Transportation System Software Framework

    Energy Technology Data Exchange (ETDEWEB)

    KELLY,SUZANNE M.; MYRE,JOHN W.; PRICE,MARK H.; RUSSELL,ERIC D.; SCOTT,DAN W.

    2000-08-01

    The Transportation Surety Center, 6300, has been conducting continuing research into and development of information systems for the Configurable Transportation Security and Information Management System (CTSS) project, an Object-Oriented Framework approach that uses Component-Based Software Development to facilitate rapid deployment of new systems while improving software cost containment, development reliability, compatibility, and extensibility. The direction has been to develop a Fleet Management System (FMS) framework using object-oriented technology. The goal for the current development is to provide a software and hardware environment that will demonstrate and support object-oriented development commonly in the FMS Central Command Center and Vehicle domains.

  15. Object-oriented approach for gas turbine engine simulation

    Science.gov (United States)

    Curlett, Brian P.; Felder, James L.

    1995-01-01

    An object-oriented gas turbine engine simulation program was developed. This program is a prototype for a more complete, commercial grade engine performance program now being proposed as part of the Numerical Propulsion System Simulator (NPSS). This report discusses architectural issues of this complex software system and the lessons learned from developing the prototype code. The prototype code is a fully functional, general purpose engine simulation program, however, only the component models necessary to model a transient compressor test rig have been written. The production system will be capable of steady state and transient modeling of almost any turbine engine configuration. Chief among the architectural considerations for this code was the framework in which the various software modules will interact. These modules include the equation solver, simulation code, data model, event handler, and user interface. Also documented in this report is the component based design of the simulation module and the inter-component communication paradigm. Object class hierarchies for some of the code modules are given.

  16. The Generalized Support Software (GSS) Domain Engineering Process: An Object-Oriented Implementation and Reuse Success at Goddard Space Flight Center

    Science.gov (United States)

    Condon, Steven; Hendrick, Robert; Stark, Michael E.; Steger, Warren

    1997-01-01

    The Flight Dynamics Division (FDD) of NASA's Goddard Space Flight Center (GSFC) recently embarked on a far-reaching revision of its process for developing and maintaining satellite support software. The new process relies on an object-oriented software development method supported by a domain specific library of generalized components. This Generalized Support Software (GSS) Domain Engineering Process is currently in use at the NASA GSFC Software Engineering Laboratory (SEL). The key facets of the GSS process are (1) an architecture for rapid deployment of FDD applications, (2) a reuse asset library for FDD classes, and (3) a paradigm shift from developing software to configuring software for mission support. This paper describes the GSS architecture and process, results of fielding the first applications, lessons learned, and future directions

  17. Software Engineering Guidebook

    Science.gov (United States)

    Connell, John; Wenneson, Greg

    1993-01-01

    The Software Engineering Guidebook describes SEPG (Software Engineering Process Group) supported processes and techniques for engineering quality software in NASA environments. Three process models are supported: structured, object-oriented, and evolutionary rapid-prototyping. The guidebook covers software life-cycles, engineering, assurance, and configuration management. The guidebook is written for managers and engineers who manage, develop, enhance, and/or maintain software under the Computer Software Services Contract.

  18. Analysis and design of the SI-simulator software system for the VHTR-SI process by using the object-oriented analysis and object-oriented design methodology

    International Nuclear Information System (INIS)

    Chang, Jiwoon; Shin, Youngjoon; Kim, Jihwan; Lee, Kiyoung; Lee, Wonjae; Chang, Jonghwa; Youn, Cheung

    2008-01-01

    The SI-simulator is an application software system that simulates the dynamic behavior of the VHTR-SI process by the use of mathematical models. Object-oriented analysis (OOA) and object-oriented design (OOD) methodologies were employed for the SI simulator system development. OOA is concerned with developing software engineering requirements and specifications that are expressed as a system's object model (which is composed of a population of interacting objects), as opposed to the traditional data or functional views of systems. OOD techniques are useful for the development of large complex systems. Also, OOA/OOD methodology is usually employed to maximize the reusability and extensibility of a software system. In this paper, we present a design feature for the SI simulator software system by the using methodologies of OOA and OOD

  19. Object Oriented Software Development Using A Use-Cases Approach

    African Journals Online (AJOL)

    Object Oriented Software Development Using A Use-Cases Approach. ... to the analysis and design of an online banking system using the Use-Cases method of Jacobson. ... thus bringing the benefits of object orientation into important software projects. Journal of Applied Sciences and Environmental Management Vol.

  20. Object-oriented design of medical imaging software.

    Science.gov (United States)

    Ligier, Y; Ratib, O; Logean, M; Girard, C; Perrier, R; Scherrer, J R

    1994-01-01

    A special software package for interactive display and manipulation of medical images was developed at the University Hospital of Geneva, as part of a hospital wide Picture Archiving and Communication System (PACS). This software package, called Osiris, was especially designed to be easily usable and adaptable to the needs of noncomputer-oriented physicians. The Osiris software has been developed to allow the visualization of medical images obtained from any imaging modality. It provides generic manipulation tools, processing tools, and analysis tools more specific to clinical applications. This software, based on an object-oriented paradigm, is portable and extensible. Osiris is available on two different operating systems: the Unix X-11/OSF-Motif based workstations, and the Macintosh family.

  1. The Software Bus, an Object-Oriented Data Exchange System

    International Nuclear Information System (INIS)

    Akerbaek, T.; Louka, M.

    1996-01-01

    This document describes the Software Bus System, developed for object-oriented task to task communication in a TCP/IP based network. The Software Bus is a set of library functions, developed to be used for the Picasso-3 UIMS, and as a general purpose tool for dynamically interfacing programs at run-time. The Software Bus offers a high level object-oriented data exchange mechanism that relieves the application programmer of the low level TCP/IP-programming and communication protocol handling. The Software Bus is currently available under several UNIX platforms and a version for Windows NT is planned for late 1996. (author)

  2. Incremental Interactive Verification of the Correctness of Object-Oriented Software

    DEFF Research Database (Denmark)

    Mehnert, Hannes

    Development of correct object-oriented software is difficult, in particular if a formalised proof of its correctness is demanded. A lot of current software is developed using the object-oriented programming paradigm. This paradigm compensated for safety and security issues with imperative...... structure. For efficiency, our implementation uses copy-on-write and shared mutable data, not observable by a client. I further use this data structure to verify the correctness of a solution to the point location problem. The results demonstrate that I am able to verify the correctness of object-oriented...... programming, such as manual memory management. Popularly used integrated development environments (IDEs) provide features such as debugging and unit testing to facilitate development of robust software, but hardly any development environment supports the development of provable correct software. A tight...

  3. Object-Oriented Programming When Developing Software in Geology and Geophysics

    Science.gov (United States)

    Ahmadulin, R. K.; Bakanovskaya, L. N.

    2017-01-01

    The paper reviews the role of object-oriented programming when developing software in geology and geophysics. Main stages have been identified at which it is worthwhile to apply principles of object-oriented programming when developing software in geology and geophysics. The research was based on a number of problems solved in Geology and Petroleum Production Institute. Distinctive features of these problems are given and areas of application of the object-oriented approach are identified. Developing applications in the sphere of geology and geophysics has shown that the process of creating such products is simplified due to the use of object-oriented programming, firstly when designing structures for data storage and graphical user interfaces.

  4. Towards a general object-oriented software development methodology

    Science.gov (United States)

    Seidewitz, ED; Stark, Mike

    1986-01-01

    Object diagrams were used to design a 5000 statement team training exercise and to design the entire dynamics simulator. The object diagrams are also being used to design another 50,000 statement Ada system and a personal computer based system that will be written in Modula II. The design methodology evolves out of these experiences as well as the limitations of other methods that were studied. Object diagrams, abstraction analysis, and associated principles provide a unified framework which encompasses concepts from Yourdin, Booch, and Cherry. This general object-oriented approach handles high level system design, possibly with concurrency, through object-oriented decomposition down to a completely functional level. How object-oriented concepts can be used in other phases of the software life-cycle, such as specification and testing is being studied concurrently.

  5. Object-oriented software design in semiautomatic building extraction

    Science.gov (United States)

    Guelch, Eberhard; Mueller, Hardo

    1997-08-01

    Developing a system for semiautomatic building acquisition is a complex process, that requires constant integration and updating of software modules and user interfaces. To facilitate these processes we apply an object-oriented design not only for the data but also for the software involved. We use the unified modeling language (UML) to describe the object-oriented modeling of the system in different levels of detail. We can distinguish between use cases from the users point of view, that represent a sequence of actions, yielding in an observable result and the use cases for the programmers, who can use the system as a class library to integrate the acquisition modules in their own software. The structure of the system is based on the model-view-controller (MVC) design pattern. An example from the integration of automated texture extraction for the visualization of results demonstrate the feasibility of this approach.

  6. The 7 C's for Creating Living Software: A Research Perspective for Quality-Oriented Software Engineering

    NARCIS (Netherlands)

    Aksit, Mehmet

    2004-01-01

    This article proposes the 7 C's for realizing quality-oriented software engineering practices. All the desired qualities of this approach are expressed in short by the term living software. The 7 C's are: Concern-oriented processes, Canonical models, Composable models, Certifiable models,

  7. Automating the Object-Oriented Software Development Process: Workshop Report

    NARCIS (Netherlands)

    Aksit, Mehmet; Tekinerdogan, B.

    1998-01-01

    Cost-effective realization of robust, adaptable and reusable software systems demands efficient and effective management of the overall software production process. Current object-oriented methods are not completely formalized and lack the ability of reasoning about the quality of processes and

  8. Automating the Object-Oriented Software Development Process: Workshop Report

    NARCIS (Netherlands)

    Aksit, Mehmet; Demeyer, S.; Bosch, H.G.P.; Tekinerdogan, B.

    Cost-effective realization of robust, adaptable and reusable software systems demands efficient and effective management of the overall software production process. Current object-oriented methods are not completely formalized and lack the ability of reasoning about the quality of processes and

  9. A Fuzzy Approach for Integrated Measure of Object-Oriented Software Testability

    OpenAIRE

    Vandana Gupta; K. K. Aggarwal; Yogesh Singh

    2005-01-01

    For large software systems, testing phase seems to have profound effect on the overall acceptability and quality of the final product. The success of this activity can be judged by measuring the testability of the software. A good measure for testability can better manage the testing effort and time. Different Object Oriented Metrics are used in measurement of object-oriented testability but none of them is alone sufficient to give an overall reflection of software testabi...

  10. Software bug prediction using object-oriented metrics

    Indian Academy of Sciences (India)

    Dharmendra Lal Gupta

    2 Department of Computer Science and Engineering, Mewar University, Chittorgarh 312901, India e-mail: ... the object-oriented technology has been widely accepted ... whereas project metrics cover the number of staff members involved in ...

  11. Aspect-Oriented Model-Driven Software Product Line Engineering

    Science.gov (United States)

    Groher, Iris; Voelter, Markus

    Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This article presents an approach that facilitates variability implementation, management, and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed of aspect-oriented composition techniques on model level. Model transformations support the transition from problem to solution space models. Aspect-oriented techniques enable the explicit expression and modularization of variability on model, template, and code level. The presented concepts are illustrated with a case study of a home automation system.

  12. Computer Application Of Object Oriented Database Management ...

    African Journals Online (AJOL)

    Object Oriented Systems (OOS) have been widely adopted in software engineering because of their superiority with respect to data extensibility. The present trend in the software engineering process (SEP) towards concurrent computing raises novel concerns for the facilities and technology available in database ...

  13. Software engineering the current practice

    CERN Document Server

    Rajlich, Vaclav

    2011-01-01

    INTRODUCTION History of Software EngineeringSoftware PropertiesOrigins of SoftwareBirth of Software EngineeringThird Paradigm: Iterative ApproachSoftware Life Span ModelsStaged ModelVariants of Staged ModelSoftware Technologies Programming Languages and CompilersObject-Oriented TechnologyVersion Control SystemSoftware ModelsClass DiagramsUML Activity DiagramsClass Dependency Graphs and ContractsSOFTWARE CHANGEIntroduction to Software ChangeCharacteristics of Software ChangePhases of Software ChangeRequirements and Their ElicitationRequirements Analysis and Change InitiationConcepts and Concept

  14. Blockchain-oriented Software Engineering: Challenges and New Directions

    OpenAIRE

    Porru, Simone; Pinna, Andrea; Marchesi, Michele; Tonelli, Roberto

    2017-01-01

    The Blockchain technology is reshaping finance, economy, money to the extent that its disruptive power is compared to that of the Internet and the Web in their early days. As a result, all the software development revolving around the Blockchain technology is growing at a staggering rate. In this paper, we acknowledge the need for software engineers to devise specialized tools and techniques for blockchain-oriented software development. From current challenges concerning the definition of new...

  15. Object oriented software for simulation and reconstruction of big alignment systems

    CERN Document Server

    Arce, P

    2003-01-01

    Modern high-energy physics experiments require tracking detectors to provide high precision under difficult working conditions (high magnetic field, gravity loads and temperature gradients). This is the reason why several of them are deciding to implement optical alignment systems to monitor the displacement of tracking elements in operation. To simulate and reconstruct optical alignment systems a general purpose software, named COCOA, has been developed, using the object oriented paradigm and software engineering techniques. Thanks to the big flexibility in its design, COCOA is able to reconstruct any optical system made of a combination of the following objects: laser, x-hair laser, incoherent source - pinhole, lens, mirror, plate splitter, cube splitter, optical square, rhomboid prism, 2D sensor, 1D sensor, distance-meter, tilt-meter, user-defined. COCOA was designed to satisfy the requirements of the CMS alignment system, which has several thousands of components. Sparse matrix techniques had been investi...

  16. Featureous: infrastructure for feature-centric analysis of object-oriented software

    DEFF Research Database (Denmark)

    Olszak, Andrzej; Jørgensen, Bo Nørregaard

    2010-01-01

    The decentralized nature of collaborations between objects in object-oriented software makes it difficult to understand how user-observable program features are implemented and how their implementations relate to each other. It is worthwhile to improve this situation, since feature-centric program...... understanding and modification are essential during software evolution and maintenance. In this paper, we present an infrastructure built on top of the NetBeans IDE called Featureous that allows for rapid construction of tools for feature-centric analysis of object-oriented software. Our infrastructure...... encompasses a lightweight feature location mechanism, a number of analytical views and an API allowing for addition of third-party extensions. To form a common conceptual framework for future feature-centric extensions, we propose to structure feature centric analysis along three dimensions: perspective...

  17. Object oriented reconstruction software for the Instrumented Flux Return of BABAR

    CERN Document Server

    Nardo, E D; Lista, L

    2001-01-01

    BABAR experiment is the first High Energy Physics experiment to extensively use object oriented technology and the C++ programming language for online and offline software. Object orientation permits to reach a high level of flexibility and maintainability of the code, which is a key point in a large project with many developers. These goals are reached with the introduction of reusable code elements, with abstraction of code behaviours and polymorphism. Software design, before code implementation, is the key task that determines the achievement of such a goal. We present the experience with the application of object oriented technology and design patterns to the reconstruction software of the Instrumented Flux Return detector of BABAR experiment. The use of abstract interfaces improved the development of reconstruction code and permitted to flexibly apply modification to reconstruction strategies, and eventually to reduce the maintenance load. The experience during the last years of development is presented....

  18. Object oriented software development in the atlas collaboration

    International Nuclear Information System (INIS)

    Schaffer, A.

    1994-01-01

    For more than a year a group within the Atlas Collaboration has been investigating the possibilities of the application of object oriented methodology and program development to the software of Atlas. Recently this group has been joined by members of the CMS Collaboration in the submission of a proposal to the DRDC at CERN to find a common solution for the software development environment for LHC. This talk will discuss the progress achieved so far and the future perspective

  19. Object Oriented Approach to Software Development for LHC Experiments

    CERN Multimedia

    Tummers, B J; Day, C; Innocente, V; Mount, R; Visser, E; Burnett, T H; Balke, C

    2002-01-01

    % RD41 \\\\ \\\\ We propose to study the viability of the Object Oriented~(OO) approach for developing the code for LHC experiments. The authors of this proposal will learn the key issues of this approach:~~OO analysis and design. Several methodologies will be studied to select the most appropriate for the High Energy Physics case. Some Computer Aided Software Engineering tools and implementation languages will be evaluated. These studies will be carried out with various well-defined prototypes, some of which have been defined in a preceding study and some of which will be defined in the course of this R\\&D project. We propose to also study in this project how the OO approach enhances a different, and hopefully better, project management. Management tools will be tried and professional training will be organized.

  20. Component Composability Issues in Object-Oriented Programming

    NARCIS (Netherlands)

    Aksit, Mehmet; Tekinerdogan, B.

    1997-01-01

    Building software from reusable components is considered important in reducing development costs. Object-oriented languages such as C++, Smalltalk and Java, however, are not capable of expressing certain aspects of applications in a composable way. Software engineers may experience difficulties in

  1. Object oriented fault diagnosis system for space shuttle main engine redlines

    Science.gov (United States)

    Rogers, John S.; Mohapatra, Saroj Kumar

    1990-01-01

    A great deal of attention has recently been given to Artificial Intelligence research in the area of computer aided diagnostics. Due to the dynamic and complex nature of space shuttle red-line parameters, a research effort is under way to develop a real time diagnostic tool that will employ historical and engineering rulebases as well as a sensor validity checking. The capability of AI software development tools (KEE and G2) will be explored by applying object oriented programming techniques in accomplishing the diagnostic evaluation.

  2. Agent-oriented software engineering reflections on architectures, methodologies, languages, and frameworks

    CERN Document Server

    Shehory, Onn

    2014-01-01

    With this book, Onn Shehory and Arnon Sturm, together with further contributors, introduce the reader to various facets of agent-oriented software engineering (AOSE). They provide a selected collection of state-of-the-art findings, which combines research from information systems, artificial intelligence, distributed systems and software engineering and covers essential development aspects of agent-based systems. The book chapters are organized into five parts. The first part introduces the AOSE domain in general, including introduction to agents and the peculiarities of software engineerin

  3. Aspect-Oriented Programming Using Composition Filters, in Object-Oriented Technology

    NARCIS (Netherlands)

    Aksit, Mehmet; Demeyer, S.; Bosch, H.G.P.; Tekinerdogan, B.

    Software engineers may experience problems in modeling certain aspects while applying object-oriented techniques [4, 10, 11]. Composition-Filters are capable of expressing various different kinds of aspects in a uniform manner. These aspects are, for example, inheritance and delegation [1] and

  4. Collected software engineering papers, volume 9

    Science.gov (United States)

    1991-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from November 1990 through October 1991. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. This is the ninth such volume of technical papers produced by the SEL. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. For the convenience of this presentation, the eight papers contained here are grouped into three major categories: (1) software models studies; (2) software measurement studies; and (3) Ada technology studies. The first category presents studies on reuse models, including a software reuse model applied to maintenance and a model for an organization to support software reuse. The second category includes experimental research methods and software measurement techniques. The third category presents object-oriented approaches using Ada and object-oriented features proposed for Ada. The SEL is actively working to understand and improve the software development process at GSFC.

  5. Object Oriented Software Development Using A Use-Cases Approach

    African Journals Online (AJOL)

    This paper presents a systematic approach to the analysis and design of an online banking system using the Use-Cases method of Jacobson. This analysis and design method will support the development of highly effective reuseable code, thus bringing the benefits of object orientation into important software projects.

  6. Quick Prototyping of Educational Software: An Object-Oriented Approach.

    Science.gov (United States)

    Wong, Simon C-H

    1994-01-01

    Introduces and demonstrates a quick-prototyping model for educational software development that can be used by teachers developing their own courseware using an object-oriented programming system. Development of a courseware package called "The Match-Maker" is explained as an example that uses HyperCard for quick prototyping. (Contains…

  7. ZLIB++: Object-oriented numerical library for differential algebra

    International Nuclear Information System (INIS)

    Malitsky, N.; Reshetov, A.; Yan, Y.

    1994-01-01

    New software engineering tools and object-oriented design have a great impact on the software development process. But in high energy physics all major packages were implemented in FORTRAN and porting of these codes to another language is rather complicated, primarily because of their huge size and heavy use of FORTRAN mathematical libraries. But some intrinsic accelerator concepts, such as nested structure of modern accelerators, look very pretty when implemented with the object-oriented approach. In this paper we present the object-oriented version of ZLIB, numerical library for differential algebra and show how the modern approaches can simplify the development and support of accelerator codes, decrease code size, and allow description of complex mathematical transformations by simple language

  8. Software SCMS re-engineering for a objected oriented language (JAVA) for use in construction of segmented phantoms

    International Nuclear Information System (INIS)

    Possani, Rafael Guedes

    2012-01-01

    Recent treatment planning systems depend strongly on CT images and the tendency is that the internal dosimetry procedures in nuclear medicine therapy be also based on images, such as magnetic resonance imaging (MRI) and computed tomography (CT), to extract anatomical and histological information, as well as, functional imaging or activities map as PET and SPECT. This information associated with a radiation transport simulation software is used to estimate internal dose in patients undergoing treatment in nuclear medicine. This work aims to re-engineer the software SCMS, which is an interface software between the Monte Carlo code MCNP, and the medical images, that carry information from the patient in treatment. In other words, the necessary information contained in the images are interpreted and presented in a specific format to the Monte Carlo MCNP code to perform the simulation of radiation transport. Therefore, the user does not need to understand the complex process of inputting data on MCNP, as the SCMS is responsible for automatically constructing anatomical data from the patient, as well as the radioactive source data. The SCMS was originally developed in Fortran-77. In this work it was rewritten in an object-oriented language (JAVA). New features and data options have also been incorporated into the software. Thus, the new software has a number of improvements, such as intuitive GUI and a menu for the selection of the energy spectra correspondent to a specific radioisotope stored in a XML data bank. The new version also supports new materials and the user can specify an image region of interest for the calculation of absorbed dose. (author)

  9. Object-Oriented Modular Architecture for Ground Combat Simulation

    National Research Council Canada - National Science Library

    Luqi; Berzins, V; Shing, M; Saluto, M; Williams, J

    2000-01-01

    .... It describes the effective use of computer-aided prototyping techniques for re-engineering the legacy software to develop an object-oriented modular architecture for the Janus combat simulation system. Janus...

  10. ZLIB++: Object Oriented Numerical Library for Differential Algebra

    International Nuclear Information System (INIS)

    Yan, Yiton T

    2003-01-01

    New software engineering tools and object-oriented design have a great impact on the software development process. but in high energy physics all major packages were implemented in FORTRAN and porting of these codes to another language is rather complicated, primarily because of their huge size and heavy use of FORTRAN mathematical libraries. But some intrinsic accelerator concepts, such as nested structure of modern accelerators, look very pretty when implemented with the object-oriented approach. In this paper the authors present the object-oriented version of ZLIB, numerical library for differential algebra, and show how the modern approaches can simplify the development and support of accelerator codes, decrease code size, and allow description of complex mathematical transformations by simple language

  11. Object-oriented programming for the biosciences.

    Science.gov (United States)

    Wiechert, W; Joksch, B; Wittig, R; Hartbrich, A; Höner, T; Möllney, M

    1995-10-01

    The development of software systems for the biosciences is always closely connected to experimental practice. Programs must be able to handle the inherent complexity and heterogeneous structure of biological systems in combination with the measuring equipment. Moreover, a high degree of flexibility is required to treat rapidly changing experimental conditions. Object-oriented methodology seems to be well suited for this purpose. It enables an evolutionary approach to software development that still maintains a high degree of modularity. This paper presents experience with object-oriented technology gathered during several years of programming in the fields of bioprocess development and metabolic engineering. It concentrates on the aspects of experimental support, data analysis, interaction and visualization. Several examples are presented and discussed in the general context of the experimental cycle of knowledge acquisition, thus pointing out the benefits and problems of object-oriented technology in the specific application field of the biosciences. Finally, some strategies for future development are described.

  12. Object oriented software for simulation and reconstruction of big alignment systems

    International Nuclear Information System (INIS)

    Arce, P.

    2003-01-01

    Modern high-energy physics experiments require tracking detectors to provide high precision under difficult working conditions (high magnetic field, gravity loads and temperature gradients). This is the reason why several of them are deciding to implement optical alignment systems to monitor the displacement of tracking elements in operation. To simulate and reconstruct optical alignment systems a general purpose software, named COCOA, has been developed, using the object oriented paradigm and software engineering techniques. Thanks to the big flexibility in its design, COCOA is able to reconstruct any optical system made of a combination of the following objects: laser, x-hair laser, incoherent source--pinhole, lens, mirror, plate splitter, cube splitter, optical square, rhomboid prism, 2D sensor, 1D sensor, distance-meter, tilt-meter, user-defined. COCOA was designed to satisfy the requirements of the CMS alignment system, which has several thousands of components. Sparse matrix techniques had been investigated for solving non-linear least squares fits with such a big number of parameters. The soundness of COCOA has already been stressed in the reconstruction of the data of a full simulation of a quarter plane of the CMS muon alignment system, which implied solving a system of 900 equations with 850 unknown parameters. Full simulation of the whole CMS alignment system, with over 30,000 parameters, is quite advanced. The integration of COCOA in the CMS software framework is also under progress

  13. FEATUREOUS: AN INTEGRATED ENVIRONMENT FOR FEATURE-CENTRIC ANALYSIS AND MODIFICATION OF OBJECT-ORIENTED SOFTWARE

    DEFF Research Database (Denmark)

    Olszak, Andrzej; Jørgensen, Bo Nørregaard

    2011-01-01

    The decentralized nature of collaborations between objects in object-oriented software makes it difficult to understand the implementations of user-observable program features and their respective interdependencies. As feature-centric program understanding and modification are essential during...... software maintenance and evolution, this situation needs to change. In this paper, we present Featureous, an integrated development environment built on top of the NetBeans IDE that facilitates feature-centric analysis of object-oriented software. Our integrated development environment encompasses...... a lightweight feature location mechanism, a number of reusable analytical views, and necessary APIs for supporting future extensions. The base of the integrated development environment is a conceptual framework comprising of three complementary dimensions of comprehension: perspective, abstraction...

  14. NASA JPL Distributed Systems Technology (DST) Object-Oriented Component Approach for Software Inter-Operability and Reuse

    Science.gov (United States)

    Hall, Laverne; Hung, Chaw-Kwei; Lin, Imin

    2000-01-01

    The purpose of this paper is to provide a description of NASA JPL Distributed Systems Technology (DST) Section's object-oriented component approach to open inter-operable systems software development and software reuse. It will address what is meant by the terminology object component software, give an overview of the component-based development approach and how it relates to infrastructure support of software architectures and promotes reuse, enumerate on the benefits of this approach, and give examples of application prototypes demonstrating its usage and advantages. Utilization of the object-oriented component technology approach for system development and software reuse will apply to several areas within JPL, and possibly across other NASA Centers.

  15. The Implementation of Satellite Attitude Control System Software Using Object Oriented Design

    Science.gov (United States)

    Reid, W. Mark; Hansell, William; Phillips, Tom; Anderson, Mark O.; Drury, Derek

    1998-01-01

    NASA established the Small Explorer (SNMX) program in 1988 to provide frequent opportunities for highly focused and relatively inexpensive space science missions. The SMEX program has produced five satellites, three of which have been successfully launched. The remaining two spacecraft are scheduled for launch within the coming year. NASA has recently developed a prototype for the next generation Small Explorer spacecraft (SMEX-Lite). This paper describes the object-oriented design (OOD) of the SMEX-Lite Attitude Control System (ACS) software. The SMEX-Lite ACS is three-axis controlled and is capable of performing sub-arc-minute pointing. This paper first describes high level requirements governing the SMEX-Lite ACS software architecture. Next, the context in which the software resides is explained. The paper describes the principles of encapsulation, inheritance, and polymorphism with respect to the implementation of an ACS software system. This paper will also discuss the design of several ACS software components. Specifically, object-oriented designs are presented for sensor data processing, attitude determination, attitude control, and failure detection. Finally, this paper will address the establishment of the ACS Foundation Class (AFC) Library. The AFC is a large software repository, requiring a minimal amount of code modifications to produce ACS software for future projects.

  16. Reliability Engineering for Service Oriented Architectures

    Science.gov (United States)

    2013-02-01

    Common Object Request Broker Architecture Ecosystem In software , an ecosystem is a set of applications and/or services that grad- ually build up over time...Enterprise Service Bus Foreign In an SOA context: Any SOA, service or software which the owners of the calling software do not have control of, either...SOA Service Oriented Architecture SRE Software Reliability Engineering System Mode Many systems exhibit different modes of operation. E.g. the cockpit

  17. Modeling the Object-Oriented Software Process: OPEN and the Unified Process

    NARCIS (Netherlands)

    van den Berg, Klaas; Aksit, Mehmet; van den Broek, P.M.

    A short introduction to software process modeling is presented, particularly object-oriented modeling. Two major industrial process models are discussed: the OPEN model and the Unified Process model. In more detail, the quality assurance in the Unified Process tool (formally called Objectory) is

  18. Modeling the Object-Oriented Software Process: OPEN and the Unified Process

    OpenAIRE

    van den Berg, Klaas; Aksit, Mehmet; van den Broek, P.M.

    1999-01-01

    A short introduction to software process modeling is presented, particularly object-oriented modeling. Two major industrial process models are discussed: the OPEN model and the Unified Process model. In more detail, the quality assurance in the Unified Process tool (formally called Objectory) is reviewed.

  19. Object-Oriented Software Tools for the Construction of Preconditioners

    Directory of Open Access Journals (Sweden)

    Eva Mossberg

    1997-01-01

    Full Text Available In recent years, there has been considerable progress concerning preconditioned iterative methods for large and sparse systems of equations arising from the discretization of differential equations. Such methods are particularly attractive in the context of high-performance (parallel computers. However, the implementation of a preconditioner is a nontrivial task. The focus of the present contribution is on a set of object-oriented software tools that support the construction of a family of preconditioners based on fast transforms. By combining objects of different classes, it is possible to conveniently construct any preconditioner within this family.

  20. Object-oriented user interfaces for personalized mobile learning

    CERN Document Server

    Alepis, Efthimios

    2014-01-01

    This book presents recent research in mobile learning and advanced user interfaces. It is shown how the combination of this fields can result in personalized educational software that meets the requirements of state-of-the-art mobile learning software. This book provides a framework that is capable of incorporating the software technologies, exploiting a wide range of their current advances and additionally investigating ways to go even further by providing potential solutions to future challenges. The presented approach uses the well-known Object-Oriented method in order to address these challenges. Throughout this book, a general model is constructed using Object-Oriented Architecture. Each chapter focuses on the construction of a specific part of this model, while in the conclusion these parts are unified. This book will help software engineers build more sophisticated personalized software that targets in mobile education, while at the same time retaining a high level of adaptivity and user-friendliness w...

  1. Development of object-oriented software technique in field of high energy and nuclear physics

    International Nuclear Information System (INIS)

    Ye Yanlin; Ying Jun; Chen Tao

    1997-01-01

    The background for developing object-oriented software technique in high energy and nuclear physics has been introduced. The progress made at CERN and US has been outlined. The merit and future of various software techniques have been commented

  2. Object-Oriented Type Systems

    DEFF Research Database (Denmark)

    Schwartzbach, Michael Ignatieff; Palsberg, Jens

    a type system that generalizes and explains them. The theory is based on an idealized object-oriented language called BOPL (Basic Object Programming Language), containing common features of the above languages. A type system, type inference algorithm, and typings of inheritance and genericity......Object-Oriented Type Systems Jens Palsberg and Michael I. Schwartzbach Aarhus University, Denmark Type systems are required to ensure reliability and efficiency of software. For object-oriented languages, typing is an especially challenging problem because of inheritance, assignment, and late...... are provided for BOPL. Throughout, the results are related to the languages on which BOPL is based. This text offers advanced undergraduates and professional software developers a sound understanding of the key aspects of object-oriented type systems. All algorithms are implemented in a freely available...

  3. Using Object-Orientation as a Common Basis for System Development Education

    DEFF Research Database (Denmark)

    Madsen, Ole Lehrmann; Knudsen, Jørgen Lindskov

    1996-01-01

    development method where they make a number of iterations through analysis, design and implementation. To do these iterations, it is necessary with good development tools like a CASE tool that supports code generation and reverse engineering. The Mjølner BETA System is used in the various courses as a common...... areas to be taught. Besides providing a common conceptual framework, it also makes it possible to use common languages and tools that have a profound influence on the integration. Especially in the software engineering course, it has been possible to let the students experience an iterative software...... platform, but the students are also introduced to other object-oriented environments like Smalltalk, Self, Eiffel, and C++. The Mjølner BETA System that is a software development environment for object-oriented development based on the BETA programming language....

  4. Improving package structure of object-oriented software using multi-objective optimization and weighted class connections

    Directory of Open Access Journals (Sweden)

    Amarjeet

    2017-07-01

    Full Text Available The software maintenance activities performed without following the original design decisions about the package structure usually deteriorate the quality of software modularization, leading to decay of the quality of the system. One of the main reasons for such structural deterioration is inappropriate grouping of source code classes in software packages. To improve such grouping/modular-structure, previous researchers formulated the software remodularization problem as an optimization problem and solved it using search-based meta-heuristic techniques. These optimization approaches aimed at improving the quality metrics values of the structure without considering the original package design decisions, often resulting into a totally new software modularization. The entirely changed software modularization becomes costly to realize as well as difficult to understand for the developers/maintainers. To alleviate this issue, we propose a multi-objective optimization approach to improve the modularization quality of an object-oriented system with minimum possible movement of classes between existing packages of original software modularization. The optimization is performed using NSGA-II, a widely-accepted multi-objective evolutionary algorithm. In order to ensure minimum modification of original package structure, a new approach of computing class relations using weighted strengths has been proposed here. The weights of relations among different classes are computed on the basis of the original package structure. A new objective function has been formulated using these weighted class relations. This objective function drives the optimization process toward better modularization quality simultaneously ensuring preservation of original structure. To evaluate the results of the proposed approach, a series of experiments are conducted over four real-worlds and two random software applications. The experimental results clearly indicate the effectiveness

  5. The Need for Killer Examples for Object-Oriented Frameworks

    DEFF Research Database (Denmark)

    Caspersen, Michael Edelgaard; Christensen, Henrik Bærbak

    2003-01-01

    In this paper, we argue in favor of introducing object-oriented frameworks as an important topic in our software engineering teaching. Frameworks provide a basis for students to build interesting and impressive programs even with small programming effort at the introductory level. Frameworks...

  6. Exploring object-oriented technologies

    CERN Multimedia

    2000-01-01

    Object oriented technologies are the corner stone of modern software development. A piece of software is today conceived, constructed and tested as a set of objects interacting with each other, rather than as a large sequential program. OO is present throughout the whole software life cycle allowing for maintainable code re-use, clean design and manageable complexity. OO is also the seed upon which other technologies are being built and deployed, such as distributed computing, component models, open interoperability, etc.This series of three seminars will provide a pragmatic overview on the main ideas behind OO software development and will explain the inner workings of the most outstanding technologies being built on OO, such as UML, CORBA, Component Models, Agent Oriented Computing, Business Objects, etc.

  7. VIMOS Instrument Control Software Design: an Object Oriented Approach

    Science.gov (United States)

    Brau-Nogué, Sylvie; Lucuix, Christian

    2002-12-01

    The Franco-Italian VIMOS instrument is a VIsible imaging Multi-Object Spectrograph with outstanding multiplex capabilities, allowing to take spectra of more than 800 objects simultaneously, or integral field spectroscopy mode in a 54x54 arcsec area. VIMOS is being installed at the Nasmyth focus of the third Unit Telescope of the European Southern Observatory Very Large Telescope (VLT) at Mount Paranal in Chile. This paper will describe the analysis, the design and the implementation of the VIMOS Instrument Control System, using UML notation. Our Control group followed an Object Oriented software process while keeping in mind the ESO VLT standard control concepts. At ESO VLT a complete software library is available. Rather than applying waterfall lifecycle, ICS project used iterative development, a lifecycle consisting of several iterations. Each iteration consisted in : capture and evaluate the requirements, visual modeling for analysis and design, implementation, test, and deployment. Depending of the project phases, iterations focused more or less on specific activity. The result is an object model (the design model), including use-case realizations. An implementation view and a deployment view complement this product. An extract of VIMOS ICS UML model will be presented and some implementation, integration and test issues will be discussed.

  8. Systematic development of industrial control systems using Software/Hardware Engineering

    NARCIS (Netherlands)

    Voeten, J.P.M.; van der Putten, P.H.A.; Stevens, M.P.J.; Milligan, P.; Corr, P.

    1997-01-01

    SHE (Software/Hardware Engineering) is a new object-oriented analysis, specification and design method for complex reactive hardware/software systems. SHE is based on the formal specification language POOSL and a design framework guiding analysis and design activities. This paper reports on the

  9. The Implementation of Satellite Control System Software Using Object Oriented Design

    Science.gov (United States)

    Anderson, Mark O.; Reid, Mark; Drury, Derek; Hansell, William; Phillips, Tom

    1998-01-01

    NASA established the Small Explorer (SMEX) program in 1988 to provide frequent opportunities for highly focused and relatively inexpensive space science missions that can be launched into low earth orbit by small expendable vehicles. The development schedule for each SMEX spacecraft was three years from start to launch. The SMEX program has produced five satellites; Solar Anomalous and Magnetospheric Particle Explorer (SAMPEX), Fast Auroral Snapshot Explorer (FAST), Submillimeter Wave Astronomy Satellite (SWAS), Transition Region and Coronal Explorer (TRACE) and Wide-Field Infrared Explorer (WIRE). SAMPEX and FAST are on-orbit, TRACE is scheduled to be launched in April of 1998, WIRE is scheduled to be launched in September of 1998, and SWAS is scheduled to be launched in January of 1999. In each of these missions, the Attitude Control System (ACS) software was written using a modular procedural design. Current program goals require complete spacecraft development within 18 months. This requirement has increased pressure to write reusable flight software. Object-Oriented Design (OOD) offers the constructs for developing an application that only needs modification for mission unique requirements. This paper describes the OOD that was used to develop the SMEX-Lite ACS software. The SMEX-Lite ACS is three-axis controlled, momentum stabilized, and is capable of performing sub-arc-minute pointing. The paper first describes the high level requirements which governed the architecture of the SMEX-Lite ACS software. Next, the context in which the software resides is explained. The paper describes the benefits of encapsulation, inheritance and polymorphism with respect to the implementation of an ACS software system. This paper will discuss the design of several software components that comprise the ACS software. Specifically, Object-Oriented designs are presented for sensor data processing, attitude control, attitude determination and failure detection. The paper addresses

  10. An object-oriented description method of EPMM process

    Science.gov (United States)

    Jiang, Zuo; Yang, Fan

    2017-06-01

    In order to use the object-oriented mature tools and language in software process model, make the software process model more accord with the industrial standard, it’s necessary to study the object-oriented modelling of software process. Based on the formal process definition in EPMM, considering the characteristics that Petri net is mainly formal modelling tool and combining the Petri net modelling with the object-oriented modelling idea, this paper provides this implementation method to convert EPMM based on Petri net into object models based on object-oriented description.

  11. [An object-oriented intelligent engineering design approach for lake pollution control].

    Science.gov (United States)

    Zou, Rui; Zhou, Jing; Liu, Yong; Zhu, Xiang; Zhao, Lei; Yang, Ping-Jian; Guo, Huai-Cheng

    2013-03-01

    Regarding the shortage and deficiency of traditional lake pollution control engineering techniques, a new lake pollution control engineering approach was proposed in this study, based on object-oriented intelligent design (OOID) from the perspective of intelligence. It can provide a new methodology and framework for effectively controlling lake pollution and improving water quality. The differences between the traditional engineering techniques and the OOID approach were compared. The key points for OOID were described as object perspective, cause and effect foundation, set points into surface, and temporal and spatial optimization. The blue algae control in lake was taken as an example in this study. The effect of algae control and water quality improvement were analyzed in details from the perspective of object-oriented intelligent design based on two engineering techniques (vertical hydrodynamic mixer and pumping algaecide recharge). The modeling results showed that the traditional engineering design paradigm cannot provide scientific and effective guidance for engineering design and decision-making regarding lake pollution. Intelligent design approach is based on the object perspective and quantitative causal analysis in this case. This approach identified that the efficiency of mixers was much higher than pumps in achieving the goal of low to moderate water quality improvement. However, when the objective of water quality exceeded a certain value (such as the control objective of peak Chla concentration exceeded 100 microg x L(-1) in this experimental water), the mixer cannot achieve this goal. The pump technique can achieve the goal but with higher cost. The efficiency of combining the two techniques was higher than using one of the two techniques alone. Moreover, the quantitative scale control of the two engineering techniques has a significant impact on the actual project benefits and costs.

  12. Extracting UML Class Diagrams from Object-Oriented Fortran: ForUML

    Directory of Open Access Journals (Sweden)

    Aziz Nanthaamornphong

    2015-01-01

    Full Text Available Many scientists who implement computational science and engineering software have adopted the object-oriented (OO Fortran paradigm. One of the challenges faced by OO Fortran developers is the inability to obtain high level software design descriptions of existing applications. Knowledge of the overall software design is not only valuable in the absence of documentation, it can also serve to assist developers with accomplishing different tasks during the software development process, especially maintenance and refactoring. The software engineering community commonly uses reverse engineering techniques to deal with this challenge. A number of reverse engineering-based tools have been proposed, but few of them can be applied to OO Fortran applications. In this paper, we propose a software tool to extract unified modeling language (UML class diagrams from Fortran code. The UML class diagram facilitates the developers' ability to examine the entities and their relationships in the software system. The extracted diagrams enhance software maintenance and evolution. The experiments carried out to evaluate the proposed tool show its accuracy and a few of the limitations.

  13. Context-Oriented Language Engineering

    NARCIS (Netherlands)

    T. van der Storm (Tijs)

    2017-01-01

    textabstractContext-oriented programming (COP) facilitates creating software that can dynamically adapt to its environment, such as device, user preferences, sensor inputs and so on. Software language engineering (SLE) is the discipline of principled methods and techniques for creating software

  14. Advanced software development workstation. Comparison of two object-oriented development methodologies

    Science.gov (United States)

    Izygon, Michel E.

    1992-01-01

    This report is an attempt to clarify some of the concerns raised about the OMT method, specifically that OMT is weaker than the Booch method in a few key areas. This interim report specifically addresses the following issues: (1) is OMT object-oriented or only data-driven?; (2) can OMT be used as a front-end to implementation in C++?; (3) the inheritance concept in OMT is in contradiction with the 'pure and real' inheritance concept found in object-oriented (OO) design; (4) low support for software life-cycle issues, for project and risk management; (5) uselessness of functional modeling for the ROSE project; and (6) problems with event-driven and simulation systems. The conclusion of this report is that both Booch's method and Rumbaugh's method are good OO methods, each with strengths and weaknesses in different areas of the development process.

  15. Three Object-Oriented enhancement for EPICS

    Science.gov (United States)

    Osberg, E. A.; Dohan, D. A.; Richter, R.; Biggs, R.; Chillara, K.; Wade, D.; Bossom, J.

    1994-12-01

    In line with our group's intention of producing software using, where possible, Object-Oriented methodologies and techniques in the development of RF control systems, we have undertaken three projects to enhance the EPICS software environment. Two of the projects involve interfaces to EPICs Channel Access from Object-Oriented languages. The third is an enhancement to the EPICS State Notation Language to better support the Shlaer-Mellor Object-Oriented Analysis and Design Methodology. This paper discusses the motivation, approaches, results and future directions of these three projects.

  16. Parallel object-oriented specification language

    NARCIS (Netherlands)

    Florescu, O.; Voeten, J.P.M.; Theelen, B.D.; Geilen, M.C.W.; Corporaal, H.; Burns, Alan

    2008-01-01

    The Parallel Object-Oriented Specification Language (POOSL) is an expressive modelling language for hardware/software systems [10]. It was originally defined in [7] as an object-oriented extension of process algebra CCS [6], supporting (conditional) synchronous message passing between

  17. Experience with case tools in the design of process-oriented software

    Science.gov (United States)

    Novakov, Ognian; Sicard, Claude-Henri

    1994-12-01

    In Accelerator systems such as the CERN PS complex, process equipment has a life time which may exceed the typical life cycle of its related software. Taking into account the variety of such equipment, it is important to keep the analysis and design of the software in a system-independent form. This paper discusses the experience gathered in using commercial CASE tools for analysis, design and reverse engineering of different process-oriented software modules, with a principal emphasis on maintaining the initial analysis in a standardized form. Such tools have been in existence for several years, but this paper shows that they are not fully adapted to our needs. In particular, the paper stresses the problems of integrating such a tool into an existing data-base-dependent development chain, the lack of real-time simulation tools and of Object-Oriented concepts in existing commercial packages. Finally, the paper gives a broader view of software engineering needs in our particular context.

  18. ALICES: an advanced object-oriented software workshop for simulators

    International Nuclear Information System (INIS)

    Sayet, R.L.; Rouault, G.; Pieroux, D.; Houte, U. Van

    1999-01-01

    Reducing simulator development costs while improving model quality, user-friendliness and teaching capabilities, is a major target for many years in the simulation industry. It has led to the development of specific software tools which have been improved progressively following the new features and capabilities offered by the software industry. Unlike most of these software tools, ALICES (which is a French acronym for 'Interactive Software Workshop for the Design of Simulators') is not an upgrade of a previous generation of tools, like putting a graphical front-end to a classical code generator, but a really new development. Its design specification is based on previous experience with different tools as well as on new capabilities of software technology, mainly in Object Oriented Design. This allowed us to make a real technological 'jump' in the simulation industry, beyond the constraints of some traditional approaches. The main objectives behind the development of ALICES were the following: (1) Minimizing the simulator development time and costs: a simulator development consists mainly in developing software. One way to reduce costs is to facilitate reuse of existing software by developing standard components, and by defining interface standards, (2) Insuring that the produced simulator can be maintained and updated at a minimal cost: a simulator must evolve along with the simulated process, and it is then necessary to update periodically the simulator. The cost of an adequate maintenance is highly dependent of the quality of the software workshop, (3) Covering the whole simulator development process: from the data package to the acceptance tests and for maintenance and upgrade activities; with the whole development team, even if it is dispatched at different working sites; respecting the Quality Assurance rules and procedures (CORYS T.E.S.S. and TRACTEBEL are ISO-9001 certified). The development of ALICES was also done to comply with the following two main

  19. APPLICATION FRAMEWORK IN ENGINEERING SERVICE ORIENTED ARCHITECTURE SYSTEM SERVICE

    Directory of Open Access Journals (Sweden)

    Ade Hodijah

    2017-03-01

    Full Text Available The Service Engineering (SE is understood as a framework to create innovative services in application development of information technology approach to Service Oriented Architecture (SOA. Implementing SOA is required methodology to identify services that can be used again in the application and organization of a company. in this research, software development model used is object-oriented methodologies, SOA itself is a collection consisting of tools, technologies, frameworks, and best practices that facilitate the implementation of a service quickly. in a study this uses the tools of Business Process Management System (BPMS to support the implementation of service-oriented software. the purpose of this study is to produce a model of activities and artifacts of the application software development models of the SE with a case study Rate Loans. Validation to the design of the model is done through testing of the software produced. The results showed that the application of the SE in the development of service-oriented software can use the object-oriented methodology by providing additional value-added analysis and redesign of business processes to be implemented on a BPMS. BPMS usage of the application of the SE on the SOA has the advantage of visualization in the management of business processes.

  20. Bridging FORTRAN to object oriented paradigm for HEP data modeling task

    International Nuclear Information System (INIS)

    Huang, J.

    1993-12-01

    Object oriented (OO) technology appears to offer tangible benefits to the high energy physics (HEP) community. Yet many physicists view this newest software development used with much reservation and reluctance. Facing the reality of having to support the existing physics applications, which are written in FORTRAN, the software engineers in the Computer Engineering Group of the Physics Research Division at the Superconducting Super Collider Laboratory have accepted the challenge of mixing an old language with the new technology. This paper describes the experience and the techniques devised to fit FORTRAN into the OO paradigm (OOP)

  1. Aspects on Teaching/Learning with Object Oriented Programming for Entry Level Courses of Engineering.

    Science.gov (United States)

    de Oliveira, Clara Amelia; Conte, Marcos Fernando; Riso, Bernardo Goncalves

    This work presents a proposal for Teaching/Learning, on Object Oriented Programming for Entry Level Courses of Engineering and Computer Science, on University. The philosophy of Object Oriented Programming comes as a new pattern of solution for problems, where flexibility and reusability appears over the simple data structure and sequential…

  2. Partial Evaluation for Class-Based Object-Oriented Languages

    DEFF Research Database (Denmark)

    Schultz, Ulrik Pagh

    2001-01-01

    Object-oriented programming facilitates the development of generic software, but at a significant cost in terms of performance. We apply partial evaluation to object-oriented programs, to automatically map generic software into specific implementations. In this paper we give a concise, formal...... description of a simple partial evaluator for a minimal object-oriented language, and give directions for extending this partial evaluator to handle realistic programs....

  3. An integrated environment for developing object-oriented CAE tools

    Energy Technology Data Exchange (ETDEWEB)

    Hofmann, P.; Ryba, M.; Baitinger, U.G. [Integrated System Engeneering, Stuttgart (Germany)

    1996-12-31

    This paper presents how object oriented techniques can applied to improve the development of CAE tools. For the design of modular and reusable software systems we use predefined and well tested building blocks. These building blocks are reusable software components based on object-oriented technology which allows the assembling of software systems. Today CAE tools are typically very complex and computation extensive. Therefore we need a concept, that join the advantages of the object-oriented paradigm with the advantages of parallel and distributed programming. So we present a design environment for the development of concurrent-object oriented CAE tools called CoDO.

  4. Combined object-oriented approach for development of process control systems

    International Nuclear Information System (INIS)

    Antonova, I.; Batchkova, I.

    2013-01-01

    Full text: The traditional approaches for development of software control system in automation an information technology based on a directly code creation are no longer effective and successful enough. The response to these challenges is the Model Driven Engineering (MDE) or its counter part in the field of architectures Model Driven Architecture (MDA). One of the most promising approach supporting MDE and MDA is UML. It does not specify a methodology for software or system design but aims to provide an integrated modeling framework for structural, functional and behavior descriptions. The success of UML in many object-oriented approaches led to an idea of applying UML to design of multi agent systems. The approach proposed in this paper applies modified Harmony methodology and is based on the combined use of UML profile for system engineering, IEC61499 standard and FIPA standard protocols. The benefits of object-oriented paradigm and the models of IEC61499 standard are extended with UML/SysML and FIPA notations. The development phases are illustrated with the UML models of a simple process control system. The main benefits of using the proposed approach can be summarized as: it provides consistency in the syntax and underlying semantics; increases the potential and likelihood of reuse; supports the whole software development life cycle in the field of process control. Including the SysML features, based on extended activity and parametric diagrams, flow ports and items to the proposed approach opens the possibilities for modeling of continuous system and support the development in field of process control. Another advantage, connected to the UML/MARTE profile is the possibility for analysis of the designed system and detailed design of the hardware and software platform of the modeled application. Key words: object-oriented modeling, control system, UML, SysML, IEC 61499

  5. Object-oriented design and programming in medical decision support.

    Science.gov (United States)

    Heathfield, H; Armstrong, J; Kirkham, N

    1991-12-01

    The concept of object-oriented design and programming has recently received a great deal of attention from the software engineering community. This paper highlights the realisable benefits of using the object-oriented approach in the design and development of clinical decision support systems. These systems seek to build a computational model of some problem domain and therefore tend to be exploratory in nature. Conventional procedural design techniques do not support either the process of model building or rapid prototyping. The central concepts of the object-oriented paradigm are introduced, namely encapsulation, inheritance and polymorphism, and their use illustrated in a case study, taken from the domain of breast histopathology. In particular, the dual roles of inheritance in object-oriented programming are examined, i.e., inheritance as a conceptual modelling tool and inheritance as a code reuse mechanism. It is argued that the use of the former is not entirely intuitive and may be difficult to incorporate into the design process. However, inheritance as a means of optimising code reuse offers substantial technical benefits.

  6. DAE Tools: equation-based object-oriented modelling, simulation and optimisation software

    Directory of Open Access Journals (Sweden)

    Dragan D. Nikolić

    2016-04-01

    Full Text Available In this work, DAE Tools modelling, simulation and optimisation software, its programming paradigms and main features are presented. The current approaches to mathematical modelling such as the use of modelling languages and general-purpose programming languages are analysed. The common set of capabilities required by the typical simulation software are discussed, and the shortcomings of the current approaches recognised. A new hybrid approach is introduced, and the modelling languages and the hybrid approach are compared in terms of the grammar, compiler, parser and interpreter requirements, maintainability and portability. The most important characteristics of the new approach are discussed, such as: (1 support for the runtime model generation; (2 support for the runtime simulation set-up; (3 support for complex runtime operating procedures; (4 interoperability with the third party software packages (i.e. NumPy/SciPy; (5 suitability for embedding and use as a web application or software as a service; and (6 code-generation, model exchange and co-simulation capabilities. The benefits of an equation-based approach to modelling, implemented in a fourth generation object-oriented general purpose programming language such as Python are discussed. The architecture and the software implementation details as well as the type of problems that can be solved using DAE Tools software are described. Finally, some applications of the software at different levels of abstraction are presented, and its embedding capabilities and suitability for use as a software as a service is demonstrated.

  7. OOAspectZ and aspect-oriented UML class diagrams for Aspect-oriented software modelling (AOSM

    Directory of Open Access Journals (Sweden)

    Cristian Vidal Silva

    2013-09-01

    Full Text Available Regarding modularised software development, Aspect-oriented programming (AOP identifies and represents individually crosscutting concerns during the software development cycle’s programming stage. This article proposes and applies OOAspectZ to formal Aspect-oriented requirement specifications for prior stages of the software development cycle. It particularly concerns requirement specification and the structural design of data and behaviour, along with describing and applying Aspect-oriented UML class diagrams to designing classes, aspects and associations among classes and aspects during Aspect-oriented software development (AOSD.OOAspectZ is a language integrating both Object-Z and AspectZ formal languages whereas Aspect-oriented UML class diagrams represent AOP code, object class and crosscutting concern class structure by means of stereotypes. This article shows and applies the main OOAspectZ and AO UML class diagram characteristics to Aspect-oriented software modelling (AOSM using a classic example of AOP. Ideas for future work concerning an actual AOP version are also indicated.

  8. Object Oriented Programming in Director

    Directory of Open Access Journals (Sweden)

    Marian DARDALA

    2006-01-01

    Full Text Available Director is one of the most popular authoring software. As software for developing multimedia applications, Director is an object oriented programming environment. A very important issue to develop multimedia applications is the designing of their own classes. This paper presents the particular aspects concerning the available facilities offered by Lingo to design classes and to generate objects.

  9. Characterization of analysis activity in the development of object-oriented software. Application to a examination system in nuclear medicine

    International Nuclear Information System (INIS)

    Bayas, Marcos Raul Cordova.

    1995-01-01

    The object-oriented approach, formerly proposed as an alternative to conventional software coding techniques, has expanded its scope to other phases in software development, including the analysis phase. This work discusses basic concepts and major object oriented analysis methods, drawing comparisons with structured analysis, which has been the dominant paradigm in systems analysis. The comparison is based on three interdependent system aspects, that must be specified during the analysis phase: data, control and functionality. The specification of a radioisotope examination archive system is presented as a case study. (author). 45 refs., 87 figs., 1 tab

  10. Object-Oriented Type Systems

    DEFF Research Database (Denmark)

    Schwartzbach, Michael Ignatieff; Palsberg, Jens

    binding. Existing languages employ different type systems, and it can be difficult to compare, evaluate and improve them, since there is currently no uniform theory for such languages. This book provides such a theory. The authors review the type systems of Simula, Smalltalk, C++ and Eiffel and present......Object-Oriented Type Systems Jens Palsberg and Michael I. Schwartzbach Aarhus University, Denmark Type systems are required to ensure reliability and efficiency of software. For object-oriented languages, typing is an especially challenging problem because of inheritance, assignment, and late...... a type system that generalizes and explains them. The theory is based on an idealized object-oriented language called BOPL (Basic Object Programming Language), containing common features of the above languages. A type system, type inference algorithm, and typings of inheritance and genericity...

  11. ROSE: A realtime object oriented software environment for high fidelity replica simulation

    International Nuclear Information System (INIS)

    Abramovitch, A.

    1994-01-01

    An object oriented software environment used for the production testing and documentation of real time models for high fidelity training simulators encompasses a wide variety of software constructs including code generators for various classes of physical systems, model executive control programs, a high resolution graphics editor, as well as databases and associated access routines used to store and control information transfer among the various software entities. CAE Electronics' newly developed ROSE allows for the generation and integrated test of thermalhydraulic, analog control, digital control and electrical system models. Based on an iconical/standard subroutine representation of standard plant components along with an admittance matrix solution governed by the topology of the system under consideration, the ROSE blends together network solution algorithms and standard component models, both previously time tested via manual implementation into a single integrated automated software environment. The methodology employed to construct the ROSE, along with a synopsis of the various CASE tools integrated together to form a complete graphics based system for high fidelity real time code generation and validation is described in the presentation. (1 fig.)

  12. Orthographic Software Modelling: A Novel Approach to View-Based Software Engineering

    Science.gov (United States)

    Atkinson, Colin

    The need to support multiple views of complex software architectures, each capturing a different aspect of the system under development, has been recognized for a long time. Even the very first object-oriented analysis/design methods such as the Booch method and OMT supported a number of different diagram types (e.g. structural, behavioral, operational) and subsequent methods such as Fusion, Kruchten's 4+1 views and the Rational Unified Process (RUP) have added many more views over time. Today's leading modeling languages such as the UML and SysML, are also oriented towards supporting different views (i.e. diagram types) each able to portray a different facets of a system's architecture. More recently, so called enterprise architecture frameworks such as the Zachman Framework, TOGAF and RM-ODP have become popular. These add a whole set of new non-functional views to the views typically emphasized in traditional software engineering environments.

  13. Head First Object-Oriented Analysis and Design

    CERN Document Server

    McLaughlin, Brett D; West, David

    2006-01-01

    "Head First Object Oriented Analysis and Design is a refreshing look at subject of OOAD. What sets this book apart is its focus on learning. The authors have made the content of OOAD accessible, usable for the practitioner." Ivar Jacobson, Ivar Jacobson Consulting "I just finished reading HF OOA&D and I loved it! The thing I liked most about this book was its focus on why we do OOA&D-to write great software!" Kyle Brown, Distinguished Engineer, IBM "Hidden behind the funny pictures and crazy fonts is a serious, intelligent, extremely well-crafted presentation of OO Analysis and Design

  14. A novice's process of object-oriented programming

    DEFF Research Database (Denmark)

    Caspersen, Michael Edelgaard; Kölling, Michael

    2006-01-01

    Exposing students to the process of programming is merely implied but not explicitly addressed in texts on programming which appear to deal with 'program' as a noun rather than as a verb.We present a set of principles and techniques as well as an informal but systematic process of decomposing...... a programming problem. Two examples are used to demonstrate the application of process and techniques.The process is a carefully down-scaled version of a full and rich software engineering process particularly suited for novices learning object-oriented programming. In using it, we hope to achieve two things...

  15. Object-oriented program specialization: Aspects into Aspects - or maybe not?

    DEFF Research Database (Denmark)

    Schultz, Ulrik Pagh

    2001-01-01

    and control-flow simplifications based on the usage context. Automatic program specialization has recently been defined in the context of object-oriented languages, and is here referred to as object-oriented program specialization. As part of this work, we have developed an automatic program specializer......Automatic program specialization is a software engineering technique that configures a program fragment by generating an implementation dedicated to a specific usage context. Given a generic component that solves a whole family of problems and that is implemented in a standard programming language......, program specialization can automatically configure this component by generating a specialized implementation. We consider automatic program specialization implemented using partial evaluation, which performs aggressive interprocedural constant propagation of all data types, and performs constant folding...

  16. The GENIE Universal, Object-Oriented Neutrino Generator

    International Nuclear Information System (INIS)

    Andreopoulos, C.

    2006-01-01

    A Universal Object-Oriented/C++ Neutrino Monte Carlo Generator (GENIE) is briefly described. The purpose of this large scale software system is to become the 'canonical' Monte Carlo for Neutrino Interaction Physics whose validity will extend to all neutrino types and nuclear targets in the energy range from few MeV to few hundred GeV. GENIE attempts to unify the Monte Carlo generation approaches used by a host of different, smaller procedural systems in a modern object-oriented software design. It is already a mature software system that currently consists of ∼100,000 lines of C++ code (∼350 classes organised in ∼40 packages)

  17. Advanced Object-Oriented Programming in R

    DEFF Research Database (Denmark)

    Mailund, Thomas

    2017-01-01

    Learn how to write object-oriented programs in R and how to construct classes and class hierarchies in the three object-oriented systems available in R. This book gives an introduction to object-oriented programming in the R programming language and shows you how to use and apply R in an object......-oriented manner. You will then be able to use this powerful programming style in your own statistical programming projects to write flexible and extendable software. After reading Advanced Object-Oriented Programming in R, you'll come away with a practical project that you can reuse in your own analytics coding...... of data being manipulated. You will: Define and use classes and generic functions using R Work with the R class hierarchies Benefit from implementation reuse Handle operator overloading Apply the S4 and R6 classes...

  18. Advanced Object-Oriented Programming in R

    DEFF Research Database (Denmark)

    Mailund, Thomas

    Learn how to write object-oriented programs in R and how to construct classes and class hierarchies in the three object-oriented systems available in R. This book gives an introduction to object-oriented programming in the R programming language and shows you how to use and apply R in an object......-oriented manner. You will then be able to use this powerful programming style in your own statistical programming projects to write flexible and extendable software. After reading Advanced Object-Oriented Programming in R, you'll come away with a practical project that you can reuse in your own analytics coding...... of data being manipulated. You will: Define and use classes and generic functions using R Work with the R class hierarchies Benefit from implementation reuse Handle operator overloading Apply the S4 and R6 classes...

  19. Future of Software Engineering Standards

    Science.gov (United States)

    Poon, Peter T.

    1997-01-01

    In the new millennium, software engineering standards are expected to continue to influence the process of producing software-intensive systems which are cost-effetive and of high quality. These sytems may range from ground and flight systems used for planetary exploration to educational support systems used in schools as well as consumer-oriented systems.

  20. Object-oriented analysis and design

    CERN Document Server

    Deacon, John

    2005-01-01

    John Deacon’s in-depth, highly pragmatic approach to object-oriented analysis and design, demonstrates how to lay the foundations for developing the best possible software. Students will learn how to ensure that analysis and design remain focused and productive. By working through the book, they will gain a solid working knowledge of best practices in software development.

  1. C++, objected-oriented programming, and astronomical data models

    Science.gov (United States)

    Farris, A.

    1992-01-01

    Contemporary astronomy is characterized by increasingly complex instruments and observational techniques, higher data collection rates, and large data archives, placing severe stress on software analysis systems. The object-oriented paradigm represents a significant new approach to software design and implementation that holds great promise for dealing with this increased complexity. The basic concepts of this approach will be characterized in contrast to more traditional procedure-oriented approaches. The fundamental features of objected-oriented programming will be discussed from a C++ programming language perspective, using examples familiar to astronomers. This discussion will focus on objects, classes and their relevance to the data type system; the principle of information hiding; and the use of inheritance to implement generalization/specialization relationships. Drawing on the object-oriented approach, features of a new database model to support astronomical data analysis will be presented.

  2. Applications of an OO (Objected Oriented) methodology and case to a DAQ system

    International Nuclear Information System (INIS)

    Bee, C.P.; Eshghi, S.; Jones, R.

    1996-01-01

    The RD13 project has evaluated the use of the Object Oriented Information Engineering (OOIE) method during the development of several software components connected to the DAQ system. The method is supported by a sophisticated commercial CASE tool (Object Management Workbench) and programming environment (Kappa) which covers the full life-cycle of the software including model simulation, code generation and application deployment. This paper gives an overview of the method, CASE tool, DAD components which have been developed and we relate our experiences with the method and tool, its integration into our development environment and the spiral life cycle if supports. (author)

  3. Conceptual Design of Object Oriented Program (OOP) for Pilot Code of Two-Fluid, Three-field Model with C++ 6.0

    International Nuclear Information System (INIS)

    Chung, Bub Dong; Lee, Young Jin

    2006-01-01

    Engineering software for design purpose in nuclear industries have been developed since early 1970s, and well established in 1980s. The most popular and common language for the software development has been FORTRAN series, until the more sophisticated GUI and software coupling is needed. The advanced computer language, such as C++, C has been developed to help the programming for the easy GUI need and reuse of well developed routines, with adopting the objective oriented program. A recent trend of programming becomes objective-oriented since the results are often more intuitive and easier to maintain than procedure program. The main motivation of this work is to capture objective oriented concepts for conventional safety analysis programs which consist of many functions and procedure oriented structures. In this work, the new objective programming with C++ 6.0 language has been tried for the PILOT code written in FORTRAN language, and conceptual OOP design of the system safety analysis code has been done

  4. Humanoid Robotics: Real-Time Object Oriented Programming

    Science.gov (United States)

    Newton, Jason E.

    2005-01-01

    Programming of robots in today's world is often done in a procedural oriented fashion, where object oriented programming is not incorporated. In order to keep a robust architecture allowing for easy expansion of capabilities and a truly modular design, object oriented programming is required. However, concepts in object oriented programming are not typically applied to a real time environment. The Fujitsu HOAP-2 is the test bed for the development of a humanoid robot framework abstracting control of the robot into simple logical commands in a real time robotic system while allowing full access to all sensory data. In addition to interfacing between the motor and sensory systems, this paper discusses the software which operates multiple independently developed control systems simultaneously and the safety measures which keep the humanoid from damaging itself and its environment while running these systems. The use of this software decreases development time and costs and allows changes to be made while keeping results safe and predictable.

  5. Proceedings of the Twenty-Fourth Annual Software Engineering Workshop

    Science.gov (United States)

    2000-01-01

    On December 1 and 2, the Software Engineering Laboratory (SEL), a consortium composed of NASA/Goddard, the University of Maryland, and CSC, held the 24th Software Engineering Workshop (SEW), the last of the millennium. Approximately 240 people attended the 2-day workshop. Day 1 was composed of four sessions: International Influence of the Software Engineering Laboratory; Object Oriented Testing and Reading; Software Process Improvement; and Space Software. For the first session, three internationally known software process experts discussed the influence of the SEL with respect to software engineering research. In the Space Software session, prominent representatives from three different NASA sites- GSFC's Marti Szczur, the Jet Propulsion Laboratory's Rick Doyle, and the Ames Research Center IV&V Facility's Lou Blazy- discussed the future of space software in their respective centers. At the end of the first day, the SEW sponsored a reception at the GSFC Visitors' Center. Day 2 also provided four sessions: Using the Experience Factory; A panel discussion entitled "Software Past, Present, and Future: Views from Government, Industry, and Academia"; Inspections; and COTS. The day started with an excellent talk by CSC's Frank McGarry on "Attaining Level 5 in CMM Process Maturity." Session 2, the panel discussion on software, featured NASA Chief Information Officer Lee Holcomb (Government), our own Jerry Page (Industry), and Mike Evangelist of the National Science Foundation (Academia). Each presented his perspective on the most important developments in software in the past 10 years, in the present, and in the future.

  6. Identifying Relevant Studies in Software Engineering

    DEFF Research Database (Denmark)

    Zhang, He; Ali Babar, Muhammad; Tell, Paolo

    2011-01-01

    Context: Systematic literature review (SLR) has become an important research methodology in software engineering since the introduction of evidence-based software engineering (EBSE) in 2004. One critical step in applying this methodology is to design and execute appropriate and effective search....... Objective: The main objective of the research reported in this paper is to improve the search step of undertaking SLRs in software engineering (SE) by devising and evaluating systematic and practical approaches to identifying relevant studies in SE. Method: We have systematically selected and analytically...

  7. Embedding object-oriented design in system engineering

    NARCIS (Netherlands)

    Wieringa, Roelf J.; Kilov, H.; Rumpe, B.; Simmonds, I.

    1999-01-01

    The Unified Modeling Language (UML) is a collection of techniques intended to document design decisions about software. This contrasts with systems engineering approaches such as for example Statemate and the Yourdon Systems Method (YSM), in which the design of an entire system consisting of

  8. The Performance of an Object-Oriented, Parallel Operating System

    Directory of Open Access Journals (Sweden)

    David R. Kohr, Jr.

    1994-01-01

    Full Text Available The nascent and rapidly evolving state of parallel systems often leaves parallel application developers at the mercy of inefficient, inflexible operating system software. Given the relatively primitive state of parallel systems software, maximizing the performance of parallel applications not only requires judicious tuning of the application software, but occasionally, the replacement of specific system software modules with others that can more readily respond to the imposed pattern of resource demands. To assess the feasibility of application and performance tuning via malleable system software and to understand the performance penalties for detailed operating system performance data capture, we describe a set of performance instrumentation techniques for parallel, object-oriented operating systems and a set of performance experiments with Choices, an experimental, object-oriented operating system designed for use with parallel sys- tems. These performance experiments show that (a the performance overhead for operating system data capture is modest, (b the penalty for malleable, object-oriented operating systems is negligible, but (c techniques are needed to strictly enforce adherence of implementation to design if operating system modules are to be replaced.

  9. Aquarius' Object-Oriented, Plug and Play Component-Based Flight Software

    Science.gov (United States)

    Murray, Alexander; Shahabuddin, Mohammad

    2013-01-01

    The Aquarius mission involves a combined radiometer and radar instrument in low-Earth orbit, providing monthly global maps of Sea Surface Salinity. Operating successfully in orbit since June, 2011, the spacecraft bus was furnished by the Argentine space agency, Comision Nacional de Actividades Espaciales (CONAE). The instrument, built jointly by NASA's Caltech/JPL and Goddard Space Flight Center, has been successfully producing expectation-exceeding data since it was powered on in August of 2011. In addition to the radiometer and scatterometer, the instrument contains an command & data-handling subsystem with a computer and flight software (FSW) that is responsible for managing the instrument, its operation, and its data. Aquarius' FSW is conceived and architected as a Component-based system, in which the running software consists of a set of Components, each playing a distinctive role in the subsystem, instantiated and connected together at runtime. Component architectures feature a well-defined set of interfaces between the Components, visible and analyzable at the architectural level (see [1]). As we will describe, this kind of an architecture offers significant advantages over more traditional FSW architectures, which often feature a monolithic runtime structure. Component-based software is enabled by Object-Oriented (OO) techniques and languages, the use of which again is not typical in space mission FSW. We will argue in this paper that the use of OO design methods and tools (especially the Unified Modeling Language), as well as the judicious usage of C++, are very well suited to FSW applications, and we will present Aquarius FSW, describing our methods, processes, and design, as a successful case in point.

  10. HiCAT Software Infrastructure: Safe hardware control with object oriented Python

    Science.gov (United States)

    Moriarty, Christopher; Brooks, Keira; Soummer, Remi

    2018-01-01

    High contrast imaging for Complex Aperture Telescopes (HiCAT) is a testbed designed to demonstrate coronagraphy and wavefront control for segmented on-axis space telescopes such as envisioned for LUVOIR. To limit the air movements in the testbed room, software interfaces for several different hardware components were developed to completely automate operations. When developing software interfaces for many different pieces of hardware, unhandled errors are commonplace and can prevent the software from properly closing a hardware resource. Some fragile components (e.g. deformable mirrors) can be permanently damaged because of this. We present an object oriented Python-based infrastructure to safely automate hardware control and optical experiments. Specifically, conducting high-contrast imaging experiments while monitoring humidity and power status along with graceful shutdown processes even for unexpected errors. Python contains a construct called a “context manager” that allows you define code to run when a resource is opened or closed. Context managers ensure that a resource is properly closed, even when unhandled errors occur. Harnessing the context manager design, we also use Python’s multiprocessing library to monitor humidity and power status without interrupting the experiment. Upon detecting a safety problem, the master process sends an event to the child process that triggers the context managers to gracefully close any open resources. This infrastructure allows us to queue up several experiments and safely operate the testbed without a human in the loop.

  11. Object oriented programming interfaces for accelerator control

    International Nuclear Information System (INIS)

    Hoff, L.T.

    1997-01-01

    Several years ago, the AGS controls group was given the task of developing software for the RHIC accelerator. Like the AGS, the RHIC control system needs to control and monitor equipment distributed around a relatively large geographic area. A local area network connects this equipment to a collection of UNIX workstations in a central control room. Similar software had been developed for the AGS about a decade earlier, but isn't well suited for RHIC use for a number of reasons. Rather than adapt the AGS software for RHIC use, the controls group opted to start with a clean slate. To develop software that would address the shortcomings of the AGS software, while preserving the useful features that evolved through years of use. A current trend in control system design is to provide an object oriented programming interface for application developers. This talk will discuss important aspects and features of object oriented application programming interfaces (APIs) for accelerator control systems, and explore why such interfaces are becoming the norm

  12. Large-scale visualization projects for teaching software engineering.

    Science.gov (United States)

    Müller, Christoph; Reina, Guido; Burch, Michael; Weiskopf, Daniel

    2012-01-01

    The University of Stuttgart's software engineering major complements the traditional computer science major with more practice-oriented education. Two-semester software projects in various application areas offered by the university's different computer science institutes are a successful building block in the curriculum. With this realistic, complex project setting, students experience the practice of software engineering, including software development processes, technologies, and soft skills. In particular, visualization-based projects are popular with students. Such projects offer them the opportunity to gain profound knowledge that would hardly be possible with only regular lectures and homework assignments.

  13. USING OF OBJECT-ORIENTED DESIGN PRINCIPLES IN ELECTRIC MACHINES DEVELOPMENT

    Directory of Open Access Journals (Sweden)

    N.N. Zablodskii

    2016-03-01

    Full Text Available Purpose. To develop the theoretical basis of electrical machines object-oriented design, mathematical models and software to improve their design synthesis, analysis and optimization. Methodology. We have applied object-oriented design theory in electric machines optimal design and mathematical modelling of electromagnetic transients and electromagnetic field distribution. We have correlated the simulated results with the experimental data obtained by means of the double-stator screw dryer with an external solid rotor, brushless turbo-generator exciter and induction motor with squirrel cage rotor. Results. We have developed object-oriented design methodology, transient mathematical modelling and electromagnetic field equations templates for cylindrical electrical machines, improved and remade Cartesian product and genetic optimization algorithms. This allows to develop electrical machines classifications models, included not only structure development but also parallel synthesis of mathematical models and design software, to improve electric machines efficiency and technical performance. Originality. For the first time, we have applied a new way of design and modelling of electrical machines, which is based on the basic concepts of the object-oriented analysis. For the first time is suggested to use a single class template for structural and system organization of electrical machines, invariant to their specific variety. Practical value. We have manufactured screw dryer for coil dust drying and mixing based on the performed object-oriented theory. We have developed object-oriented software for design and optimization of induction motor with squirrel cage rotor of AIR series and brushless turbo-generator exciter. The experimental studies have confirmed the adequacy of the developed object-oriented design methodology.

  14. A gridding method for object-oriented PIC codes

    International Nuclear Information System (INIS)

    Gisler, G.; Peter, W.; Nash, H.; Acquah, J.; Lin, C.; Rine, D.

    1993-01-01

    A simple, rule-based gridding method for object-oriented PIC codes is described which is not only capable of dealing with complicated structures such as multiply-connected regions, but is also computationally faster than classical gridding techniques. Using, these smart grids, vacant cells (e.g., cells enclosed by conductors) will never have to be stored or calculated, thus avoiding the usual situation of having to zero electromagnetic fields within conductors after valuable cpu time has been spent in calculating the fields within these cells in the first place. This object-oriented gridding technique makes use of encapsulating characteristics of actual physical objects (particles, fields, grids, etc.) in C ++ classes and supporting software reuse of these entities through C ++ class inheritance relations. It has been implemented in the form of a simple two-dimensional plasma particle-in-cell code, and forms the initial effort of an AFOSR research project to develop a flexible software simulation environment for particle-in-cell algorithms based on object-oriented technology

  15. Object-oriented design and programming with C++ your hands-on guide to C++ programming, with special emphasis on design, testing, and reuse

    CERN Document Server

    Leach, Ronald

    2014-01-01

    Object-Oriented Design and Programming with C++: Your Hands-On Guide to C++ Programming, with Special Emphasis on Design, Testing, and Reuse provides a list of software engineering principles to guide the software development process. This book presents the fundamentals of the C++ language.Organized into two parts encompassing 10 chapters, this book begins with an overview of C++ and describes object-oriented programming and the history of C++. This text then introduces classes, polymorphism, inheritance, and overloading. Other chapters consider the C++ preprocessor and organization of class l

  16. An algebraic approach to modeling in software engineering

    International Nuclear Information System (INIS)

    Loegel, C.J.; Ravishankar, C.V.

    1993-09-01

    Our work couples the formalism of universal algebras with the engineering techniques of mathematical modeling to develop a new approach to the software engineering process. Our purpose in using this combination is twofold. First, abstract data types and their specification using universal algebras can be considered a common point between the practical requirements of software engineering and the formal specification of software systems. Second, mathematical modeling principles provide us with a means for effectively analyzing real-world systems. We first use modeling techniques to analyze a system and then represent the analysis using universal algebras. The rest of the software engineering process exploits properties of universal algebras that preserve the structure of our original model. This paper describes our software engineering process and our experience using it on both research and commercial systems. We need a new approach because current software engineering practices often deliver software that is difficult to develop and maintain. Formal software engineering approaches use universal algebras to describe ''computer science'' objects like abstract data types, but in practice software errors are often caused because ''real-world'' objects are improperly modeled. There is a large semantic gap between the customer's objects and abstract data types. In contrast, mathematical modeling uses engineering techniques to construct valid models for real-world systems, but these models are often implemented in an ad hoc manner. A combination of the best features of both approaches would enable software engineering to formally specify and develop software systems that better model real systems. Software engineering, like mathematical modeling, should concern itself first and foremost with understanding a real system and its behavior under given circumstances, and then with expressing this knowledge in an executable form

  17. Writing Compilers and Interpreters A Software Engineering Approach

    CERN Document Server

    Mak, Ronald

    2011-01-01

    Long-awaited revision to a unique guide that covers both compilers and interpreters Revised, updated, and now focusing on Java instead of C++, this long-awaited, latest edition of this popular book teaches programmers and software engineering students how to write compilers and interpreters using Java. You?ll write compilers and interpreters as case studies, generating general assembly code for a Java Virtual Machine that takes advantage of the Java Collections Framework to shorten and simplify the code. In addition, coverage includes Java Collections Framework, UML modeling, object-oriented p

  18. Object-oriented approach to preequilibrium and equilibrium decays in Geant4

    International Nuclear Information System (INIS)

    Lara, V.

    2001-01-01

    The Geant4 simulation toolkit provides a set of parameterized models that allow to model hadronic showers. However, in order to allow extrapolation beyond the experimental data and to offer an alternative set of models at conventional energies, Geant4 also provides a set of theory based hadronic shower models. We present the Object Oriented Design of a semiclassical exciton model for preequilibrium decays and a set of statistical models for deexcitation of compound nuclei. Our design follows the philosophy of hadronic models in Geant4, allowing for maximum of extendibility and customizability of the underlying physics by means of the use of abstract interfaces. We exploit advanced Software Engineering techniques and Object Oriented technology to achieve those goals. We present also a series of comparisons against experimental data being made in order to test the model. (orig.)

  19. Object-oriented accelerator design with HPF

    International Nuclear Information System (INIS)

    Ji Qiang; Ryne, R.D.; Habib, S.

    1998-01-01

    In this paper, object-oriented design is applied to codes for beam dynamics simulations in accelerators using High Performance Fortran (HPF). This results in good maintainability, reusability, and extensibility of software, combined with the ease of parallel programming provided by HPF

  20. Strategic Directions in Object-Oriented Programming

    NARCIS (Netherlands)

    Aksit, Mehmet; Guerroui, Rachid

    1996-01-01

    This paper has provided an overview of the field of object-oriented programming. After presenting a historical perspective and some major achievements in the field, four research directions were introduced: technologies integration, software components, distributed programming, and new paradigms. In

  1. Object-oriented accelerator design with HPF

    Energy Technology Data Exchange (ETDEWEB)

    Ji Qiang; Ryne, R.D.; Habib, S.

    1998-12-31

    In this paper, object-oriented design is applied to codes for beam dynamics simulations in accelerators using High Performance Fortran (HPF). This results in good maintainability, reusability, and extensibility of software, combined with the ease of parallel programming provided by HPF.

  2. Analyzing and designing object-oriented missile simulations with concurrency

    Science.gov (United States)

    Randorf, Jeffrey Allen

    2000-11-01

    A software object model for the six degree-of-freedom missile modeling domain is presented. As a precursor, a domain analysis of the missile modeling domain was started, based on the Feature-Oriented Domain Analysis (FODA) technique described by the Software Engineering Institute (SEI). It was subsequently determined the FODA methodology is functionally equivalent to the Object Modeling Technique. The analysis used legacy software documentation and code from the ENDOSIM, KDEC, and TFrames 6-DOF modeling tools, including other technical literature. The SEI Object Connection Architecture (OCA) was the template for designing the object model. Three variants of the OCA were considered---a reference structure, a recursive structure, and a reference structure with augmentation for flight vehicle modeling. The reference OCA design option was chosen for maintaining simplicity while not compromising the expressive power of the OMT model. The missile architecture was then analyzed for potential areas of concurrent computing. It was shown how protected objects could be used for data passing between OCA object managers, allowing concurrent access without changing the OCA reference design intent or structure. The implementation language was the 1995 release of Ada. OCA software components were shown how to be expressed as Ada child packages. While acceleration of several low level and other high operations level are possible on proper hardware, there was a 33% degradation of 4th order Runge-Kutta integrator performance of two simultaneous ordinary differential equations using Ada tasking on a single processor machine. The Defense Department's High Level Architecture was introduced and explained in context with the OCA. It was shown the HLA and OCA were not mutually exclusive architectures, but complimentary. HLA was shown as an interoperability solution, with the OCA as an architectural vehicle for software reuse. Further directions for implementing a 6-DOF missile modeling

  3. Framework for Computer-Aided Evolution of Object-Oriented Designs

    NARCIS (Netherlands)

    Ciraci, S.; van den Broek, P.M.; Aksit, Mehmet

    2008-01-01

    In this paper, we describe a framework for the computer aided evolution of the designs of object-oriented software systems. Evolution mechanisms are software structures that prepare software for certain type of evolutions. The framework uses a database which holds the evolution mechanisms, modeled

  4. Software engineering and the role of Ada: Executive seminar

    Science.gov (United States)

    Freedman, Glenn B.

    1987-01-01

    The objective was to introduce the basic terminology and concepts of software engineering and Ada. The life cycle model is reviewed. The application of the goals and principles of software engineering is applied. An introductory understanding of the features of the Ada language is gained. Topics addressed include: the software crises; the mandate of the Space Station Program; software life cycle model; software engineering; and Ada under the software engineering umbrella.

  5. Object oriented distributed programming: studies and proposals

    International Nuclear Information System (INIS)

    Guerraoui, Rachid

    1992-01-01

    This thesis contributes to the investigation of the object concept in distributed programming. Henceforth, this programming style has become a reality in the computer science world, since it allows to increase of the availability of applications and to decrease their execution time. Nevertheless, designing a distributed application is a hard task: the various abstraction levels that must be considered hinder the software reusability and maintenance, while errors and concurrent accesses are often sources of executions incoherence. The object concept improves the software modularity, and raises the computing abstraction level. Integrating distribution related aspects into the object model brings up the issues of expressing the concurrency and maintaining the coherency. The investigation of these problems in this thesis has been guided by a major concern for the preservation of the intrinsic properties of object-orientation, and the orthogonality of the solutions given. The main contributions of the thesis are: (i) the classification, regarding modularity, of the different design alternatives for object-oriented concurrent languages; (ii) the evaluation of various transactional mechanisms in object-based concurrent languages, and the design of an atomic asynchronous communication protocol named ACS; (iii) the definition of a transaction-based object-oriented concurrent language called KAROS; (iv) the implementation of a modular framework which allows to combine in a same application, various concurrency control and error recovery mechanisms; (v) the identification of a formal property, named general atomicity, which constitutes a correctness criteria for atomic objects specifications. (author) [fr

  6. Traceability Method for Software Engineering Documentation

    OpenAIRE

    Nur Adila Azram; Rodziah Atan

    2012-01-01

    Traceability has been widely discussed in research area. It has been one of interest topic to be research in software engineering. Traceability in software documentation is one of the interesting topics to be research further. It is important in software documentation to trace out the flow or process in all the documents whether they depends with one another or not. In this paper, we present a traceability method for software engineering documentation. The objective of this research is to fac...

  7. Software architecture and engineering for patient records: current and future.

    Science.gov (United States)

    Weng, Chunhua; Levine, Betty A; Mun, Seong K

    2009-05-01

    During the "The National Forum on the Future of the Defense Health Information System," a track focusing on "Systems Architecture and Software Engineering" included eight presenters. These presenters identified three key areas of interest in this field, which include the need for open enterprise architecture and a federated database design, net centrality based on service-oriented architecture, and the need for focus on software usability and reusability. The eight panelists provided recommendations related to the suitability of service-oriented architecture and the enabling technologies of grid computing and Web 2.0 for building health services research centers and federated data warehouses to facilitate large-scale collaborative health care and research. Finally, they discussed the need to leverage industry best practices for software engineering to facilitate rapid software development, testing, and deployment.

  8. A Conceptual Approach to Teaching Object-Orientation to C Programmers

    DEFF Research Database (Denmark)

    Madsen, Ole Lehrmann; Torgersen, Mads; Røn, Henrik

    1998-01-01

    This paper describes experiences from a three-day course held as part of a collaborative research project, in which object-oriented programming was taught to a group of engineers who were all proficient C programmers. Our approach to teaching object-oriented programming focuses on conceptual...... modeling, emphasizing that object-orientation is not a bag of solutions and technology; rather, object-orientation is a means to understand, describe (model) and communicate. The paper describes a general approach to teaching object-oriented programming to C-programmers and reports on the experience from...

  9. GEANT 4: an Object-Oriented toolkit for simulation in HEP

    CERN Multimedia

    Kent, P; Sirotenko, V; Komogorov, M; Pavliouk, A; Greeniaus, G L; Kayal, P I; Routenburg, P; Tanaka, S; Duellmann, D; Innocente, V; Paoli, S; Ranjard, F; Riccardi, F; Ruggier, M; Shiers, J; Egli, S; Kimura, A; Urban, P; Prior, S; Walkden, A; Forti, A; Magni, S; Strahl, K; Kokoulin, R; Braune, K; Volcker, C; Ullrich, T; Takahata, M; Nieminen, P; Ballocchi, G; Mora De Freitas, P; Verderi, M; Rybine, A; Langeveld, W; Nagamatsu, M; Hamatsu, R; Katayama, N; Chuma, J; Felawka, L; Gumplinger, P; Axen, D

    2002-01-01

    %RD44 %title\\\\ \\\\The GEANT4 software has been developed by a world-wide collaboration of about 100 scientists from over 40 institutions and laboratories participating in more than 10 experiments in Europe, Russia, Japan, Canada, and the United States. The GEANT4 detector simulation toolkit has been designed for the next generation of High Energy Physics (HEP) experiments, with primary requirements from the LHC, the CP violation, and the heavy ions experiments. In addition, GEANT4 also meets the requirements from the space and medical communities, thanks to very low energy extensions developed in a joint project with the European Space Agency (ESA). GEANT4 has exploited advanced software engineering techniques (for example PSS-05) and Object-Oriented technology to improve the validation process of the physics results, and in the same time to make possible the distributed software design and development in the world-wide collaboration. Fifteen specialised working groups have been responsible for fields as diver...

  10. Software engineering

    CERN Document Server

    Sommerville, Ian

    2010-01-01

    The ninth edition of Software Engineering presents a broad perspective of software engineering, focusing on the processes and techniques fundamental to the creation of reliable, software systems. Increased coverage of agile methods and software reuse, along with coverage of 'traditional' plan-driven software engineering, gives readers the most up-to-date view of the field currently available. Practical case studies, a full set of easy-to-access supplements, and extensive web resources make teaching the course easier than ever.

  11. Engineering Object-Oriented Semantics Using Graph Transformations

    NARCIS (Netherlands)

    Kastenberg, H.; Kleppe, A.G.; Rensink, Arend

    In this paper we describe the application of the theory of graph transformations to the practise of language design. We have defined the semantics of a small but realistic object-oriented language (called TAAL) by mapping the language constructs to graphs and their operational semantics to graph

  12. Objective Assessment of Joint Stiffness: A Clinically Oriented Hardware and Software Device with an Application to the Shoulder Joint

    OpenAIRE

    McQuade, Kevin; Price, Robert; Liu, Nelson; Ciol, Marcia A

    2012-01-01

    Examination of articular joints is largely based on subjective assessment of the “end-feel” of the joint in response to manually applied forces at different joint orientations. This technical report aims to describe the development of an objective method to examine joints in general, with specific application to the shoulder, and suitable for clinical use. We adapted existing hardware and developed laptop-based software to objectively record the force/displacement behavior of the glenohumeral...

  13. Real World Software Engineering

    Science.gov (United States)

    1994-07-15

    You put the new kid there and their first promotion is out of maintenance. ii Maintenance is not sufficiently emphasized as an important criteria for...the successful material from Koffman’s CS1 pedagogy with a software-engineering-oriented Ada presentation order. Packages are introduced early and...Shumate, K. Understanding Ada. 2nd edition, John Wiley & Sons. This would make a CS1 book if it included more overall pedagogy , independent of language

  14. An object-oriented approach to evaluating multiple spectral models

    International Nuclear Information System (INIS)

    Majoras, R.E.; Richardson, W.M.; Seymour, R.S.

    1995-01-01

    A versatile, spectroscopy analysis engine has been developed by using object-oriented design and analysis techniques coupled with an object-oriented language, C++. This engine provides the spectroscopist with the choice of several different peak shape models that are tailored to the type of spectroscopy being performed. It also allows ease of development in adapting the engine to other analytical methods requiring more complex peak fitting in the future. This results in a program that can currently be used across a wide range of spectroscopy applications and anticipates inclusion of future advances in the field. (author) 6 refs.; 1 fig

  15. Etomica: an object-oriented framework for molecular simulation.

    Science.gov (United States)

    Schultz, Andrew J; Kofke, David A

    2015-03-30

    We describe the design of an object-oriented library of software components that are suitable for constructing simulations of systems of interacting particles. The emphasis of the discussion is on the general design of the components and how they interact, and less on details of the programming interface or its implementation. Example code is provided as an aid to understanding object-oriented programming structures and to demonstrate how the framework is applied. © 2015 Wiley Periodicals, Inc.

  16. An object-oriented extension for debugging the virtual machine

    Energy Technology Data Exchange (ETDEWEB)

    Pizzi, Jr, Robert G. [Univ. of California, Davis, CA (United States)

    1994-12-01

    A computer is nothing more then a virtual machine programmed by source code to perform a task. The program`s source code expresses abstract constructs which are compiled into some lower level target language. When a virtual machine breaks, it can be very difficult to debug because typical debuggers provide only low-level target implementation information to the software engineer. We believe that the debugging task can be simplified by introducing aspects of the abstract design and data into the source code. We introduce OODIE, an object-oriented extension to programming languages that allows programmers to specify a virtual environment by describing the meaning of the design and data of a virtual machine. This specification is translated into symbolic information such that an augmented debugger can present engineers with a programmable debugging environment specifically tailored for the virtual machine that is to be debugged.

  17. Improving Quality in Object-Oriented Software. Systematic Refinement and Translation of Models to Code

    OpenAIRE

    Bunse, C.; Atkinson, C.

    1999-01-01

    The reliable attainment of quality requirements is still a major weakness of the object-oriented development paradigm, with a significant proportion of object-oriented systems either failing to work correctly, or failing to do so in a way that meets non-functional requirements. One of the main reasons for this problem is the discrepancy between the various object-oriented languages/notations typically used during the course of an object-oriented project and the lack of well-defined mappings b...

  18. Software engineering architecture-driven software development

    CERN Document Server

    Schmidt, Richard F

    2013-01-01

    Software Engineering: Architecture-driven Software Development is the first comprehensive guide to the underlying skills embodied in the IEEE's Software Engineering Body of Knowledge (SWEBOK) standard. Standards expert Richard Schmidt explains the traditional software engineering practices recognized for developing projects for government or corporate systems. Software engineering education often lacks standardization, with many institutions focusing on implementation rather than design as it impacts product architecture. Many graduates join the workforce with incomplete skil

  19. Global Software Engineering: A Software Process Approach

    Science.gov (United States)

    Richardson, Ita; Casey, Valentine; Burton, John; McCaffery, Fergal

    Our research has shown that many companies are struggling with the successful implementation of global software engineering, due to temporal, cultural and geographical distance, which causes a range of factors to come into play. For example, cultural, project managementproject management and communication difficulties continually cause problems for software engineers and project managers. While the implementation of efficient software processes can be used to improve the quality of the software product, published software process models do not cater explicitly for the recent growth in global software engineering. Our thesis is that global software engineering factors should be included in software process models to ensure their continued usefulness in global organisations. Based on extensive global software engineering research, we have developed a software process, Global Teaming, which includes specific practices and sub-practices. The purpose is to ensure that requirements for successful global software engineering are stipulated so that organisations can ensure successful implementation of global software engineering.

  20. PAC++: Object-oriented platform for accelerator codes

    International Nuclear Information System (INIS)

    Malitsky, N.; Reshetov, A.; Bourianoff, G.

    1994-06-01

    Software packages in accelerator physics have relatively long life cycles. They had been developed and used for a wide range of accelerators in the past as well as for the current projects. For example, the basic algorithms written in the first accelerator Program TRANSPORT are actual for design of most magnet systems. Most of these packages had been implemented on Fortran. But this language is rather inconvenient as a basic language for large integrated projects that possibly could include real-time data acquisition, data base access, graphic riser interface modules (GUI), arid other features. Some later accelerator programs had been based on object-oriented tools (primarily, C++ language). These range from systems for advanced theoretical studies to control system software. For the new generations of accelerators it would be desirable to have an integrated platform in which all simulation and control tasks will be considered with one point of view. In this report the basic principles of an object-oriented platform for accelerator research software (PAC++) are suggested and analyzed. Primary objectives of this work are to enable efficient self-explaining realization of the accelerator concepts and to provide an integrated environment for the updating and the developing of the code

  1. An object-oriented framework for magnetic-fusion modeling and analysis codes

    International Nuclear Information System (INIS)

    Cohen, R H; Yang, T Y Brian.

    1999-01-01

    The magnetic-fusion energy (MFE) program, like many other scientific and engineering activities, has a need to efficiently develop complex modeling codes which combine detailed models of components to make an integrated model of a device, as well as a rich supply of legacy code that could provide the component models. There is also growing recognition in many technical fields of the desirability of steerable software: computer programs whose functionality can be changed by the user as it is run. This project had as its goals the development of two key pieces of infrastructure that are needed to combine existing code modules, written mainly in Fortran, into flexible, steerable, object-oriented integrated modeling codes for magnetic- fusion applications. These two pieces are (1) a set of tools to facilitate the interfacing of Fortran code with a steerable object-oriented framework (which we have chosen to be based on PythonlW3, an object-oriented interpreted language), and (2) a skeleton for the integrated modeling code which defines the relationships between the modules. The first of these activities obviously has immediate applicability to a spectrum of projects; the second is more focussed on the MFE application, but may be of value as an example for other applications

  2. Software Engineering Laboratory Series: Collected Software Engineering Papers. Volume 14

    Science.gov (United States)

    1996-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  3. Software Engineering Laboratory Series: Collected Software Engineering Papers. Volume 15

    Science.gov (United States)

    1997-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  4. Software Engineering Laboratory Series: Collected Software Engineering Papers. Volume 13

    Science.gov (United States)

    1995-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  5. Object-oriented designs for LHD data acquisitions using client-server model

    International Nuclear Information System (INIS)

    Kojima, M.; Nakanishi, H.; Hidekuma, S.

    1999-01-01

    The LHD data acquisition system handles >600 MB data per shot. The fully distributed data processing and the object-oriented system design are the main principles of this system. Its wide flexibility has been realized by introducing the object-oriented method into the data processing, in which the object sharing and class libraries will provide the unified way of data handling for the network client-server programming. The object class libraries are described in C++, and the network object sharing is provided through the commercial software named HARNESS. As for the CAMAC setup, the Java script can use the C++ class libraries and thus establishes the relationship between the object-oriented database and the WWW server. In LHD experiments, the CAMAC system and the Windows NT operating system are applied for digitizing and acquiring data, respectively. For the purpose of the LHD data acquisition, the new CAMAC handling software on Windows NT have been developed to manipulate the SCSI-connected crate controllers. The CAMAC command lists and diagnostic data classes are shared between client and server computers. A lump of the diagnostic data can be treated as part of an object by the object-oriented programming. (orig.)

  6. Software development with C++ maximizing reuse with object technology

    CERN Document Server

    Nielsen, Kjell

    2014-01-01

    Software Development with C++: Maximizing Reuse with Object Technology is about software development and object-oriented technology (OT), with applications implemented in C++. The basis for any software development project of complex systems is the process, rather than an individual method, which simply supports the overall process. This book is not intended as a general, all-encompassing treatise on OT. The intent is to provide practical information that is directly applicable to a development project. Explicit guidelines are offered for the infusion of OT into the various development phases.

  7. Object-Oriented Approach to Manipulating Acoustic and Seismic Spectra

    National Research Council Canada - National Science Library

    Wilson, D. K; Torrey, Jacob I

    2006-01-01

    The software design and underlying mathematics for an object-oriented, Java-based approach to creating and manipulating frequency-dependent functions, such as power spectral densities, is described...

  8. Software Engineering Environment for Component-based Design of Embedded Software

    DEFF Research Database (Denmark)

    Guo, Yu

    2010-01-01

    as well as application models in a computer-aided software engineering environment. Furthermore, component models have been realized following carefully developed design patterns, which provide for an efficient and reusable implementation. The components have been ultimately implemented as prefabricated...... executable objects that can be linked together into an executable application. The development of embedded software using the COMDES framework is supported by the associated integrated engineering environment consisting of a number of tools, which support basic functionalities, such as system modelling......, validation, and executable code generation for specific hardware platforms. Developing such an environment and the associated tools is a highly complex engineering task. Therefore, this thesis has investigated key design issues and analysed existing platforms supporting model-driven software development...

  9. Software engineering laboratory series: Annotated bibliography of software engineering laboratory literature

    Science.gov (United States)

    Morusiewicz, Linda; Valett, Jon

    1992-01-01

    This document is an annotated bibliography of technical papers, documents, and memorandums produced by or related to the Software Engineering Laboratory. More than 100 publications are summarized. These publications cover many areas of software engineering and range from research reports to software documentation. This document has been updated and reorganized substantially since the original version (SEL-82-006, November 1982). All materials have been grouped into eight general subject areas for easy reference: (1) the Software Engineering Laboratory; (2) the Software Engineering Laboratory: Software Development Documents; (3) Software Tools; (4) Software Models; (5) Software Measurement; (6) Technology Evaluations; (7) Ada Technology; and (8) Data Collection. This document contains an index of these publications classified by individual author.

  10. Predicting class testability using object-oriented metrics

    NARCIS (Netherlands)

    M. Bruntink (Magiel); A. van Deursen (Arie)

    2004-01-01

    textabstractIn this paper we investigate factors of the testability of object-oriented software systems. The starting point is given by a study of the literature to obtain both an initial model of testability and existing OO metrics related to testability. Subsequently, these metrics are evaluated

  11. A new object-oriented interface to MDSplus

    International Nuclear Information System (INIS)

    Manduchi, G.; Fredian, T.; Stillerman, J.

    2010-01-01

    The MDSplus data acquisition and management software package is widely used in the international fusion research community. Its core Application Programming Interface (API) remained unchanged since the system was ported to a multiplatform environment in the late nineties. Originally written in C, the MDSplus API did not fully exploit several object-oriented features of the system that were included in the original architecture. In 2008 a project was initiated by the authors to provide the core MDSplus functionality with an object-oriented API. A generic, language-independent class structure has been defined and modeled in Uniform Modeling Language (UML). Based on this description the new API has been implemented so far in C++, Python, and Java. The new API provides data type management, allowing the full exploitation of the rich set of data types defined in MDSplus by means of composition of data object instances, and pulse file access, for writing and reading data objects as well as managing database components properties. The definition of a language-independent class organization allows the MDSplus object-oriented API to be consistent across all the object oriented languages that will be supported. Regardless of the language used, this approach provides a much more natural programming interaction with MDSplus.

  12. A new object-oriented interface to MDSplus

    Energy Technology Data Exchange (ETDEWEB)

    Manduchi, G., E-mail: gabriele.manduchi@igi.cnr.i [Consorzio RFX, Euratom-ENEA Association, Corso Stati Uniti 4, Padova 35127 (Italy); Fredian, T.; Stillerman, J. [Massachusetts Institute of Technology, 175 Albany Street, Cambridge, MA 02139 (United States)

    2010-07-15

    The MDSplus data acquisition and management software package is widely used in the international fusion research community. Its core Application Programming Interface (API) remained unchanged since the system was ported to a multiplatform environment in the late nineties. Originally written in C, the MDSplus API did not fully exploit several object-oriented features of the system that were included in the original architecture. In 2008 a project was initiated by the authors to provide the core MDSplus functionality with an object-oriented API. A generic, language-independent class structure has been defined and modeled in Uniform Modeling Language (UML). Based on this description the new API has been implemented so far in C++, Python, and Java. The new API provides data type management, allowing the full exploitation of the rich set of data types defined in MDSplus by means of composition of data object instances, and pulse file access, for writing and reading data objects as well as managing database components properties. The definition of a language-independent class organization allows the MDSplus object-oriented API to be consistent across all the object oriented languages that will be supported. Regardless of the language used, this approach provides a much more natural programming interaction with MDSplus.

  13. An Object-Oriented Graphical User Interface for a Reusable Rocket Engine Intelligent Control System

    Science.gov (United States)

    Litt, Jonathan S.; Musgrave, Jeffrey L.; Guo, Ten-Huei; Paxson, Daniel E.; Wong, Edmond; Saus, Joseph R.; Merrill, Walter C.

    1994-01-01

    An intelligent control system for reusable rocket engines under development at NASA Lewis Research Center requires a graphical user interface to allow observation of the closed-loop system in operation. The simulation testbed consists of a real-time engine simulation computer, a controls computer, and several auxiliary computers for diagnostics and coordination. The system is set up so that the simulation computer could be replaced by the real engine and the change would be transparent to the control system. Because of the hard real-time requirement of the control computer, putting a graphical user interface on it was not an option. Thus, a separate computer used strictly for the graphical user interface was warranted. An object-oriented LISP-based graphical user interface has been developed on a Texas Instruments Explorer 2+ to indicate the condition of the engine to the observer through plots, animation, interactive graphics, and text.

  14. An engineering context for software engineering

    OpenAIRE

    Riehle, Richard D.

    2008-01-01

    New engineering disciplines are emerging in the late Twentieth and early Twenty-first Century. One such emerging discipline is software engineering. The engineering community at large has long harbored a sense of skepticism about the validity of the term software engineering. During most of the fifty-plus years of software practice, that skepticism was probably justified. Professional education of software developers often fell short of the standard expected for conventional engineers; so...

  15. Software engineering

    CERN Document Server

    Sommerville, Ian

    2016-01-01

    For courses in computer science and software engineering The Fundamental Practice of Software Engineering Software Engineering introduces readers to the overwhelmingly important subject of software programming and development. In the past few years, computer systems have come to dominate not just our technological growth, but the foundations of our world's major industries. This text seeks to lay out the fundamental concepts of this huge and continually growing subject area in a clear and comprehensive manner. The Tenth Edition contains new information that highlights various technological updates of recent years, providing readers with highly relevant and current information. Sommerville's experience in system dependability and systems engineering guides the text through a traditional plan-based approach that incorporates some novel agile methods. The text strives to teach the innovators of tomorrow how to create software that will make our world a better, safer, and more advanced place to live.

  16. Object-oriented design for LHD data acquisition using client-server model

    International Nuclear Information System (INIS)

    Kojima, M.; Nakanishi, H.; Hidekuma, S.

    1997-11-01

    The LHD data acquisition system handles a huge amount of data exceeding over 600MB per shot. The fully distributed processing and the object-oriented system design are the main principles of this system. Its wide flexibility has been realized by introducing the object-oriented method into the data processing, in which the object-sharing and the class libraries will provide the unified way of data handling for both servers and clients program developments. The object class libraries are written in C ++ , and the network object-sharing is provided through a commercial software called HARNESS. As for the CAMAC setup, the Java script can use the C ++ class libraries and thus establishes the relationship between the object-oriented database and the WWW server. In LHD experiments, the CAMAC system and the Windows NT operating system are applied for digitizing and acquiring data, respectively. For the purpose of the LHD data acquisition, the new CAMAC handling softwares which work on Windows NT have been developed to manipulate the SCSI-connected crate controllers. The CAMAC command lists and diagnostic data classes are shared between clients and servers. A lump of diagnostic data mass is treated as a part of an object by the object-oriented programming. (author)

  17. The use of an object oriented technique for fault diagnosis in nuclear reactors

    International Nuclear Information System (INIS)

    Jalel, N.A.; Nicholson, H.

    1990-11-01

    In recent years there has been an increased growth of interest in object oriented programming which is a new approach to software construction having wide application. The possibility of using object oriented programming to build a software package that will assist the nuclear reactor operator in diagnosing any faults or alarms in the Loss Of Fluid Test (LOFT), a small scale pressurised water reactor, reactor is investigated in this work. (author)

  18. Uniframe: A Unified Framework for Developing Service-Oriented, Component-Based Distributed Software Systems

    National Research Council Canada - National Science Library

    Raje, Rajeev R; Olson, Andrew M; Bryant, Barrett R; Burt, Carol C; Auguston, Makhail

    2005-01-01

    .... It describes how this approach employs a unifying framework for specifying such systems to unite the concepts of service-oriented architectures, a component-based software engineering methodology...

  19. Software for Engineering Simulations of a Spacecraft

    Science.gov (United States)

    Shireman, Kirk; McSwain, Gene; McCormick, Bernell; Fardelos, Panayiotis

    2005-01-01

    Spacecraft Engineering Simulation II (SES II) is a C-language computer program for simulating diverse aspects of operation of a spacecraft characterized by either three or six degrees of freedom. A functional model in SES can include a trajectory flight plan; a submodel of a flight computer running navigational and flight-control software; and submodels of the environment, the dynamics of the spacecraft, and sensor inputs and outputs. SES II features a modular, object-oriented programming style. SES II supports event-based simulations, which, in turn, create an easily adaptable simulation environment in which many different types of trajectories can be simulated by use of the same software. The simulation output consists largely of flight data. SES II can be used to perform optimization and Monte Carlo dispersion simulations. It can also be used to perform simulations for multiple spacecraft. In addition to its generic simulation capabilities, SES offers special capabilities for space-shuttle simulations: for this purpose, it incorporates submodels of the space-shuttle dynamics and a C-language version of the guidance, navigation, and control components of the space-shuttle flight software.

  20. The Effect of AOP on Software Engineering, with Particular Attention to OIF and Event Quantification

    Science.gov (United States)

    Havelund, Klaus; Filman, Robert; Korsmeyer, David (Technical Monitor)

    2003-01-01

    We consider the impact of Aspect-Oriented Programming on Software Engineering, and, in particular, analyze two AOP systems, one of which does component wrapping and the other, quantification over events, for their software engineering effects.

  1. Software Development using Object-First Approach: a New Learning Strategy

    Directory of Open Access Journals (Sweden)

    Gurdeep S Hura

    2017-08-01

    Full Text Available Software Engineering approach deals with the Software Development (SD that is aligned with design and development of software applications. The Software Development may be implemented in a variety of techniques but its implementation using a procedural paradigm and an imperative language seem to be more effective and efficient for the design and implementation of software applications. The procedural approach for Software Development offers advantages as this it may be used to teach some basic features of programming languages. The object of this paper is to introduce the software development and associated object-first approach for the design of software project application using top-down method. This approach defines functions and modules as basic units for the design and implementation and also for offering hands-on experiences with the basics of programming languages of sequences, selections, iterations structures. These structures will be used to define various modules with programming language constructs for of software development process. The software Development process is one of the very crucial processes of software engineering.

  2. Query Processing and Interlinking of Fuzzy Object-Oriented Database

    OpenAIRE

    Shweta Dwivedi; Santosh Kumar

    2017-01-01

    Due to the many limitation and poor data handling in the existing relational database, the software professional and researchers moves towards the object-oriented database which has much better capability to handling the real and complex real world data i.e. clear and crisp data and also have the capability to perform some huge and complex queries in an effective manner. On the other hand, a new approach in database is introduced named as Fuzzy Object-Oriented Database (FOOD); it has all the ...

  3. Appropriate language for introducing object oriented programming ...

    African Journals Online (AJOL)

    Object Oriented Programming (OOP) has attained a level of acceptance in the software development community so much so that one is now considered a charlatan to have a degree in computing without the flare for OOP. Computing students must therefore be equipped with this skill. The need to do this using the most ...

  4. Implementations of service oriented architecture and agile software development: What works and what are the challenges?

    NARCIS (Netherlands)

    Schramm, Milan; Daneva, Maia

    2016-01-01

    Today many organizations use service-oriented architecture and agile software development as their software paradigms. While both certainly have their advantages, in the fields of Empirical Software Engineering and Information Systems these have been treated in relative isolation and their impact on

  5. Object-oriented programming techniques for the AGS Booster

    International Nuclear Information System (INIS)

    Skelly, J.F.

    1991-01-01

    The applications software developed for the control system of the AGS Booster Project was written in the object-oriented language, C++. A the start of the Booster Project, the programming staff of the AGS Controls Section comprised some dozen programmer/analysts, all highly fluent in C but novices in C++. During the coarse of this project, nearly the entire staff converted to using C++ for a large fraction of their assignments. Over 100 C++ software modules are now available for Booster and general AGS use, of which a large fraction are broadly applicable tools. The transition from C to C++ from a managerial perspective is discussed and an overview is provided of the ways in which object classes have been applied in Booster software development

  6. Object-oriented programming techniques for the AGS Booster

    International Nuclear Information System (INIS)

    Skelly, J.F.

    1992-01-01

    The applications software developed for the control system of the AGS Booster Project was written in the object-oriented language, C++. At the start of the Booster Project, the programming staff of the AGS Controls Section comprised some dozen programmer/analysts, all highly fluent in C but novices in C++. During the course of this project, nearly the entire staff converted to using C++ for a large fraction of their assignments. Over 100 C++ software modules are now available both for Booster and general AGS use, of which a large fraction are broadly applicable tools. The transition from C to C++ from a managerial perspective is discussed and an overview is provided of the ways in which object classes have been applied in Booster software development. (author)

  7. Aspect-oriented programming evaluated

    CERN Document Server

    Kleinschmager, Sebastian

    2012-01-01

    Hauptbeschreibung Aspect-oriented-programming is a relatively new technique that has evolved on top of the already well-established approach of object-oriented programming. When it is used correctly, it promises to remove many redundant parts of a code that appear repeatedly in an application, essentially untangling the original code. Thus, it can lead to a cleaner, more separated software design, to greater modularity and maintainability. Time-savings in software engineering can also be huge cost-savings, and anything that increases software quality is a welcome sight in an industr

  8. Software Engineering Laboratory Series: Proceedings of the Twentieth Annual Software Engineering Workshop

    Science.gov (United States)

    1995-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  9. Improving Object-Oriented Methods by using Fuzzy Logic

    NARCIS (Netherlands)

    Marcelloni, Francesco; Aksit, Mehmet

    2000-01-01

    Object-oriented methods create software artifacts through the application of a large number or rules. Rules are typically formulated in two-valued logic. There are a number of problems on how rules are defined and applied in current methods. First, two-valued logic can capture completely neither

  10. Designing an economic-driven evaluation framework for process-oriented software technologies.

    NARCIS (Netherlands)

    Mutschler, B.B.; Bumiller, J.; Reichert, M.U.

    2006-01-01

    During the last decade there has been a dramatic increase in the number of paradigms, standards and tools that can be used to realize process-oriented information systems. A major problem neglected in software engineering research so far has been the systematic determination of costs, benefits, and

  11. The SE Book: Principles and Techniques of Software Engineering or orAn ABZ of The Theory & Practice of Software Engineering

    DEFF Research Database (Denmark)

    Bjørner, Dines

    ) the TripTych of domain analysis, requirements engineering and software design -- and much much more. It relates all aspects of (12) platform technologies, (13) legal issues of software, (14) quality assurance, and (15) project and product management to the above (1-11 incl.). Highlights of the book series......This ``epos'' emphasises (1) software development from both a formal and an informal approach; (2) the use of mathematics, logic and algebras, as well as discrete mathematics: Sets, Cartesians, lists, functions, maps; (3) property as well as model-oriented specifications; (4) semiotics in the form...... are: (A) Emphasis on design: Literally a thousand development examples are given; and on ``Calculi'' of (B) domain and (C) requirements engineering: Domain facet ``operators'' like: (d.1) Instrinsics, (d.2) support technology, (d.3) management & organisation, (d.4) rules & regulations, (d.5) human...

  12. Global Software Engineering

    DEFF Research Database (Denmark)

    Ebert, Christof; Kuhrmann, Marco; Prikladnicki, Rafael

    2016-01-01

    Professional software products and IT systems and services today are developed mostly by globally distributed teams, projects, and companies. Successfully orchestrating Global Software Engineering (GSE) has become the major success factor both for organizations and practitioners. Yet, more than...... and experience reported at the IEEE International Conference on Software Engineering (ICGSE) series. The outcomes of our analysis show GSE as a field highly attached to industry and, thus, a considerable share of ICGSE papers address the transfer of Software Engineering concepts and solutions to the global stage...

  13. Integration of object-oriented knowledge representation with the CLIPS rule based system

    Science.gov (United States)

    Logie, David S.; Kamil, Hasan

    1990-01-01

    The paper describes a portion of the work aimed at developing an integrated, knowledge based environment for the development of engineering-oriented applications. An Object Representation Language (ORL) was implemented in C++ which is used to build and modify an object-oriented knowledge base. The ORL was designed in such a way so as to be easily integrated with other representation schemes that could effectively reason with the object base. Specifically, the integration of the ORL with the rule based system C Language Production Systems (CLIPS), developed at the NASA Johnson Space Center, will be discussed. The object-oriented knowledge representation provides a natural means of representing problem data as a collection of related objects. Objects are comprised of descriptive properties and interrelationships. The object-oriented model promotes efficient handling of the problem data by allowing knowledge to be encapsulated in objects. Data is inherited through an object network via the relationship links. Together, the two schemes complement each other in that the object-oriented approach efficiently handles problem data while the rule based knowledge is used to simulate the reasoning process. Alone, the object based knowledge is little more than an object-oriented data storage scheme; however, the CLIPS inference engine adds the mechanism to directly and automatically reason with that knowledge. In this hybrid scheme, the expert system dynamically queries for data and can modify the object base with complete access to all the functionality of the ORL from rules.

  14. Video Games and Software Engineers : Designing a study based on the benefits from Video Games and how they can improve Software Engineers

    OpenAIRE

    Cosic Prica, Srdjan

    2017-01-01

    Context: This is a study about investigating if playing video games can improve any skills and characteristics in a software engineer. Due to lack of resources and time, this study will focus on designing a study that others may use to measure the results and if video games actually can improve software engineers. Objectives: The main objectives are finding the benefits of playing video games and how those benefits are discovered. Meaning what types of games and for how long someone needs to ...

  15. Software agent Technology: A Framework for Minimizing Fraud in ...

    African Journals Online (AJOL)

    Software agent Technology: A Framework for Minimizing Fraud in Postpaid Billing Systems. ... Journal of Research in National Development ... to the traditional Object-oriented Software engineering methodology was used to come up with this ...

  16. Software Engineering Laboratory Series: Proceedings of the Twenty-First Annual Software Engineering Workshop

    Science.gov (United States)

    1996-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  17. Software Engineering Laboratory Series: Proceedings of the Twenty-Second Annual Software Engineering Workshop

    Science.gov (United States)

    1997-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document.

  18. An object oriented framework of EPICS for MicroTCA based control system

    International Nuclear Information System (INIS)

    Geng, Z.

    2012-01-01

    EPICS (Experimental Physics and Industrial Control System) is a distributed control system platform which has been widely used for large scientific devices control like particle accelerators and fusion plant. EPICS has introduced object oriented (C ++ ) interfaces to most of the core services. But the major part of EPICS, the run-time database, only provides C interfaces, which is hard to involve the EPICS record concerned data and routines in the object oriented architecture of the software. This paper presents an object oriented framework which contains some abstract classes to encapsulate the EPICS record concerned data and routines in C ++ classes so that full OOA (Objected Oriented Analysis) and OOD (Object Oriented Design) methodologies can be used for EPICS IOC design. We also present a dynamic device management scheme for the hot swap capability of the MicroTCA based control system. (authors)

  19. Legacy systems: managing evolution through integration in a distributed and object-oriented computing environment.

    Science.gov (United States)

    Lemaitre, D; Sauquet, D; Fofol, I; Tanguy, L; Jean, F C; Degoulet, P

    1995-01-01

    Legacy systems are crucial for organizations since they support key functionalities. But they become obsolete with aging and the apparition of new techniques. Managing their evolution is a key issue in software engineering. This paper presents a strategy that has been developed at Broussais University Hospital in Paris to make a legacy system devoted to the management of health care units evolve towards a new up-to-date software. A two-phase evolution pathway is described. The first phase consists in separating the interface from the data storage and application control and in using a communication channel between the individualized components. The second phase proposes to use an object-oriented DBMS in place of the homegrown system. An application example for the management of hypertensive patients is described.

  20. Development of a Dynamically Configurable,Object-Oriented Framework for Distributed, Multi-modal Computational Aerospace Systems Simulation

    Science.gov (United States)

    Afjeh, Abdollah A.; Reed, John A.

    2003-01-01

    This research is aimed at developing a neiv and advanced simulation framework that will significantly improve the overall efficiency of aerospace systems design and development. This objective will be accomplished through an innovative integration of object-oriented and Web-based technologies ivith both new and proven simulation methodologies. The basic approach involves Ihree major areas of research: Aerospace system and component representation using a hierarchical object-oriented component model which enables the use of multimodels and enforces component interoperability. Collaborative software environment that streamlines the process of developing, sharing and integrating aerospace design and analysis models. . Development of a distributed infrastructure which enables Web-based exchange of models to simplify the collaborative design process, and to support computationally intensive aerospace design and analysis processes. Research for the first year dealt with the design of the basic architecture and supporting infrastructure, an initial implementation of that design, and a demonstration of its application to an example aircraft engine system simulation.

  1. Object Oriented and Functional Programming for Symbolic Manipulation

    OpenAIRE

    Vlasov, Alexander Yu.

    1999-01-01

    The advantages of mixed approach with using different kinds of programming techniques for symbolic manipulation are discussed. The main purpose of approach offered is merge the methods of object oriented programming that convenient for presentation data and algorithms for user with advantages of functional languages for data manipulation, internal presentation, and portability of software.

  2. Formal Transformations from Graphically-Based Object-Oriented Representations to Theory-Based Specifications

    Science.gov (United States)

    1996-06-01

    for Software Synthesis." KBSE 󈨡. IEEE, 1993. 51. Kang, Kyo C., et al. Feature-Oriented Domain Analysis ( FODA ) Feasibility Study. Technical Report...Algebra. New York, NY: Chelsea Publishing Company , 1993. 72. Martin, James. Principles of Object-Oriented Analysis and Design. Englewood Cliffs, New...and usefulness in domain analysis and modeling. Rumbaugh uses three distinct views to describe a domain: (1) the object model describes structural

  3. Software engineering methodologies and tools

    Science.gov (United States)

    Wilcox, Lawrence M.

    1993-01-01

    Over the years many engineering disciplines have developed, including chemical, electronic, etc. Common to all engineering disciplines is the use of rigor, models, metrics, and predefined methodologies. Recently, a new engineering discipline has appeared on the scene, called software engineering. For over thirty years computer software has been developed and the track record has not been good. Software development projects often miss schedules, are over budget, do not give the user what is wanted, and produce defects. One estimate is there are one to three defects per 1000 lines of deployed code. More and more systems are requiring larger and more complex software for support. As this requirement grows, the software development problems grow exponentially. It is believed that software quality can be improved by applying engineering principles. Another compelling reason to bring the engineering disciplines to software development is productivity. It has been estimated that productivity of producing software has only increased one to two percent a year in the last thirty years. Ironically, the computer and its software have contributed significantly to the industry-wide productivity, but computer professionals have done a poor job of using the computer to do their job. Engineering disciplines and methodologies are now emerging supported by software tools that address the problems of software development. This paper addresses some of the current software engineering methodologies as a backdrop for the general evaluation of computer assisted software engineering (CASE) tools from actual installation of and experimentation with some specific tools.

  4. Product-oriented Software Certification Process for Software Synthesis

    Science.gov (United States)

    Nelson, Stacy; Fischer, Bernd; Denney, Ewen; Schumann, Johann; Richardson, Julian; Oh, Phil

    2004-01-01

    The purpose of this document is to propose a product-oriented software certification process to facilitate use of software synthesis and formal methods. Why is such a process needed? Currently, software is tested until deemed bug-free rather than proving that certain software properties exist. This approach has worked well in most cases, but unfortunately, deaths still occur due to software failure. Using formal methods (techniques from logic and discrete mathematics like set theory, automata theory and formal logic as opposed to continuous mathematics like calculus) and software synthesis, it is possible to reduce this risk by proving certain software properties. Additionally, software synthesis makes it possible to automate some phases of the traditional software development life cycle resulting in a more streamlined and accurate development process.

  5. COTS-based OO-component approach for software inter-operability and reuse (software systems engineering methodology)

    Science.gov (United States)

    Yin, J.; Oyaki, A.; Hwang, C.; Hung, C.

    2000-01-01

    The purpose of this research and study paper is to provide a summary description and results of rapid development accomplishments at NASA/JPL in the area of advanced distributed computing technology using a Commercial-Off--The-Shelf (COTS)-based object oriented component approach to open inter-operable software development and software reuse.

  6. Software Engineering Education Directory

    Science.gov (United States)

    1990-04-01

    and Engineering (CMSC 735) Codes: GPEV2 * Textiooks: IEEE Tutoria on Models and Metrics for Software Management and Engameeing by Basi, Victor R...Software Engineering (Comp 227) Codes: GPRY5 Textbooks: IEEE Tutoria on Software Design Techniques by Freeman, Peter and Wasserman, Anthony 1. Software

  7. Objective - oriented financial analysis introduction

    Directory of Open Access Journals (Sweden)

    Dessislava Kostova – Pickett

    2018-02-01

    Full Text Available The practice of financial analysis has been immeasurably strengthened in recent years thanks to the ongoing evolution of computerized approaches in the form of spreadsheets and computer-based financial models of different types. These devices not only relieved the analyst's computing task, but also opened up a wide range of analyzes and research into alternative sensitivity, which so far has not been possible. The main potential for object-oriented financial analysis consists in enormously expanding the analyst's capabilities through an online knowledge and information interface that has not yet been achieved through existing methods and software packages.

  8. Software engineering processes principles and applications

    CERN Document Server

    Wang, Yingxu

    2000-01-01

    Fundamentals of the Software Engineering ProcessIntroductionA Unified Framework of the Software Engineering ProcessProcess AlgebraProcess-Based Software EngineeringSoftware Engineering Process System ModelingThe CMM ModelThe ISO 9001 ModelThe BOOTSTRAP ModelThe ISO/IEC 15504 (SPICE) ModelThe Software Engineering Process Reference Model: SEPRMSoftware Engineering Process System AnalysisBenchmarking the SEPRM ProcessesComparative Analysis of Current Process ModelsTransformation of Capability Levels Between Current Process ModelsSoftware Engineering Process EstablishmentSoftware Process Establish

  9. Mobile Game Development: Object-Orientation or Not

    DEFF Research Database (Denmark)

    Zhang, Weishan; Han, Dong; Kunz, Thomas

    2007-01-01

    technology is the prevalent programming paradigm, most of the current mobile games are developed with object-orientation (OO) technologies. Intuitively OO is not a perfect paradigm for embedded software. Questions remain such as how OO and to what degree OO will affect the performance, executable file size......Mobile games are one of the primary entertainment applications at present. Limited by scarce resources, such as memory, CPU, input and output, etc, mobile game development is more difficult than desktop application development, with performance as one of the top critical requirements. As object-oriented...... for the development of mobile device applications (but normal for usual desktop applications). We then apply some optimization strategies along the way of structural programming. The experiment shows that the total jar file size of these five optimized games decreases 71%, the lines of codes decreases 59...

  10. Computer games and software engineering

    CERN Document Server

    Cooper, Kendra M L

    2015-01-01

    Computer games represent a significant software application domain for innovative research in software engineering techniques and technologies. Game developers, whether focusing on entertainment-market opportunities or game-based applications in non-entertainment domains, thus share a common interest with software engineers and developers on how to best engineer game software.Featuring contributions from leading experts in software engineering, the book provides a comprehensive introduction to computer game software development that includes its history as well as emerging research on the inte

  11. A new Object-oriented Interface to MDSplus

    Energy Technology Data Exchange (ETDEWEB)

    Manduchi, G. [Associazione EURATOM-ENEA sulla Fusione, Padua (Italy); Fredian, T. [MIT Plasma Science and Fusion Center, Littleton, NH (United States); Stillerman, J. [MIT Plasma Science and Fusion Center, Cambridge, MA (United States)

    2009-07-01

    The MDSplus data acquisition and management software package is widely used in the international fusion research community. Its core Application Programming Interface (API) remained unchanged since the system was ported to a multi platform environment in the late nineties. Originally written in C, the MDSplus API did not fully exploit several object-oriented features of the system that were included in the original architecture. In 2008 a project was initiated by the authors to provide the core MDSplus functionality with an object-oriented API. A generic, language-independent class structure has been defined and modeled in UML. Based on this description the new API has been implemented so far in C++, Python, and Java. Fortran 90 and Matlab interfaces are foreseen in 2009. The new API provides: - Data Type Management, allowing the full exploitation of the rich set of data types defined in MDSplus by means of composition of data object instances; - Pulse file access, for writing and reading data objects as well as managing database components properties. The definition of a language-independent class organization allows the MDSplus Object API be consistent across all the object oriented languages that will be supported. Regardless of the language used, this approach provides a much more natural programming interaction with MDSplus. Moreover, the UML graphical definition proved an effective and unambiguous way of documenting the system components. This document is composed of an abstract followed by the presentation transparencies. (authors)

  12. NASA software documentation standard software engineering program

    Science.gov (United States)

    1991-01-01

    The NASA Software Documentation Standard (hereinafter referred to as Standard) can be applied to the documentation of all NASA software. This Standard is limited to documentation format and content requirements. It does not mandate specific management, engineering, or assurance standards or techniques. This Standard defines the format and content of documentation for software acquisition, development, and sustaining engineering. Format requirements address where information shall be recorded and content requirements address what information shall be recorded. This Standard provides a framework to allow consistency of documentation across NASA and visibility into the completeness of project documentation. This basic framework consists of four major sections (or volumes). The Management Plan contains all planning and business aspects of a software project, including engineering and assurance planning. The Product Specification contains all technical engineering information, including software requirements and design. The Assurance and Test Procedures contains all technical assurance information, including Test, Quality Assurance (QA), and Verification and Validation (V&V). The Management, Engineering, and Assurance Reports is the library and/or listing of all project reports.

  13. Advanced software development workstation: Object-oriented methodologies and applications for flight planning and mission operations

    Science.gov (United States)

    Izygon, Michel

    1993-01-01

    The work accomplished during the past nine months in order to help three different organizations involved in Flight Planning and in Mission Operations systems, to transition to Object-Oriented Technology, by adopting one of the currently most widely used Object-Oriented analysis and Design Methodology is summarized.

  14. Software Engineering Improvement Activities/Plan

    Science.gov (United States)

    2003-01-01

    bd Systems personnel accomplished the technical responsibilities for this reporting period, as planned. A close working relationship was maintained with personnel of the MSFC Avionics Department Software Group (ED14). Work accomplishments included development, evaluation, and enhancement of a software cost model, performing literature search and evaluation of software tools available for code analysis and requirements analysis, and participating in other relevant software engineering activities. Monthly reports were submitted. This support was provided to the Flight Software Group/ED 1 4 in accomplishing the software engineering improvement engineering activities of the Marshall Space Flight Center (MSFC) Software Engineering Improvement Plan.

  15. Object-Oriented Control System Design Using On-Line Training of Artificial Neural Networks

    Science.gov (United States)

    Rubaai, Ahmed

    1997-01-01

    This report deals with the object-oriented model development of a neuro-controller design for permanent magnet (PM) dc motor drives. The system under study is described as a collection of interacting objects. Each object module describes the object behaviors, called methods. The characteristics of the object are included in its variables. The knowledge of the object exists within its variables, and the performance is determined by its methods. This structure maps well to the real world objects that comprise the system being modeled. A dynamic learning architecture that possesses the capabilities of simultaneous on-line identification and control is incorporated to enforce constraints on connections and control the dynamics of the motor. The control action is implemented "on-line", in "real time" in such a way that the predicted trajectory follows a specified reference model. A design example of controlling a PM dc motor drive on-line shows the effectiveness of the design tool. This will therefore be very useful in aerospace applications. It is expected to provide an innovative and noval software model for the rocket engine numerical simulator executive.

  16. Software Engineering for Human Spaceflight

    Science.gov (United States)

    Fredrickson, Steven E.

    2014-01-01

    The Spacecraft Software Engineering Branch of NASA Johnson Space Center (JSC) provides world-class products, leadership, and technical expertise in software engineering, processes, technology, and systems management for human spaceflight. The branch contributes to major NASA programs (e.g. ISS, MPCV/Orion) with in-house software development and prime contractor oversight, and maintains the JSC Engineering Directorate CMMI rating for flight software development. Software engineering teams work with hardware developers, mission planners, and system operators to integrate flight vehicles, habitats, robotics, and other spacecraft elements. They seek to infuse automation and autonomy into missions, and apply new technologies to flight processor and computational architectures. This presentation will provide an overview of key software-related projects, software methodologies and tools, and technology pursuits of interest to the JSC Spacecraft Software Engineering Branch.

  17. A Component-Oriented Programming for Embedded Mobile Robot Software

    Directory of Open Access Journals (Sweden)

    Safaai Deris

    2008-11-01

    Full Text Available Applying software reuse to many Embedded Real-Time (ERT systems poses significant challenges to industrial software processes due to the resource-constrained and real-time requirements of the systems. Autonomous Mobile Robot (AMR system is a class of ERT systems, hence, inherits the challenge of applying software reuse in general ERT systems. Furthermore, software reuse in AMR systems is challenged by the diversities in terms of robot physical size and shape, environmental interaction and implementation platform. Thus, it is envisioned that component-based software engineering will be the suitable way to promote software reuse in AMR systems with consideration to general requirements to be self-contained, platform-independent and real-time predictable. A framework for component-oriented programming for AMR software development using PECOS component model is proposed in this paper. The main features of this framework are: (1 use graphical representation for components definition and composition; (2 target C language for optimal code generation with resource-constrained micro-controller; and (3 minimal requirement for run-time support. Real-time implementation indicates that, the PECOS component model together with the proposed framework is suitable for resource constrained embedded AMR systems software development.

  18. Software Engineering Improvement Plan

    Science.gov (United States)

    2006-01-01

    In performance of this task order, bd Systems personnel provided support to the Flight Software Branch and the Software Working Group through multiple tasks related to software engineering improvement and to activities of the independent Technical Authority (iTA) Discipline Technical Warrant Holder (DTWH) for software engineering. To ensure that the products, comments, and recommendations complied with customer requirements and the statement of work, bd Systems personnel maintained close coordination with the customer. These personnel performed work in areas such as update of agency requirements and directives database, software effort estimation, software problem reports, a web-based process asset library, miscellaneous documentation review, software system requirements, issue tracking software survey, systems engineering NPR, and project-related reviews. This report contains a summary of the work performed and the accomplishments in each of these areas.

  19. Software engineer's pocket book

    CERN Document Server

    Tooley, Michael

    2013-01-01

    Software Engineer's Pocket Book provides a concise discussion on various aspects of software engineering. The book is comprised of six chapters that tackle various areas of concerns in software engineering. Chapter 1 discusses software development, and Chapter 2 covers programming languages. Chapter 3 deals with operating systems. The book also tackles discrete mathematics and numerical computation. Data structures and algorithms are also explained. The text will be of great use to individuals involved in the specification, design, development, implementation, testing, maintenance, and qualit

  20. Recommendation systems in software engineering

    CERN Document Server

    Robillard, Martin P; Walker, Robert J; Zimmermann, Thomas

    2014-01-01

    With the growth of public and private data stores and the emergence of off-the-shelf data-mining technology, recommendation systems have emerged that specifically address the unique challenges of navigating and interpreting software engineering data.This book collects, structures and formalizes knowledge on recommendation systems in software engineering. It adopts a pragmatic approach with an explicit focus on system design, implementation, and evaluation. The book is divided into three parts: "Part I - Techniques" introduces basics for building recommenders in software engineering, including techniques for collecting and processing software engineering data, but also for presenting recommendations to users as part of their workflow.?"Part II - Evaluation" summarizes methods and experimental designs for evaluating recommendations in software engineering.?"Part III - Applications" describes needs, issues and solution concepts involved in entire recommendation systems for specific software engineering tasks, fo...

  1. The ATLAS Data Management Software Engineering Process

    CERN Document Server

    Lassnig, M; The ATLAS collaboration; Stewart, G A; Barisits, M; Beermann, T; Vigne, R; Serfon, C; Goossens, L; Nairz, A; Molfetas, A

    2014-01-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also hi...

  2. The ATLAS Data Management Software Engineering Process

    CERN Document Server

    Lassnig, M; The ATLAS collaboration; Stewart, G A; Barisits, M; Beermann, T; Vigne, R; Serfon, C; Goossens, L; Nairz, A

    2013-01-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also hi...

  3. Object oriented programming

    International Nuclear Information System (INIS)

    Kunz, P.F.

    1990-01-01

    This paper is an introduction to object oriented programming techniques. It tries to explain the concepts by using analogies with traditional programming. The object oriented approach not inherently difficult, but most programmers find a relatively high threshold in learning it. Thus, this paper will attempt to convey the concepts with examples rather than explain the formal theory

  4. Reflections on Software Engineering Education

    NARCIS (Netherlands)

    van Vliet, H.

    2006-01-01

    In recent years, the software engineering community has focused on organizing its existing knowledge and finding opportunities to transform that knowledge into a university curriculum. SWEBOK (the Guide to the Software Engineering Body of Knowledge) and Software Engineering 2004 are two initiatives

  5. Object-Orientation is Evil for Mobile Games: Experience from Industrial Mobile RPGs

    DEFF Research Database (Denmark)

    Zhang, Weishan; Han, Dong; Kunz, Thomas

    2007-01-01

    Mobile gaming is playing an important role in the entertainment industry. Good performance is a critical requirement for mobile games in order to achieve acceptable running speed although mobile devices are limited by scarce resources. Object-oriented programming is the prevalent programming....... Therefore if developers are aiming for mobile game performance, we conclude that they should use as few OO features as possible. Structural programming can be a very competitive alternative....... paradigm and this is true for mobile game development as well. As the origin of object-orientation (OO) is not targeting the embedded software domain, there is suspicion as to OO's usability for embedded software, especially with respect to mobile games. Questions arise like how OO and to what degree OO...

  6. AN APPLICATION OF MECHATRONICS IN MANUFACTURING WITH OBJECT-ORIENTED PROGRAMMING IN A WINDOWS ENVIRONMENT

    Directory of Open Access Journals (Sweden)

    M. L. J. Jürgens

    2012-01-01

    Full Text Available

    ENGLISH ABSTRACT: This project is part of a program to establish mechatronics knowledge and skills in the Department of Industrial Engineering at the University of Stellenbosch. A low-cost, but accurate mechatronic application was developed by automating a pipe-bending machine. Accelerating software development through object-oriented programming was also investigated. The object-oriented software was developed with a structure that increases the independence between the application object and the data acquisition system. A teach-pendant and large, multicolour displays with interactive buttons were developed to ensure a user-friendly machine. .The positioning of the headstock was controlled by a pulsing control algorithm, which achieved an accuracy of ±0.15 degrees and a repeatability of ±0.24 degrees. The design of the machine and software and experimental results are discussed in this paper.

    AFRIKAANSE OPSOMMING: Hierdie projek vorm deeI van 'n program om kennis en vaardighede in die aanwending van megatronika in die Departement Bedryfsingenieurswese van die Universiteit van Stellenbosch te vestig. 'n Lae koste, maar akkurate megatronika toepassing is ontwikkel deur 'n pypbuigmasjien te outomatiseer. Versnelling van sagteware-ontwikkeling deur die toepassing van objek-georienteerde programmering is ook ondersoek. Die objek-georienteerde sagteware is ontwikkel met 'n struktuur wat onafhanklikheid tussen die toepassings-objek en die dataver-samelingstelsel bevorder. 'n Handkontrole eenheid en groot veelkleurige rekenaarvertoonskerms met interaktiewe drukknoppe om 'n gebruikersvriendelike masjien te vereker is ontwikkel. Die posisionering van die kopstuk word beheer deur 'n puls-algoritrne wat 'n akkuraatheid van ±O.l5 grade en 'n herhaalbaarheid van ±0.24 grade lewer. Die ontwerp van die masjien en sagteware en eksperimentele resultate word in hierdie artikel bespreek.

  7. A View on a Successful International Educational Project in Software Engineering

    Directory of Open Access Journals (Sweden)

    Zoran Budimac

    2012-01-01

    Full Text Available In this paper, a successful and fruitful joint project will be presented. The project joins participants from 9 countries and from 15 universities. Since it started in 2001, this project entitled “Software Engineering: Computer Science Education and Research Cooperation” helped participants to gain excellent, up to date educational material, apply modern teaching methods, exchange experiences with other participants, and work jointly on the further development of lectures, case-studies, assignments, examination questions, and other necessary elements of a course. Project works under auspices of Stability Pact of South-Eastern Europe, and is supported by DAAD. The project started with the creation of a common beginning course in “Software Engineering”, but over time it grew and the number of other courses was developed. Finished almost completely are the courses in “Object-oriented programming”, “Software Project Management”, “Advanced Compiler Construction”, and “Data Structures and Algorithms”, and some other courses are under development. Aside from the educational collaboration, project members also developed good scientific cooperation, and published several research papers.

  8. Meanline Analysis of Turbines with Choked Flow in the Object-Oriented Turbomachinery Analysis Code

    Science.gov (United States)

    Hendricks, Eric S.

    2016-01-01

    The prediction of turbomachinery performance characteristics is an important part of the conceptual aircraft engine design process. During this phase, the designer must examine the effects of a large number of turbomachinery design parameters to determine their impact on overall engine performance and weight. The lack of detailed design information available in this phase necessitates the use of simpler meanline and streamline methods to determine the turbomachinery geometry characteristics and provide performance estimates prior to more detailed CFD (Computational Fluid Dynamics) analyses. While a number of analysis codes have been developed for this purpose, most are written in outdated software languages and may be difficult or impossible to apply to new, unconventional designs. The Object-Oriented Turbomachinery Analysis Code (OTAC) is currently being developed at NASA Glenn Research Center to provide a flexible meanline and streamline analysis capability in a modern object-oriented language. During the development and validation of OTAC, a limitation was identified in the code's ability to analyze and converge turbines as the flow approached choking. This paper describes a series of changes which can be made to typical OTAC turbine meanline models to enable the assessment of choked flow up to limit load conditions. Results produced with this revised model setup are provided in the form of turbine performance maps and are compared to published maps.

  9. TWRS engineering bibliography software listing

    International Nuclear Information System (INIS)

    Husa, E.I.

    1995-01-01

    This document contains the computer software listing for Engineering Bibliography software, developed by E. Ivar Husa. This software is in the working prototype stage of development. The code has not been tested to requirements. TWRS Engineering created this software for engineers to share bibliographic references across the Hanford site network (HLAN). This software is intended to store several hundred to several thousand references (a compendium with limited range). Coded changes are needed to support the larger number of references

  10. NASA Software Engineering Benchmarking Study

    Science.gov (United States)

    Rarick, Heather L.; Godfrey, Sara H.; Kelly, John C.; Crumbley, Robert T.; Wifl, Joel M.

    2013-01-01

    was its software assurance practices, which seemed to rate well in comparison to the other organizational groups and also seemed to include a larger scope of activities. An unexpected benefit of the software benchmarking study was the identification of many opportunities for collaboration in areas including metrics, training, sharing of CMMI experiences and resources such as instructors and CMMI Lead Appraisers, and even sharing of assets such as documented processes. A further unexpected benefit of the study was the feedback on NASA practices that was received from some of the organizations interviewed. From that feedback, other potential areas where NASA could improve were highlighted, such as accuracy of software cost estimation and budgetary practices. The detailed report contains discussion of the practices noted in each of the topic areas, as well as a summary of observations and recommendations from each of the topic areas. The resulting 24 recommendations from the topic areas were then consolidated to eliminate duplication and culled into a set of 14 suggested actionable recommendations. This final set of actionable recommendations, listed below, are items that can be implemented to improve NASA's software engineering practices and to help address many of the items that were listed in the NASA top software engineering issues. 1. Develop and implement standard contract language for software procurements. 2. Advance accurate and trusted software cost estimates for both procured and in-house software and improve the capture of actual cost data to facilitate further improvements. 3. Establish a consistent set of objectives and expectations, specifically types of metrics at the Agency level, so key trends and models can be identified and used to continuously improve software processes and each software development effort. 4. Maintain the CMMI Maturity Level requirement for critical NASA projects and use CMMI to measure organizations developing software for NASA. 5

  11. Global Software Engineering

    DEFF Research Database (Denmark)

    Ebert, Christof; Kuhrmann, Marco; Prikladnicki, Rafael

    2016-01-01

    SOFTWARE, LIKE ALL industry products, is the result of complex multinational supply chains with many partners from concept to development to production and maintenance. Global software engineering (GSE), IT outsourcing, and business process outsourcing during the past decade have showed growth...... rates of 10 to 20 percent per year. This instalment of Practitioner’s Digest summarizes experiences and guidance from industry to facilitate knowledge and technology transfer for GSE. It’s based on industry feedback from the annual IEEE International Conference on Global Software Engineering, which had...

  12. Software engineering

    CERN Document Server

    Thorin, Marc

    1985-01-01

    Software Engineering describes the conceptual bases as well as the main methods and rules on computer programming. This book presents software engineering as a coherent and logically built synthesis and makes it possible to properly carry out an application of small or medium difficulty that can later be developed and adapted to more complex cases. This text is comprised of six chapters and begins by introducing the reader to the fundamental notions of entities, actions, and programming. The next two chapters elaborate on the concepts of information and consistency domains and show that a proc

  13. Version II of the ISACS Intelligent Coordinator: object-oriented design and implementation

    International Nuclear Information System (INIS)

    Liholt, V.; Miazza, P.

    1993-03-01

    Within the Integrated Surveillance And Control System (ISACS-1)prototype coupled to the NORS PWR simulator, the Intelligent Coordinator (IC) is a central software module. It provides for example the operators with high-level knowledge on the overall plant status. This is performed through the integration of information fetched from the process and different Computerised Operator Support Systems. In 1991, the first version of ISACS and its associated Intelligent Information Coordinator came into operation. During initial ISACS-1 test runs, minor malfunctions were evidently detected in the IC software. At the same time, new reasoning capabilities were also required. A careful analysis of the IC software, implemented with the software shell G2, revealed that its software structure did not allow any easy extension. This report presents in detail the object-oriented redesign of the Intelligent Coordinator of ISACS-1 Firstly, the main capabilities of the Intelligent Coordinator are recalled. Then, the different object classes composing the application are commented in detail The implementation of this new design with the G2 software shell is illustrated through examples. This allows us at the same time to comment our experiences made with the G2 tool. Finally, a quantitative comparison between the successive versions of the Intelligent Coordinator shows clearly the improvements achieved by this object-oriented redesign. A drastic reduction of the number of production rules attests that a better representation of the plant expert knowledge embedded in the Intelligent Coordinator has been achieved. (author)

  14. The ATLAS data management software engineering process

    International Nuclear Information System (INIS)

    Lassnig, M; Garonne, V; Stewart, G A; Barisits, M; Serfon, C; Goossens, L; Nairz, A; Beermann, T; Vigne, R; Molfetas, A

    2014-01-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also highlight the social aspects of an environment where every action is subject to detailed scrutiny.

  15. The ATLAS data management software engineering process

    Science.gov (United States)

    Lassnig, M.; Garonne, V.; Stewart, G. A.; Barisits, M.; Beermann, T.; Vigne, R.; Serfon, C.; Goossens, L.; Nairz, A.; Molfetas, A.; Atlas Collaboration

    2014-06-01

    Rucio is the next-generation data management system of the ATLAS experiment. The software engineering process to develop Rucio is fundamentally different to existing software development approaches in the ATLAS distributed computing community. Based on a conceptual design document, development takes place using peer-reviewed code in a test-driven environment. The main objectives are to ensure that every engineer understands the details of the full project, even components usually not touched by them, that the design and architecture are coherent, that temporary contributors can be productive without delay, that programming mistakes are prevented before being committed to the source code, and that the source is always in a fully functioning state. This contribution will illustrate the workflows and products used, and demonstrate the typical development cycle of a component from inception to deployment within this software engineering process. Next to the technological advantages, this contribution will also highlight the social aspects of an environment where every action is subject to detailed scrutiny.

  16. Software engineering a practitioner's approach

    CERN Document Server

    Pressman, Roger S

    1997-01-01

    This indispensable guide to software engineering exploration enables practitioners to navigate the ins and outs of this rapidly changing field. Pressman's fully revised and updated Fourth Edition provides in-depth coverage of every important management and technical topic in software engineering. Moreover, readers will find the inclusion of the hottest developments in the field such as: formal methods and cleanroom software engineering, business process reengineering, and software reengineering.

  17. Beginning software engineering

    CERN Document Server

    Stephens, Rod

    2015-01-01

    Beginning Software Engineering demystifies the software engineering methodologies and techniques that professional developers use to design and build robust, efficient, and consistently reliable software. Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, RAD, Scrum, Kanban, Extreme Programming, and many other development models is inside!

  18. COCOA CMS Object-oriented Code for Optical Alignment

    CERN Document Server

    Arce, P

    2007-01-01

    COCOA is a C++ software that is able to reconstruct the positions, angular orientations, and internal optical parameters of any optical system described by a seamless combination of many different types of optical objects. The program also handles the propagation of uncertainties, which makes it very useful to simulate the system in the design phase. The software is currently in use by the different optical alignment systems of CMS and is integrated in the CMS framework so that it can read the geometry description from simple text files or the CMS XML format, and the input and output data from text files, ROOT trees, or an Oracle or MySQL database.

  19. Computer-Aided Software Engineering - An approach to real-time software development

    Science.gov (United States)

    Walker, Carrie K.; Turkovich, John J.

    1989-01-01

    A new software engineering discipline is Computer-Aided Software Engineering (CASE), a technology aimed at automating the software development process. This paper explores the development of CASE technology, particularly in the area of real-time/scientific/engineering software, and a history of CASE is given. The proposed software development environment for the Advanced Launch System (ALS CASE) is described as an example of an advanced software development system for real-time/scientific/engineering (RT/SE) software. The Automated Programming Subsystem of ALS CASE automatically generates executable code and corresponding documentation from a suitably formatted specification of the software requirements. Software requirements are interactively specified in the form of engineering block diagrams. Several demonstrations of the Automated Programming Subsystem are discussed.

  20. Software engineers and nuclear engineers: teaming up to do testing

    International Nuclear Information System (INIS)

    Kelly, D.; Cote, N.; Shepard, T.

    2007-01-01

    The software engineering community has traditionally paid little attention to the specific needs of engineers and scientists who develop their own software. Recently there has been increased recognition that specific software engineering techniques need to be found for this group of developers. In this case study, a software engineering group teamed with a nuclear engineering group to develop a software testing strategy. This work examines the types of testing that proved to be useful and examines what each discipline brings to the table to improve the quality of the software product. (author)

  1. Software quality engineering a practitioner's approach

    CERN Document Server

    Suryn, Witold

    2014-01-01

    Software quality stems from two distinctive, but associated, topics in software engineering: software functional quality and software structural quality. Software Quality Engineering studies the tenets of both of these notions, which focus on the efficiency and value of a design, respectively. The text addresses engineering quality on both the application and system levels with attention to Information Systems and Embedded Systems as well as recent developments. Targeted at graduate engineering students and software quality specialists, the book analyzes the relationship between functionality

  2. SPEM: Software Process Engineering Metamodel

    Directory of Open Access Journals (Sweden)

    Víctor Hugo Menéndez Domínguez

    2015-05-01

    Full Text Available Todas las organizaciones involucradas en el desarrollo de software necesitan establecer, gestionar y soportar el trabajo de desarrollo. El término “proceso de desarrollo de software” tiende a unificar todas las actividades y prácticas que cubren esas necesidades. Modelar el proceso de software es una forma para mejorar el desarrollo y la calidad de las aplicaciones resultantes. De entre todos los lenguajes existentes para el modelado de procesos, aquellos basados en productos de trabajo son los más adecuados. Uno de tales lenguajes es SPEM (Software Process Engineering Metamodel. SPEM fue creado por OMG (Object Management Group como un estándar de alto nivel, que está basado en MOF (MetaObject Facility y es un metamodelo UML (Uniform Model Language. Constituye un tipo de ontología de procesos de desarrollo de software. En este artículo se ofrece una descripción, en términos generales, del estándar SPEM. También se destacan los cambios que ha experimentado entre la versión 1.1 y la versión 2.0, presentando tanto las ventajas como las desventajas encontradas entre ambas versiones.

  3. Computer systems and software engineering

    Science.gov (United States)

    Mckay, Charles W.

    1988-01-01

    The High Technologies Laboratory (HTL) was established in the fall of 1982 at the University of Houston Clear Lake. Research conducted at the High Tech Lab is focused upon computer systems and software engineering. There is a strong emphasis on the interrelationship of these areas of technology and the United States' space program. In Jan. of 1987, NASA Headquarters announced the formation of its first research center dedicated to software engineering. Operated by the High Tech Lab, the Software Engineering Research Center (SERC) was formed at the University of Houston Clear Lake. The High Tech Lab/Software Engineering Research Center promotes cooperative research among government, industry, and academia to advance the edge-of-knowledge and the state-of-the-practice in key topics of computer systems and software engineering which are critical to NASA. The center also recommends appropriate actions, guidelines, standards, and policies to NASA in matters pertinent to the center's research. Results of the research conducted at the High Tech Lab/Software Engineering Research Center have given direction to many decisions made by NASA concerning the Space Station Program.

  4. EMEN2: an object oriented database and electronic lab notebook.

    Science.gov (United States)

    Rees, Ian; Langley, Ed; Chiu, Wah; Ludtke, Steven J

    2013-02-01

    Transmission electron microscopy and associated methods, such as single particle analysis, two-dimensional crystallography, helical reconstruction, and tomography, are highly data-intensive experimental sciences, which also have substantial variability in experimental technique. Object-oriented databases present an attractive alternative to traditional relational databases for situations where the experiments themselves are continually evolving. We present EMEN2, an easy to use object-oriented database with a highly flexible infrastructure originally targeted for transmission electron microscopy and tomography, which has been extended to be adaptable for use in virtually any experimental science. It is a pure object-oriented database designed for easy adoption in diverse laboratory environments and does not require professional database administration. It includes a full featured, dynamic web interface in addition to APIs for programmatic access. EMEN2 installations currently support roughly 800 scientists worldwide with over 1/2 million experimental records and over 20 TB of experimental data. The software is freely available with complete source.

  5. Towards Integration of Object-Oriented Languages and State Machines

    DEFF Research Database (Denmark)

    Madsen, Ole Lehrmann

    1999-01-01

    The goal of this paper is to obtain a one-to-one correspondence between state machines as e.g. used in UML and object-oriented programming languages. A proposal is made for a language mechanism that makes it possible for an object to change its virtual bindings at run-time. A state of an object may...... then be represented as a set of virtual bindings.One advantage of object-orientation is that it provides an integrating perspective on many phases of software development, including analysis, design and implementation. For the static set of OO language constructs there is almost a one-to-one correspondence between...... analysis/design notations and OO programming languages. No such correspondence exists for the dynamic aspects, but the proposed state-mechanism is a contribution to a better cor respondence. The proposal is based on previous work by Antero Taivalsaari and compared to the more complex features for changing...

  6. NPA4K development system using object-oriented methodology

    International Nuclear Information System (INIS)

    Jeong, Kwang Seong; Hahn, Do Hee

    2000-11-01

    NPA4K consists of module programs with several components for various functions. Software components have to be developed systematically by compartment criteria and design method. In this paper, the understandings of a typical Object-Oriented Methodology , UML(Unified Modeling Language), the procedure for NPA4K program development and the architecture for long-term development of NPA4K are introduced

  7. NPA4K development system using object-oriented methodology

    Energy Technology Data Exchange (ETDEWEB)

    Jeong, Kwang Seong; Hahn, Do Hee

    2000-11-01

    NPA4K consists of module programs with several components for various functions. Software components have to be developed systematically by compartment criteria and design method. In this paper, the understandings of a typical Object-Oriented Methodology , UML(Unified Modeling Language), the procedure for NPA4K program development and the architecture for long-term development of NPA4K are introduced.

  8. Predicting class testability using object-oriented metrics

    OpenAIRE

    Bruntink, Magiel; Deursen, Arie

    2004-01-01

    textabstractIn this paper we investigate factors of the testability of object-oriented software systems. The starting point is given by a study of the literature to obtain both an initial model of testability and existing OO metrics related to testability. Subsequently, these metrics are evaluated by means of two case studies of large Java systems for which JUnit test cases exist. The goal of this paper is to define and evaluate a set of metrics that can be used to assess the testability of t...

  9. Survey of source code metrics for evaluating testability of object oriented systems

    OpenAIRE

    Shaheen , Muhammad Rabee; Du Bousquet , Lydie

    2010-01-01

    Software testing is costly in terms of time and funds. Testability is a software characteristic that aims at producing systems easy to test. Several metrics have been proposed to identify the testability weaknesses. But it is sometimes difficult to be convinced that those metrics are really related with testability. This article is a critical survey of the source-code based metrics proposed in the literature for object-oriented software testability. It underlines the necessity to provide test...

  10. Aspect-Oriented Programming using Composition Filters

    NARCIS (Netherlands)

    Aksit, Mehmet; Tekinerdogan, B.

    1998-01-01

    Software engineers may experience problems in modeling certain aspects while applying object-oriented techniques [4, 10, 11]. Composition-Filters are capable of expressing various different kinds of aspects in a uniform manner. These aspects are, for example, inheritance and delegation [1] and

  11. Object-Oriented Technology-Based Software Library for Operations of Water Reclamation Centers

    Science.gov (United States)

    Otani, Tetsuo; Shimada, Takehiro; Yoshida, Norio; Abe, Wataru

    SCADA systems in water reclamation centers have been constructed based on hardware and software that each manufacturer produced according to their design. Even though this approach used to be effective to realize real-time and reliable execution, it is an obstacle to cost reduction about system construction and maintenance. A promising solution to address the problem is to set specifications that can be used commonly. In terms of software, information model approach has been adopted in SCADA systems in other field, such as telecommunications and power systems. An information model is a piece of software specification that describes a physical or logical object to be monitored. In this paper, we propose information models for operations of water reclamation centers, which have not ever existed. In addition, we show the feasibility of the information model in terms of common use and processing performance.

  12. Teaching Empirical Software Engineering Using Expert Teams

    DEFF Research Database (Denmark)

    Kuhrmann, Marco

    2017-01-01

    Empirical software engineering aims at making software engineering claims measurable, i.e., to analyze and understand phenomena in software engineering and to evaluate software engineering approaches and solutions. Due to the involvement of humans and the multitude of fields for which software...... is crucial, software engineering is considered hard to teach. Yet, empirical software engineering increases this difficulty by adding the scientific method as extra dimension. In this paper, we present a Master-level course on empirical software engineering in which different empirical instruments...... an extra specific expertise that they offer as service to other teams, thus, fostering cross-team collaboration. The paper outlines the general course setup, topics addressed, and it provides initial lessons learned....

  13. Sustainability in Software Engineering

    NARCIS (Netherlands)

    Wolfram, N.J.E.; Lago, P.; Osborne, Francesco

    2017-01-01

    The intersection between software engineering research and issues related to sustainability and green IT has been the subject of increasing attention. In spite of that, we observe that sustainability is still not clearly defined, or understood, in the field of software engineering. This lack of

  14. 3rd international software language engineering conference (SLE) : pre-proceedings, October 12-13, 2010, Eindhoven, the Netherlands

    OpenAIRE

    Brand, van den, M.G.J.; Malloy, B.; Staab, S.

    2010-01-01

    We are pleased to present the proceedings of the Third International Conference on Software Language Engineering (SLE 2010). The conference will be held in Eindhoven, the Netherlands during October 12-13, 2010 and will be co-located with The Ninth International Conference on Generative Programming and Component Engineering (GPCE'10), and The Workshop on Feature-Oriented Software Development (FOSD). An important goal of SLE is to integrate the different sub-communities of the software-language...

  15. Developing Distributed System With Service Resource Oriented Architecture

    Directory of Open Access Journals (Sweden)

    Hermawan Hermawan

    2012-06-01

    Full Text Available Service Oriented Architecture is a design paradigm in software engineering with which a distributed system is built for an enterprise. This paradigm aims at providing the system as a service through a protocol in web service technology, namely Simple Object Access Protocol (SOAP. However, SOA is service level agreements of webservice. For this reason, this reasearch aims at combining SOA with Resource Oriented Architecture in order to expand scalability of services. This combination creates Sevice Resource Oriented Architecture (SROA with which a distributed system is developed that integrates services within project management software. Following this design, the software is developed according to a framework of Agile Model Driven Development which can reduce complexities of the whole process of software development.

  16. An Object-Oriented Architecture for a Web-Based CAI System.

    Science.gov (United States)

    Nakabayashi, Kiyoshi; Hoshide, Takahide; Seshimo, Hitoshi; Fukuhara, Yoshimi

    This paper describes the design and implementation of an object-oriented World Wide Web-based CAI (Computer-Assisted Instruction) system. The goal of the design is to provide a flexible CAI/ITS (Intelligent Tutoring System) framework with full extendibility and reusability, as well as to exploit Web-based software technologies such as JAVA, ASP (a…

  17. Analysis of manufacturing based on object oriented discrete event simulation

    Directory of Open Access Journals (Sweden)

    Eirik Borgen

    1990-01-01

    Full Text Available This paper describes SIMMEK, a computer-based tool for performing analysis of manufacturing systems, developed at the Production Engineering Laboratory, NTH-SINTEF. Its main use will be in analysis of job shop type of manufacturing. But certain facilities make it suitable for FMS as well as a production line manufacturing. This type of simulation is very useful in analysis of any types of changes that occur in a manufacturing system. These changes may be investments in new machines or equipment, a change in layout, a change in product mix, use of late shifts, etc. The effects these changes have on for instance the throughput, the amount of VIP, the costs or the net profit, can be analysed. And this can be done before the changes are made, and without disturbing the real system. Simulation takes into consideration, unlike other tools for analysis of manufacturing systems, uncertainty in arrival rates, process and operation times, and machine availability. It also shows the interaction effects a job which is late in one machine, has on the remaining machines in its route through the layout. It is these effects that cause every production plan not to be fulfilled completely. SIMMEK is based on discrete event simulation, and the modeling environment is object oriented. The object oriented models are transformed by an object linker into data structures executable by the simulation kernel. The processes of the entity objects, i.e. the products, are broken down to events and put into an event list. The user friendly graphical modeling environment makes it possible for end users to build models in a quick and reliable way, using terms from manufacturing. Various tests and a check of model logic are helpful functions when testing validity of the models. Integration with software packages, with business graphics and statistical functions, is convenient in the result presentation phase.

  18. Software engineering from a Langley perspective

    Science.gov (United States)

    Voigt, Susan

    1994-01-01

    A brief introduction to software engineering is presented. The talk is divided into four sections beginning with the question 'What is software engineering', followed by a brief history of the progression of software engineering at the Langley Research Center in the context of an expanding computing environment. Several basic concepts and terms are introduced, including software development life cycles and maturity levels. Finally, comments are offered on what software engineering means for the Langley Research Center and where to find more information on the subject.

  19. APPLICATION OF OBJECT ORIENTED PROGRAMMING TECHNIQUES IN FRONT END COMPUTERS

    International Nuclear Information System (INIS)

    SKELLY, J.F.

    1997-01-01

    The Front End Computer (FEC) environment imposes special demands on software, beyond real time performance and robustness. FEC software must manage a diverse inventory of devices with individualistic timing requirements and hardware interfaces. It must implement network services which export device access to the control system at large, interpreting a uniform network communications protocol into the specific control requirements of the individual devices. Object oriented languages provide programming techniques which neatly address these challenges, and also offer benefits in terms of maintainability and flexibility. Applications are discussed which exhibit the use of inheritance, multiple inheritance and inheritance trees, and polymorphism to address the needs of FEC software

  20. Static and Dynamic Coupling and Cohesion Measures in Object Oriented Programming

    OpenAIRE

    Vasudha Dixit, Dr. Rajeev Vishwkarma

    2013-01-01

    A large numbers of metrics have been proposed for measuring properties of object-oriented software such as size, inheritance, cohesion and coupling. The coupling metrics presented in this paper exploring the difference between inheritance and interface programming. This paper presents a measurement to measure coupling between object (CBO), number of associations between classes (NASSocC), number of dependencies in metric (NDepIN) and number of dependenciesout m...

  1. Software Engineering Reviews and Audits

    CERN Document Server

    Summers, Boyd L

    2011-01-01

    Accurate software engineering reviews and audits have become essential to the success of software companies and military and aerospace programs. These reviews and audits define the framework and specific requirements for verifying software development efforts. Authored by an industry professional with three decades of experience, Software Engineering Reviews and Audits offers authoritative guidance for conducting and performing software first article inspections, and functional and physical configuration software audits. It prepares readers to answer common questions for conducting and perform

  2. Experimental Object-Oriented Modelling

    DEFF Research Database (Denmark)

    Hansen, Klaus Marius

    through, e.g., technical prototyping and active user involvement. We introduce and examine “experimental object-oriented modelling” as the intersection of these practices. The contributions of this thesis are expected to be within three perspectives on models and modelling in experimental system...... development: Grounding We develop an empirically based conceptualization of modelling and use of models in system development projects characterized by a high degree of uncertainty in requirements and point to implications for tools and techniques for modelling in such a setting. Techniques We introduce......This thesis examines object-oriented modelling in experimental system development. Object-oriented modelling aims at representing concepts and phenomena of a problem domain in terms of classes and objects. Experimental system development seeks active experimentation in a system development project...

  3. International Conference on Software Engineering, Knowledge Engineering and Information Engineering (SEKEIE 2012)

    CERN Document Server

    Software Engineering and Knowledge Engineering: Theory and Practice

    2012-01-01

    2012 International Conference on Software Engineering, Knowledge Engineering and Information Engineering (SEKEIE 2012) will be held in Macau, April 1-2, 2012 . This conference will bring researchers and experts from the three areas of Software Engineering, Knowledge Engineering and Information Engineering together to share their latest research results and ideas.   This volume book covered significant recent developments in the Software Engineering, Knowledge Engineering and Information Engineering field, both theoretical and applied. We are glad this conference attracts your attentions, and thank your support to our conference. We will absorb remarkable suggestion, and make our conference more successful and perfect.

  4. Objective Oriented Design of System Thermal Hydraulic Analysis Program and Verification of Feasibility

    International Nuclear Information System (INIS)

    Chung, Bub Dong; Jeong, Jae Jun; Hwang, Moon Kyu

    2008-01-01

    The system safety analysis code, such as RELAP5, TRAC, CATHARE etc. have been developed based on Fortran language during the past few decades. Refactoring of conventional codes has been also performed to improve code readability and maintenance. TRACE, RELAP5-3D and MARS codes are examples of these activities. The codes were redesigned to have modular structures utilizing Fortran 90 features. However the programming paradigm in software technology has been changed to use objects oriented programming (OOP), which is based on several techniques, including encapsulation, modularity, polymorphism, and inheritance. It was not commonly used in mainstream software application development until the early 1990s. Many modern programming languages now support OOP. Although the recent Fortran language also support the OOP, it is considered to have limited functions compared to the modern software features. In this work, objective oriented program for system safety analysis code has been tried utilizing modern C language feature. The advantage of OOP has been discussed after verification of design feasibility

  5. Query Migration from Object Oriented World to Semantic World

    Directory of Open Access Journals (Sweden)

    Nassima Soussi

    2016-06-01

    Full Text Available In the last decades, object-oriented approach was able to take a large share of databases market aiming to design and implement structured and reusable software through the composition of independent elements in order to have programs with a high performance. On the other hand, the mass of information stored in the web is increasing day after day with a vertiginous speed, exposing the currently web faced with the problem of creating a bridge so as to facilitate access to data between different applications and systems as well as to look for relevant and exact information wished by users. In addition, all existing approach of rewriting object oriented languages to SPARQL language rely on models transformation process to guarantee this mapping. All the previous raisons has prompted us to write this paper in order to bridge an important gap between these two heterogeneous worlds (object oriented and semantic web world by proposing the first provably semantics preserving OQLto-SPARQL translation algorithm for each element of OQL Query (SELECT clause, FROM clause, FILTER constraint, implicit/ explicit join and union/intersection SELECT queries.

  6. Quality of Design, Analysis and Reporting of Software Engineering Experiments:A Systematic Review

    OpenAIRE

    By Kampenes, Vigdis

    2007-01-01

    Background: Like any research discipline, software engineering research must be of a certain quality to be valuable. High quality research in software engineering ensures that knowledge is accumulated and helpful advice is given to the industry. One way of assessing research quality is to conduct systematic reviews of the published research literature. Objective: The purpose of this work was to assess the quality of published experiments in software engineering with respect to the validit...

  7. Model-driven software engineering

    NARCIS (Netherlands)

    Amstel, van M.F.; Brand, van den M.G.J.; Protic, Z.; Verhoeff, T.; Hamberg, R.; Verriet, J.

    2014-01-01

    Software plays an important role in designing and operating warehouses. However, traditional software engineering methods for designing warehouse software are not able to cope with the complexity, size, and increase of automation in modern warehouses. This chapter describes Model-Driven Software

  8. Annotated bibliography of Software Engineering Laboratory literature

    Science.gov (United States)

    Morusiewicz, Linda; Valett, Jon D.

    1991-01-01

    An annotated bibliography of technical papers, documents, and memorandums produced by or related to the Software Engineering Laboratory is given. More than 100 publications are summarized. These publications cover many areas of software engineering and range from research reports to software documentation. All materials have been grouped into eight general subject areas for easy reference: The Software Engineering Laboratory; The Software Engineering Laboratory: Software Development Documents; Software Tools; Software Models; Software Measurement; Technology Evaluations; Ada Technology; and Data Collection. Subject and author indexes further classify these documents by specific topic and individual author.

  9. Post-Modern Software Development

    Science.gov (United States)

    Filman, Robert E.

    2005-01-01

    The history of software development includes elements of art, science, engineering, and fashion(though very little manufacturing). In all domains, old ideas give way or evolve to new ones: in the fine arts, the baroque gave way to rococo, romanticism, modernism, postmodernism, and so forth. What is the postmodern programming equivalent? That is, what comes after object orientation?

  10. Handbook of Software Engineering and Knowledge Engineering

    CERN Document Server

    2001-01-01

    This is the first handbook to cover comprehensively both software engineering and knowledge engineering - two important fields that have become interwoven in recent years. Over 60 international experts have contributed to the book. Each chapter has been written in such a way that a practitioner of software engineering and knowledge engineering can easily understand and obtain useful information. Each chapter covers one topic and can be read independently of other chapters, providing both a general survey of the topic and an in-depth exposition of the state of the art.

  11. Imprinting Community College Computer Science Education with Software Engineering Principles

    Science.gov (United States)

    Hundley, Jacqueline Holliday

    Although the two-year curriculum guide includes coverage of all eight software engineering core topics, the computer science courses taught in Alabama community colleges limit student exposure to the programming, or coding, phase of the software development lifecycle and offer little experience in requirements analysis, design, testing, and maintenance. We proposed that some software engineering principles can be incorporated into the introductory-level of the computer science curriculum. Our vision is to give community college students a broader exposure to the software development lifecycle. For those students who plan to transfer to a baccalaureate program subsequent to their community college education, our vision is to prepare them sufficiently to move seamlessly into mainstream computer science and software engineering degrees. For those students who plan to move from the community college to a programming career, our vision is to equip them with the foundational knowledge and skills required by the software industry. To accomplish our goals, we developed curriculum modules for teaching seven of the software engineering knowledge areas within current computer science introductory-level courses. Each module was designed to be self-supported with suggested learning objectives, teaching outline, software tool support, teaching activities, and other material to assist the instructor in using it.

  12. Development of an object-oriented software based on fuzzy-logic for controlling temperatures in PAC experiments

    Energy Technology Data Exchange (ETDEWEB)

    Lapolli, Andre L.; Yamagishi, Sueli; Domienikan, Claudio; Schoueri, Roberto M.; Carbonari, Artur W.; Saxena, Rajendra N., E-mail: alapolli@ipen.b [Instituto de Pesquisas Energeticas e Nucleares (IPEN/CNEN-SP), Sao Paulo, SP (Brazil)

    2009-07-01

    The Hyperfine Interaction Laboratory at Instituto de Pesquisas Energeticas e Nucleares (IPEN) has been using Perturbed Angular Correlation (PAC) technique for studying material science for more than 20 years. One of the important aspects of the research involves the study of the behavior of measured properties of samples as a function of temperature. For temperatures higher than room temperature a small resistance furnace is used to heat the sample. The need to carry out the PAC measurement at predefined temperatures steps in a programmed manner is obvious. The present work describes a procedure for the furnace temperature control and automatic data acquisition at different temperatures based on fuzzy logic. The procedure consists in determining the linguistic input (temp, DELTAtemp) and output (pow) variables and their pertinence functions. After defining the variables, an object.oriented program is written in Java language which is an interface between principal data acquisition program and electronic temperature controller of the mini furnace. In addition to the implementation of the class that involves the fuzzy logic and classes with strategic algorithms defined for each temperature range there are classes of communication between systems based on modbus protocol RTU (Remote Terminal Unit) connected to serial interface RS-488. In this manner the applied technology for the development of software permits higher software life requiring only small alterations or implementation of classes in the use with new equipment. (author)

  13. Extension of an Object-Oriented Optimization Tool: User's Reference Manual

    Science.gov (United States)

    Pak, Chan-Gi; Truong, Samson S.

    2015-01-01

    The National Aeronautics and Space Administration Armstrong Flight Research Center has developed a cost-effective and flexible object-oriented optimization (O (sup 3)) tool that leverages existing tools and practices and allows easy integration and adoption of new state-of-the-art software. This object-oriented framework can integrate the analysis codes for multiple disciplines, as opposed to relying on one code to perform analysis for all disciplines. Optimization can thus take place within each discipline module, or in a loop between the O (sup 3) tool and the discipline modules, or both. Six different sample mathematical problems are presented to demonstrate the performance of the O (sup 3) tool. Instructions for preparing input data for the O (sup 3) tool are detailed in this user's manual.

  14. System safety and reliability using object-oriented programming techniques

    International Nuclear Information System (INIS)

    Patterson-Hine, F.A.; Koen, B.V.

    1987-01-01

    Direct evaluation fault tree codes have been written in recursive, list-processing computer languages such as PL/1 (PATREC-I) and LISP (PATREC-L). The pattern-matching strategy implemented in these codes has been used extensively in France to evaluate system reliability. Recent reviews of the risk management process suggest that a data base containing plant-specific information be integrated with a package of codes used for probabilistic risk assessment (PRA) to alleviate some of the difficulties that make a PRA so costly and time-intensive. A new programming paradigm, object-oriented programming, is uniquely suited for the development of such a software system. A knowledge base and fault tree evaluation algorithm, based on previous experience with PATREC-L, have been implemented using object-oriented techniques, resulting in a reliability assessment environment that is easy to develop, modify, and extend

  15. Object technology: A white paper

    Energy Technology Data Exchange (ETDEWEB)

    Jordan, S.R.; Arrowood, L.F.; Cain, W.D.; Stephens, W.M.; Vickers, B.D.

    1992-05-11

    Object-Oriented Technology (OOT), although not a new paradigm, has recently been prominently featured in the trade press and even general business publications. Indeed, the promises of object technology are alluring: the ability to handle complex design and engineering information through the full manufacturing production life cycle or to manipulate multimedia information, and the ability to improve programmer productivity in creating and maintaining high quality software. Groups at a number of the DOE facilities have been exploring the use of object technology for engineering, business, and other applications. In this white paper, the technology is explored thoroughly and compared with previous means of developing software and storing databases of information. Several specific projects within the DOE Complex are described, and the state of the commercial marketplace is indicated.

  16. Osiris: an object oriented software tool for modelling the logistics, economics and environmental impact of the nuclear fuel cycle

    International Nuclear Information System (INIS)

    Millington, D.N.

    2003-01-01

    Osiris is a general purpose software tool which has been developed for performing studies of material usage, economics and environmental impacts associated with the nuclear fuel cycle. It is particularly suited to the analysis of complex multiple recycling scenarios featuring combinations of both existing and new reactor systems. A discrete event model is used to represent the movement of material batches around the fuel cycle due to the operations and timings of process plants. Nuclear materials are represented by state vectors, which undergo compositional changes due to radioactive decay and irradiation. A library of generic plant types is provided, which are declared and configured in order to represent specific plants. Reactors, front-end and back-end process plants, buffers, stores and material sources can be modelled. Fuel cycle scenarios are then constructed by defining the material flow paths between the plants. The plant parameters and flow paths can be altered dynamically over the course of a scenario in order to represent changes in recycling strategies and retirement and replacement of process plants. Discounted electricity costs can be determined by assigning unit costs to all capital investments, processes and raw materials. Radiotoxicity levels of waste streams can also be evaluated. The software was developed in C++ using objected oriented analysis and design methods. The use of abstraction and inheritance have enabled an open-ended fuel cycle modelling environment to be established, into which new reactor or plant models can readily be integrated. An overview of the object model, numerical modelling assumptions and the design and implementation of the software is presented. (author)

  17. Software engineering in industry

    Science.gov (United States)

    Story, C. M.

    1989-12-01

    Can software be "engineered"? Can a few people with limited resources and a negligible budget produce high quality software solutions to complex software problems? It is possible to resolve the conflict between research activities and the necessity to view software development as a means to an end rather than as an end in itself? The aim of this paper is to encourage further thought and discussion on various topics which, in the author's experience, are becoming increasingly critical in large current software production and development projects, inside and outside high energy physics (HEP). This is done by briefly exploring some of the software engineering ideas and technologies now used in the information industry, using, as a case-study, a project with many similarities to those currently under way in HEP.

  18. Exploring the Educational Benefits of Introducing Aspect-Oriented Programming Into a Programming Course

    Science.gov (United States)

    Boticki, I.; Katic, M.; Martin,S.

    2013-01-01

    This paper explores the educational benefits of introducing the aspect-oriented programming paradigm into a programming course in a study on a sample of 75 undergraduate software engineering students. It discusses how using the aspect-oriented paradigm, in addition to the object-oriented programming paradigm, affects students' programs, their exam…

  19. Software engineering turning theory into practice

    CERN Document Server

    Jones, Robert

    1996-01-01

    The term 'Software Engineering' was coined in the mid 1960s, it is said, as a challenge to the software community to start rationalising the software production process. Software engineering is a very young discipline and this challenge still eludes LHC demands software production on a scale far beyond that previously addressed in HEP and we are relying on software engineering to allow a significant number of people address this problem collectively. This series of lectures presents the basics of software engineering from the developer's point of view. The aim is to show how individual developers can improve the quality of the software they produce while avoiding the conflict between the creative process of designing software and the organisational needs of large projects.The Laser Interferometer Gravitanional Wave Observatory (LIGO) is being constructed with a goal to detect these waves and then to use them as a new tool to explore and study The sources of gravitanional waves and techniques for detection wil...

  20. An UML Statechart Diagram-Based MM-Path Generation Approach for Object-Oriented Integration Testing

    OpenAIRE

    Ruilian Zhao; Ling Lin

    2008-01-01

    MM-Path, an acronym for Method/Message Path, describes the dynamic interactions between methods in object-oriented systems. This paper discusses the classifications of MM-Path, based on the characteristics of object-oriented software. We categorize it according to the generation reasons, the effect scope and the composition of MM-Path. A formalized representation of MM-Path is also proposed, which has considered the influence of state on response method sequences of messages. .Moreover, an au...

  1. Open Issues in Object-Oriented Programming

    DEFF Research Database (Denmark)

    Madsen, Ole Lehrmann

    1995-01-01

    We discuss a number of open issues within object-oriented programming. The central mechanisms of object-oriented programming appeared with Simula, developed more than 30 years ago; these include class, subclass, virtual function, active object and the first application framework, Class Simulation....... The core parts of object-oriented programming should be well understood, but there are still a large number of issues where there is no consensus. The term object-orientation has been applied to many subjects, such as analysis, design implementation, data modeling in databases, and distribution...

  2. Object-oriented communications

    International Nuclear Information System (INIS)

    Chapman, L.J.

    1989-01-01

    OOC is a high-level communications protocol based on the object-oriented paradigm. OOC's syntax, semantics, and pragmatics balance simplicity and expressivity for controls environments. While natural languages are too complex, computer protocols are often insufficiently expressive. An object-oriented communications philosophy provides a base for building the necessary high-level communications primitives like I don't understand and the current value of X is K. OOC is sufficiently flexible to express data acquisition, control requests, alarm messages, and error messages in a straightforward generic way. It can be used in networks, for inter-task communication, and even for intra-task communication

  3. Annotated bibliography of software engineering laboratory literature

    Science.gov (United States)

    Kistler, David; Bristow, John; Smith, Don

    1994-01-01

    This document is an annotated bibliography of technical papers, documents, and memorandums produced by or related to the Software Engineering Laboratory. Nearly 200 publications are summarized. These publications cover many areas of software engineering and range from research reports to software documentation. This document has been updated and reorganized substantially since the original version (SEL-82-006, November 1982). All materials have been grouped into eight general subject areas for easy reference: (1) The Software Engineering Laboratory; (2) The Software Engineering Laboratory: Software Development Documents; (3) Software Tools; (4) Software Models; (5) Software Measurement; (6) Technology Evaluations; (7) Ada Technology; and (8) Data Collection. This document contains an index of these publications classified by individual author.

  4. SEI Software Engineering Education Directory.

    Science.gov (United States)

    1987-02-01

    Planning, and Control, Kotler , P. Marketing Decision Making, Concepts and Strategy, Cravens Managerial Fnance: Essentials, Kroncke, C., Nammers, E., and...Textbooks: Applying Software Engineering Principles , Maria Systems: Cyber Turbo Dos Variety of Micros Courses: Introduction to Software Engineering...Assistant Professor of Computer Systems (513) 255-6913 Courses: Software Engineeing Managemrent EENG543 G N R A Textbooks: Principles of Productive

  5. Repository-Based Software Engineering Program: Working Program Management Plan

    Science.gov (United States)

    1993-01-01

    Repository-Based Software Engineering Program (RBSE) is a National Aeronautics and Space Administration (NASA) sponsored program dedicated to introducing and supporting common, effective approaches to software engineering practices. The process of conceiving, designing, building, and maintaining software systems by using existing software assets that are stored in a specialized operational reuse library or repository, accessible to system designers, is the foundation of the program. In addition to operating a software repository, RBSE promotes (1) software engineering technology transfer, (2) academic and instructional support of reuse programs, (3) the use of common software engineering standards and practices, (4) software reuse technology research, and (5) interoperability between reuse libraries. This Program Management Plan (PMP) is intended to communicate program goals and objectives, describe major work areas, and define a management report and control process. This process will assist the Program Manager, University of Houston at Clear Lake (UHCL) in tracking work progress and describing major program activities to NASA management. The goal of this PMP is to make managing the RBSE program a relatively easy process that improves the work of all team members. The PMP describes work areas addressed and work efforts being accomplished by the program; however, it is not intended as a complete description of the program. Its focus is on providing management tools and management processes for monitoring, evaluating, and administering the program; and it includes schedules for charting milestones and deliveries of program products. The PMP was developed by soliciting and obtaining guidance from appropriate program participants, analyzing program management guidance, and reviewing related program management documents.

  6. Software engineering knowledge at your fingertips: Experiences with a software engineering-portal

    OpenAIRE

    Punter, T.; Kalmar, R.

    2003-01-01

    In order to keep up the pace with technology development, knowledge on Software Engineering (SE) methods, techniques, and tools is required. For an effective and efficient knowledge transfer, especially Small and Medium-sized Enterprises (SMEs) might benefit from Software Engineering Portals (SE-Portals). This paper provides an analysis of SE-Portals by distinguishing two types: 1) the Knowledge Portal and 2) the Knowledge & Community Portal. On behalf of the analysis we conclude that most SE...

  7. Programming in an object-oriented environment

    CERN Document Server

    Ege, Raimund K

    1992-01-01

    Programming in an Object-Oriented Environment provides an in-depth look at the concepts behind the technology of object-oriented programming.This book explains why object-oriented programming has the potential to vastly improve the productivity of programmers and how to apply this technology in a practical environment. Many programming examples are included, focusing on how different programming languages support the core of object-oriented concepts. C++ is used as the main sample language throughout this text.This monograph consists of two major parts. Part I provides an introduction to objec

  8. Collected software engineering papers, volume 2

    Science.gov (United States)

    1983-01-01

    Topics addressed include: summaries of the software engineering laboratory (SEL) organization, operation, and research activities; results of specific research projects in the areas of resource models and software measures; and strategies for data collection for software engineering research.

  9. Postmodern Software Design with NYAM: Not Yet Another Method

    NARCIS (Netherlands)

    Wieringa, Roelf J.; Broy, M.; Rumpe, B.

    1998-01-01

    This paper presents a conceptual toolbox for software specification and design that contains techniques from structured and object-oriented specification and design methods. The toolbox is called TRADE (Toolkit for Requirements and Design Engineering). The TRADE tools are used in teaching

  10. Development of an object-oriented software based on fuzzy-logic for controlling temperatures in PAC experiments

    International Nuclear Information System (INIS)

    Lapolli, Andre L.; Yamagishi, Sueli; Domienikan, Claudio; Schoueri, Roberto M.; Carbonari, Artur W.; Saxena, Rajendra N.

    2009-01-01

    The Hyperfine Interaction Laboratory at Instituto de Pesquisas Energeticas e Nucleares (IPEN) has been using Perturbed Angular Correlation (PAC) technique for studying material science for more than 20 years. One of the important aspects of the research involves the study of the behavior of measured properties of samples as a function of temperature. For temperatures higher than room temperature a small resistance furnace is used to heat the sample. The need to carry out the PAC measurement at predefined temperatures steps in a programmed manner is obvious. The present work describes a procedure for the furnace temperature control and automatic data acquisition at different temperatures based on fuzzy logic. The procedure consists in determining the linguistic input (temp, Δtemp) and output (pow) variables and their pertinence functions. After defining the variables, an object.oriented program is written in Java language which is an interface between principal data acquisition program and electronic temperature controller of the mini furnace. In addition to the implementation of the class that involves the fuzzy logic and classes with strategic algorithms defined for each temperature range there are classes of communication between systems based on modbus protocol RTU (Remote Terminal Unit) connected to serial interface RS-488. In this manner the applied technology for the development of software permits higher software life requiring only small alterations or implementation of classes in the use with new equipment. (author)

  11. A Cloverleaf of Software Engineering

    DEFF Research Database (Denmark)

    Bjørner, Dines

    2005-01-01

    , however "lite". Third, despite 35 years of formal methods, the SE industry, maturity-wise still lags far behind that of other engineering disciplines. So we examine why. Finally, in several areas, in health care, in architecture, and others, we see that major undertakings are primarily spearheaded...... by senior academic staff. Professors of medicine daily perform specialized surgery and treatments at hospitals. Professors of architecture design new, daring buildings for industry, and professors of civil engineering head the engineering structural design of new, daring bridges. So we speculate what......We shall touch upon four issues of software engineering (SE): domain engineering, formal techniques, SE sociology, and academic software architects. First, before software can be designed one must understand its requirements; but before requirements can be formulated one must understand the domain...

  12. Tailoring Software Inspections for Aspect-Oriented Programming

    Science.gov (United States)

    Watkins, Charlette Ward

    2009-01-01

    Aspect-Oriented Software Development (AOSD) is a new approach that addresses limitations inherent in conventional programming, especially the principle of separation of concerns by emphasizing the encapsulation and modularization of crosscutting concerns through a new abstraction, the "aspect." Aspect-oriented programming is an emerging AOSD…

  13. Software Engineering for Portability.

    Science.gov (United States)

    Stanchev, Ivan

    1990-01-01

    Discussion of the portability of educational software focuses on the software design and development process. Topics discussed include levels of portability; the user-computer dialog; software engineering principles; design techniques for student performance records; techniques of courseware programing; and suggestions for further research and…

  14. Object-Oriented Econometrics with Ox

    OpenAIRE

    Kulaksizoglu, Tamer

    2015-01-01

    This article reviews the object-oriented features of the Ox matrix programming language. We discuss object-oriented programming in general and give econometric examples coded in Ox. We also discuss some useful built-in classes that come with the Ox distribution.

  15. Resilience Engineering in Critical Long Term Aerospace Software Systems: A New Approach to Spacecraft Software Safety

    Science.gov (United States)

    Dulo, D. A.

    Safety critical software systems permeate spacecraft, and in a long term venture like a starship would be pervasive in every system of the spacecraft. Yet software failure today continues to plague both the systems and the organizations that develop them resulting in the loss of life, time, money, and valuable system platforms. A starship cannot afford this type of software failure in long journeys away from home. A single software failure could have catastrophic results for the spaceship and the crew onboard. This paper will offer a new approach to developing safe reliable software systems through focusing not on the traditional safety/reliability engineering paradigms but rather by focusing on a new paradigm: Resilience and Failure Obviation Engineering. The foremost objective of this approach is the obviation of failure, coupled with the ability of a software system to prevent or adapt to complex changing conditions in real time as a safety valve should failure occur to ensure safe system continuity. Through this approach, safety is ensured through foresight to anticipate failure and to adapt to risk in real time before failure occurs. In a starship, this type of software engineering is vital. Through software developed in a resilient manner, a starship would have reduced or eliminated software failure, and would have the ability to rapidly adapt should a software system become unstable or unsafe. As a result, long term software safety, reliability, and resilience would be present for a successful long term starship mission.

  16. Quantifying Update Effects in Citizen-Oriented Software

    Directory of Open Access Journals (Sweden)

    Ion Ivan

    2009-02-01

    Full Text Available Defining citizen-oriented software. Detailing technical issues regarding update process in this kind of software. Presenting different effects triggered by types of update. Building model for update costs estimation, including producer-side and consumer-side effects. Analyzing model applicability on INVMAT – large scale matrix inversion software. Proposing a model for update effects estimation. Specifying ways for softening effects of inaccurate updates.

  17. A learning apprentice for software parts composition

    Science.gov (United States)

    Allen, Bradley P.; Holtzman, Peter L.

    1987-01-01

    An overview of the knowledge acquisition component of the Bauhaus, a prototype computer aided software engineering (CASE) workstation for the development of domain-specific automatic programming systems (D-SAPS) is given. D-SAPS use domain knowledge in the refinement of a description of an application program into a compilable implementation. The approach to the construction of D-SAPS was to automate the process of refining a description of a program, expressed in an object-oriented domain language, into a configuration of software parts that implement the behavior of the domain objects.

  18. Addressing Software Engineering Issues in Real-Time Software ...

    African Journals Online (AJOL)

    Addressing Software Engineering Issues in Real-Time Software ... systems, manufacturing process, process control, military, space exploration, and ... but also physical properties such as timeliness, Quality of Service and reliability.

  19. Beginning C# Object-Oriented Programming

    CERN Document Server

    Clark, Dan

    2011-01-01

    Beginning C# Object-Oriented Programming brings you into the modern world of development as you master the fundamentals of programming with C# and learn to develop efficient, reusable, elegant code through the object-oriented programming (OOP) methodology. Take your skills out of the 20th century and into this one with Dan Clark's accessible, quick-paced guide to C# and object-oriented programming, completely updated for .NET 4.0 and C# 4.0. As you develop techniques and best practices for coding in C#, one of the world's most popular contemporary languages, you'll experience modeling a "real

  20. Model-based Software Engineering

    DEFF Research Database (Denmark)

    Kindler, Ekkart

    2010-01-01

    The vision of model-based software engineering is to make models the main focus of software development and to automatically generate software from these models. Part of that idea works already today. But, there are still difficulties when it comes to behaviour. Actually, there is no lack in models...

  1. An Engineering Context for Software Engineering

    Science.gov (United States)

    2008-09-01

    predictable properties. The first two are due to Boehm as described in Pressman [Pre05] and called validation versus verification. 1. solving the right...Quality Software, 2nd ed., New York: Macmillan, 1991. [Pre05] Pressman , Roger, Software Engineering: A Practitioner’s Approach, Sixth Edition, McGraw

  2. Taking an object-oriented view of accelerators

    International Nuclear Information System (INIS)

    Nishimura, H.

    1995-01-01

    It was almost a decade ago that accelerator experts were introduced to the concept of object-oriented programming. This new methodology was expected to play a key role in solving various software problems. Today, there seems be nothing that prevents us from taking advantage of this new technology. In fact, we are often forced to catch up with the computer industry's new standards. This is especially true for graphics programming. While evaluating the benefits of using this new technology, we must also evaluate whether it is as effective as it was claimed. In this paper, we discuss these issues based on experiences at the Advanced Light Source

  3. Software And Systems Engineering Risk Management

    Science.gov (United States)

    2010-04-01

    RSKM 2004 COSO Enterprise RSKM Framework 2006 ISO/IEC 16085 Risk Management Process 2008 ISO/IEC 12207 Software Lifecycle Processes 2009 ISO/IEC...1 Software And Systems Engineering Risk Management John Walz VP Technical and Conferences Activities, IEEE Computer Society Vice-Chair Planning...Software & Systems Engineering Standards Committee, IEEE Computer Society US TAG to ISO TMB Risk Management Working Group Systems and Software

  4. Improving Collaborative Learning in Online Software Engineering Education

    Science.gov (United States)

    Neill, Colin J.; DeFranco, Joanna F.; Sangwan, Raghvinder S.

    2017-01-01

    Team projects are commonplace in software engineering education. They address a key educational objective, provide students critical experience relevant to their future careers, allow instructors to set problems of greater scale and complexity than could be tackled individually, and are a vehicle for socially constructed learning. While all…

  5. Assessing students' performance in software requirements engineering education using scoring rubrics

    Science.gov (United States)

    Mkpojiogu, Emmanuel O. C.; Hussain, Azham

    2017-10-01

    The study investigates how helpful the use of scoring rubrics is, in the performance assessment of software requirements engineering students and whether its use can lead to students' performance improvement in the development of software requirements artifacts and models. Scoring rubrics were used by two instructors to assess the cognitive performance of a student in the design and development of software requirements artifacts. The study results indicate that the use of scoring rubrics is very helpful in objectively assessing the performance of software requirements or software engineering students. Furthermore, the results revealed that the use of scoring rubrics can also produce a good achievement assessments direction showing whether a student is either improving or not in a repeated or iterative assessment. In a nutshell, its use leads to the performance improvement of students. The results provided some insights for further investigation and will be beneficial to researchers, requirements engineers, system designers, developers and project managers.

  6. Applicability of object-oriented design methods and C++ to safety-critical systems

    International Nuclear Information System (INIS)

    Cuthill, B.B.

    1994-01-01

    This paper reports on a study identifying risks and benefits of using a software development methodology containing object-oriented design (OOD) techniques and using C++ as a programming language relative to selected features of safety-critical systems development. These features are modularity, functional diversity, removing ambiguous code, traceability, and real-time performance

  7. Software engineering ethics

    Science.gov (United States)

    Bown, Rodney L.

    1991-01-01

    Software engineering ethics is reviewed. The following subject areas are covered: lack of a system viewpoint; arrogance of PC DOS software vendors; violation od upward compatibility; internet worm; internet worm revisited; student cheating and company hiring interviews; computing practitioners and the commodity market; new projects and old programming languages; schedule and budget; and recent public domain comments.

  8. Software engineering : redundancy is key

    NARCIS (Netherlands)

    Brand, van den M.G.J.; Groote, J.F.

    2015-01-01

    Software engineers are humans and so they make lots of mistakes. Typically 1 out of 10 to 100 tasks go wrong. The only way to avoid these mistakes is to introduce redundancy in the software engineering process. This article is a plea to consciously introduce several levels of redundancy for each

  9. The present status of software engineering

    CERN Document Server

    Pressman, Roger S

    1991-01-01

    In this seminar, we will discuss the present status and future directions of software engeneering and CASE. Key topics to be discussed include: new paradigms for software engineering; software metrics; process assessment; the current state of analysis and design methods; reusability and re-engineering; formal methods. Among the questions to be answered are: How will software engineering change as the 1990s progress? What are the "technology drivers"? What will analysis, design, coding, testing, quality assurance and software management look like in the year 2000? How will CASE tools evolve in the 1990s and will they be as "integrated" as many people believe? How can you position your Organization to accommodate the coming changes?

  10. An X window based graphics user interface for radiation information processing system developed with object-oriented programming technology

    International Nuclear Information System (INIS)

    Gao Wenhuan; Fu Changqing; Kang Kejun

    1993-01-01

    X Window is a network-oriented and network transparent windowing system, and now dominant in the Unix domain. The object-oriented programming technology can be used to change the extensibility of a software system remarkably. An introduction to graphics user interface is given. And how to develop a graphics user interface for radiation information processing system with object-oriented programming technology, which is based on X Window and independent of application is described briefly

  11. Collected Software Engineering Papers, Volume 10

    Science.gov (United States)

    1992-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from Oct. 1991 - Nov. 1992. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography at the end of this document. For the convenience of this presentation, the 11 papers contained here are grouped into 5 major sections: (1) the Software Engineering Laboratory; (2) software tools studies; (3) software models studies; (4) software measurement studies; and (5) Ada technology studies.

  12. Software Engineering Frameworks: Textbooks vs. Student Perceptions

    Science.gov (United States)

    McMaster, Kirby; Hadfield, Steven; Wolthuis, Stuart; Sambasivam, Samuel

    2012-01-01

    This research examines the frameworks used by Computer Science and Information Systems students at the conclusion of their first semester of study of Software Engineering. A questionnaire listing 64 Software Engineering concepts was given to students upon completion of their first Software Engineering course. This survey was given to samples of…

  13. Software maintenance and evolution and automated software engineering

    NARCIS (Netherlands)

    Carver, Jeffrey C.; Serebrenik, Alexander

    2018-01-01

    This issue's column reports on the 33rd International Conference on Software Maintenance and Evolution and 32nd International Conference on Automated Software Engineering. Topics include flaky tests, technical debt, QA bots, and regular expressions.

  14. StrateGene: object-oriented programming in molecular biology.

    Science.gov (United States)

    Carhart, R E; Cash, H D; Moore, J F

    1988-03-01

    This paper describes some of the ways that object-oriented programming methodologies have been used to represent and manipulate biological information in a working application. When running on a Xerox 1100 series computer, StrateGene functions as a genetic engineering workstation for the management of information about cloning experiments. It represents biological molecules, enzymes, fragments, and methods as classes, subclasses, and members in a hierarchy of objects. These objects may have various attributes, which themselves can be defined and classified. The attributes and their values can be passed from the classes of objects down to the subclasses and members. The user can modify the objects and their attributes while using them. New knowledge and changes to the system can be incorporated relatively easily. The operations on the biological objects are associated with the objects themselves. This makes it easier to invoke them correctly and allows generic operations to be customized for the particular object.

  15. Software Development for EECU Platform of Turbofan Engine

    Science.gov (United States)

    Kim, Bo Gyoung; Kwak, Dohyup; Kim, Byunghyun; Choi, Hee ju; Kong, Changduk

    2017-04-01

    The turbofan engine operation consists of a number of hardware and software. The engine is controlled by Electronic Engine Control Unit (EECU). In order to control the engine, EECU communicates with an aircraft system, Actuator Drive Unit (ADU), Engine Power Unit (EPU) and sensors on the engine. This paper tried to investigate the process form starting to taking-off and aims to design the EECU software mode and defined communication data format. The software is implemented according to the designed software mode.

  16. Software engineering beyond the project

    DEFF Research Database (Denmark)

    Dittrich, Yvonne

    2014-01-01

    Context The main part of software engineering methods, tools and technologies has developed around projects as the central organisational form of software development. A project organisation depends on clear bounds regarding scope, participants, development effort and lead-time. What happens when...... of traditional software engineering, but makes perfect sense, considering that the frame of reference for product development is not a project but continuous innovation across the respective ecosystem. The article provides a number of concrete points for further research....

  17. Application of Formal Methods in Software Engineering

    Directory of Open Access Journals (Sweden)

    Adriana Morales

    2011-12-01

    Full Text Available The purpose of this research work is to examine: (1 why are necessary the formal methods for software systems today, (2 high integrity systems through the methodology C-by-C –Correctness-by-Construction–, and (3 an affordable methodology to apply formal methods in software engineering. The research process included reviews of the literature through Internet, in publications and presentations in events. Among the Research results found that: (1 there is increasing the dependence that the nations have, the companies and people of software systems, (2 there is growing demand for software Engineering to increase social trust in the software systems, (3 exist methodologies, as C-by-C, that can provide that level of trust, (4 Formal Methods constitute a principle of computer science that can be applied software engineering to perform reliable process in software development, (5 software users have the responsibility to demand reliable software products, and (6 software engineers have the responsibility to develop reliable software products. Furthermore, it is concluded that: (1 it takes more research to identify and analyze other methodologies and tools that provide process to apply the Formal Software Engineering methods, (2 Formal Methods provide an unprecedented ability to increase the trust in the exactitude of the software products and (3 by development of new methodologies and tools is being achieved costs are not more a disadvantage for application of formal methods.

  18. Happy software developers solve problems better: psychological measurements in empirical software engineering.

    Science.gov (United States)

    Graziotin, Daniel; Wang, Xiaofeng; Abrahamsson, Pekka

    2014-01-01

    For more than thirty years, it has been claimed that a way to improve software developers' productivity and software quality is to focus on people and to provide incentives to make developers satisfied and happy. This claim has rarely been verified in software engineering research, which faces an additional challenge in comparison to more traditional engineering fields: software development is an intellectual activity and is dominated by often-neglected human factors (called human aspects in software engineering research). Among the many skills required for software development, developers must possess high analytical problem-solving skills and creativity for the software construction process. According to psychology research, affective states-emotions and moods-deeply influence the cognitive processing abilities and performance of workers, including creativity and analytical problem solving. Nonetheless, little research has investigated the correlation between the affective states, creativity, and analytical problem-solving performance of programmers. This article echoes the call to employ psychological measurements in software engineering research. We report a study with 42 participants to investigate the relationship between the affective states, creativity, and analytical problem-solving skills of software developers. The results offer support for the claim that happy developers are indeed better problem solvers in terms of their analytical abilities. The following contributions are made by this study: (1) providing a better understanding of the impact of affective states on the creativity and analytical problem-solving capacities of developers, (2) introducing and validating psychological measurements, theories, and concepts of affective states, creativity, and analytical-problem-solving skills in empirical software engineering, and (3) raising the need for studying the human factors of software engineering by employing a multidisciplinary viewpoint.

  19. Green in software engineering

    CERN Document Server

    Calero Munoz, Coral

    2015-01-01

    This is the first book that presents a comprehensive overview of sustainability aspects in software engineering. Its format follows the structure of the SWEBOK and covers the key areas involved in the incorporation of green aspects in software engineering, encompassing topics from requirement elicitation to quality assurance and maintenance, while also considering professional practices and economic aspects. The book consists of thirteen chapters, which are structured in five parts. First the "Introduction" gives an overview of the primary general concepts related to Green IT, discussing wha

  20. V&V Within Reuse-Based Software Engineering

    Science.gov (United States)

    Addy, Edward A.

    1996-01-01

    Verification and Validation (V&V) is used to increase the level of assurance of critical software, particularly that of safety-critical and mission-critical software. V&V is a systems engineering discipline that evaluates the software in a systems context, and is currently applied during the development of a specific application system. In order to bring the effectiveness of V&V to bear within reuse-based software engineering, V&V must be incorporated within the domain engineering process.

  1. Software engineering frameworks for the cloud computing paradigm

    CERN Document Server

    Mahmood, Zaigham

    2013-01-01

    This book presents the latest research on Software Engineering Frameworks for the Cloud Computing Paradigm, drawn from an international selection of researchers and practitioners. The book offers both a discussion of relevant software engineering approaches and practical guidance on enterprise-wide software deployment in the cloud environment, together with real-world case studies. Features: presents the state of the art in software engineering approaches for developing cloud-suitable applications; discusses the impact of the cloud computing paradigm on software engineering; offers guidance an

  2. Object-Oriented Parallel Particle-in-Cell Code for Beam Dynamics Simulation in Linear Accelerators

    International Nuclear Information System (INIS)

    Qiang, J.; Ryne, R.D.; Habib, S.; Decky, V.

    1999-01-01

    In this paper, we present an object-oriented three-dimensional parallel particle-in-cell code for beam dynamics simulation in linear accelerators. A two-dimensional parallel domain decomposition approach is employed within a message passing programming paradigm along with a dynamic load balancing. Implementing object-oriented software design provides the code with better maintainability, reusability, and extensibility compared with conventional structure based code. This also helps to encapsulate the details of communications syntax. Performance tests on SGI/Cray T3E-900 and SGI Origin 2000 machines show good scalability of the object-oriented code. Some important features of this code also include employing symplectic integration with linear maps of external focusing elements and using z as the independent variable, typical in accelerators. A successful application was done to simulate beam transport through three superconducting sections in the APT linac design

  3. PROFESSIONALLY ORIENTED COURSE OF ENGINEERING-GRAPHICAL TRAINING

    Directory of Open Access Journals (Sweden)

    Olga V. Zhuykova

    2015-01-01

    Full Text Available The aim of the article is to present the results of managing the competence oriented self-directed student learning while studying graphical subjects at Kalashnikov Izhevsk State Technical University.Methods. The technology of self-directed engineering-graphical training of future bachelors based on the analysis of educational literature and teaching experience, providing individualization and professional education is suggested. The method of team expert appraisal was used at all stages of self-directed learning management. This method is one of main in qualimetry (the science concerned with assessing and evaluating the quality of any objects and processes; it permits to reveal the components of engineering-graphical competence, to establish the criteria and markers of determining the level of its development, to perform expert evaluation of student tasks and estimation procedures.Results. It has been established that the revitalization of student selfdirected learning owing to professional education and individualization permits to increase the level of student engineering-graphical competence development. Scientific novelty. The criteria evaluation procedures for determining the level of student engineering-graphical competence development in the process of their professional oriented self-directed learning while studying graphical subjects at a technical university are developed.Practical significance. The professional-focused educational trajectories of independent engineering-graphic preparation of students are designed and substantially filled in content. Such training is being realised at the present time at Kalashnikov Izhevsk State Technical University, major «Instrument Engineering». 

  4. CICERO: research in the design of software for control systems using the object oriented techniques

    Energy Technology Data Exchange (ETDEWEB)

    Barillere, R [and others

    1996-12-31

    CICERO is a collaborative project between industrial companies and research institutes to study the use of object-oriented techniques for needs of complex control systems. The CICERO project is realized in the COBRA standard. 19 refs.

  5. A class Hierarchical, object-oriented approach to virtual memory management

    Science.gov (United States)

    Russo, Vincent F.; Campbell, Roy H.; Johnston, Gary M.

    1989-01-01

    The Choices family of operating systems exploits class hierarchies and object-oriented programming to facilitate the construction of customized operating systems for shared memory and networked multiprocessors. The software is being used in the Tapestry laboratory to study the performance of algorithms, mechanisms, and policies for parallel systems. Described here are the architectural design and class hierarchy of the Choices virtual memory management system. The software and hardware mechanisms and policies of a virtual memory system implement a memory hierarchy that exploits the trade-off between response times and storage capacities. In Choices, the notion of a memory hierarchy is captured by abstract classes. Concrete subclasses of those abstractions implement a virtual address space, segmentation, paging, physical memory management, secondary storage, and remote (that is, networked) storage. Captured in the notion of a memory hierarchy are classes that represent memory objects. These classes provide a storage mechanism that contains encapsulated data and have methods to read or write the memory object. Each of these classes provides specializations to represent the memory hierarchy.

  6. Object-oriented software for evaluating measurement uncertainty

    Science.gov (United States)

    Hall, B. D.

    2013-05-01

    An earlier publication (Hall 2006 Metrologia 43 L56-61) introduced the notion of an uncertain number that can be used in data processing to represent quantity estimates with associated uncertainty. The approach can be automated, allowing data processing algorithms to be decomposed into convenient steps, so that complicated measurement procedures can be handled. This paper illustrates the uncertain-number approach using several simple measurement scenarios and two different software tools. One is an extension library for Microsoft Excel®. The other is a special-purpose calculator using the Python programming language.

  7. Object-oriented software for evaluating measurement uncertainty

    International Nuclear Information System (INIS)

    Hall, B D

    2013-01-01

    An earlier publication (Hall 2006 Metrologia 43 L56–61) introduced the notion of an uncertain number that can be used in data processing to represent quantity estimates with associated uncertainty. The approach can be automated, allowing data processing algorithms to be decomposed into convenient steps, so that complicated measurement procedures can be handled. This paper illustrates the uncertain-number approach using several simple measurement scenarios and two different software tools. One is an extension library for Microsoft Excel®. The other is a special-purpose calculator using the Python programming language. (paper)

  8. Improving Software Developer's Competence

    DEFF Research Database (Denmark)

    Abrahamsson, Pekka; Kautz, Karlheinz; Sieppi, Heikki

    2002-01-01

    Emerging agile software development methods are people oriented development approaches to be used by the software industry. The personal software process (PSP) is an accepted method for improving the capabilities of a single software engineer. Five original hypotheses regarding the impact...

  9. Description of research interests and current work related to automating software design

    Science.gov (United States)

    Kaindl, Hermann

    1992-01-01

    Enclosed is a list of selected and recent publications. Most of these publications concern applied research in the areas of software engineering and human-computer interaction. It is felt that domain-specific knowledge plays a major role in software development. Additionally, it is believed that improvements in the general software development process (e.g., object-oriented approaches) will have to be combined with the use of large domain-specific knowledge bases.

  10. A Research Agenda for Service-Oriented Architecture (SOA): Maintenance and Evolution of Service-Oriented Systems

    Science.gov (United States)

    2010-03-01

    service consumers, and infrastructure. Techniques from any iterative and incremental software development methodology followed by the organiza- tion... Service -Oriented Architecture Environment (CMU/SEI-2008-TN-008). Software Engineering Institute, Carnegie Mellon University, 2008. http://www.sei.cmu.edu...Integrating Legacy Software into a Service Oriented Architecture.” Proceedings of the 10th European Conference on Software Maintenance (CSMR 2006). Bari

  11. Object-oriented programming with mixins in Ada

    Science.gov (United States)

    Seidewitz, ED

    1992-01-01

    Recently, I wrote a paper discussing the lack of 'true' object-oriented programming language features in Ada 83, why one might desire them in Ada, and how they might be added in Ada 9X. The approach I took in this paper was to build the new object-oriented features of Ada 9X as much as possible on the basic constructs and philosophy of Ada 83. The object-oriented features proposed for Ada 9X, while different in detail, are based on the same kind of approach. Further consideration of this approach led me on a long reflection on the nature of object-oriented programming and its application to Ada. The results of this reflection, presented in this paper, show how a fairly natural object-oriented style can indeed be developed even in Ada 83. The exercise of developing this style is useful for at least three reasons: (1) it provides a useful style for programming object-oriented applications in Ada 83 until new features become available with Ada 9X; (2) it demystifies many of the mechanisms that seem to be 'magic' in most object-oriented programming languages by making them explicit; and (3) it points out areas that are and are not in need of change in Ada 83 to make object-oriented programming more natural in Ada 9X. In the next four sections I will address in turn the issues of object-oriented classes, mixins, self-reference and supertyping. The presentation is through a sequence of examples. This results in some overlap with that paper, but all the examples in the present paper are written entirely in Ada 83. I will return to considerations for Ada 9X in the last section of the paper.

  12. Implementation of object-oriented programming in study of electrical race car

    Science.gov (United States)

    Nowak, M.; Baier, M.

    2016-08-01

    The paper covers issue of conducting advanced research of electrical race car participating in international competition called Sileverline Corporate Challenge. Process of designing race cars in Silesian Greenpower team is aided by a professional engine test stand built particularly in purpose of this research. Phase of testing and simulation is an important part of the implementation of new technologies. Properly developed solutions and test procedures are able to significantly shorten development time and reduce design costs. Testing process must be controlled by a modular and flexible application, easy to modify and ensuring safety. This paper describes the concept of object-oriented programming in LabVIEW and exemplary architecture of object-oriented control application designed to control engine test stand of the electrical race car. Eventually, the task of application will be to steer the electromagnetic brake and the engine load torque to perform according to data from the actual race track. During the designing process of the car, minimizing energy losses and maximizing powertrain efficiency are the main aspects taken into consideration. One of the crucial issues to accomplish these goals is to maintain optimal performance of the motor by applying effective cooling. The paper covers the research verifying the effectiveness of the cooling system.

  13. An Agent Based Software Approach towards Building Complex Systems

    Directory of Open Access Journals (Sweden)

    Latika Kharb

    2015-08-01

    Full Text Available Agent-oriented techniques represent an exciting new means of analyzing, designing and building complex software systems. They have the potential to significantly improve current practice in software engineering and to extend the range of applications that can feasibly be tackled. Yet, to date, there have been few serious attempts to cast agent systems as a software engineering paradigm. This paper seeks to rectify this omission. Specifically, points to be argued include:firstly, the conceptual apparatus of agent-oriented systems is well-suited to building software solutions for complex systems and secondly, agent-oriented approaches represent a genuine advance over the current state of the art for engineering complex systems. Following on from this view, the major issues raised by adopting an agentoriented approach to software engineering are highlighted and discussed in this paper.

  14. Requirements engineering: foundation for software quality

    NARCIS (Netherlands)

    Daneva, Maia; Pastor, Oscar

    2016-01-01

    Welcome to the proceedings of the 22nd edition of REFSQ: the International Working Conference on Requirements Engineering – Foundation for Software Quality! Requirements engineering (RE) has been recognized as a critical factor that impacts the quality of software, systems, and services. Since the

  15. Contract-oriented software development for internet services

    DEFF Research Database (Denmark)

    Giambiagi, Pablo; Owe, Olaf; Ravn, Anders Peter

    2008-01-01

    COSoDIS (Contract-Oriented Software Development for Internet Services) develops novel approaches to implement and reason about contracts in service oriented architectures (SOA). The rationale is that system developers benefit from abstraction mechanisms to work with these architectures. Therefore...... the goal is to design and test system modeling and programming language tools to empower SOA developers to deploy highly dynamic, negotiable and monitorable Internet services....

  16. Data systems and computer science: Software Engineering Program

    Science.gov (United States)

    Zygielbaum, Arthur I.

    1991-01-01

    An external review of the Integrated Technology Plan for the Civil Space Program is presented. This review is specifically concerned with the Software Engineering Program. The goals of the Software Engineering Program are as follows: (1) improve NASA's ability to manage development, operation, and maintenance of complex software systems; (2) decrease NASA's cost and risk in engineering complex software systems; and (3) provide technology to assure safety and reliability of software in mission critical applications.

  17. Unified Engineering Software System

    Science.gov (United States)

    Purves, L. R.; Gordon, S.; Peltzman, A.; Dube, M.

    1989-01-01

    Collection of computer programs performs diverse functions in prototype engineering. NEXUS, NASA Engineering Extendible Unified Software system, is research set of computer programs designed to support full sequence of activities encountered in NASA engineering projects. Sequence spans preliminary design, design analysis, detailed design, manufacturing, assembly, and testing. Primarily addresses process of prototype engineering, task of getting single or small number of copies of product to work. Written in FORTRAN 77 and PROLOG.

  18. Professional Ethics of Software Engineers: An Ethical Framework.

    Science.gov (United States)

    Lurie, Yotam; Mark, Shlomo

    2016-04-01

    The purpose of this article is to propose an ethical framework for software engineers that connects software developers' ethical responsibilities directly to their professional standards. The implementation of such an ethical framework can overcome the traditional dichotomy between professional skills and ethical skills, which plagues the engineering professions, by proposing an approach to the fundamental tasks of the practitioner, i.e., software development, in which the professional standards are intrinsically connected to the ethical responsibilities. In so doing, the ethical framework improves the practitioner's professionalism and ethics. We call this approach Ethical-Driven Software Development (EDSD), as an approach to software development. EDSD manifests the advantages of an ethical framework as an alternative to the all too familiar approach in professional ethics that advocates "stand-alone codes of ethics". We believe that one outcome of this synergy between professional and ethical skills is simply better engineers. Moreover, since there are often different software solutions, which the engineer can provide to an issue at stake, the ethical framework provides a guiding principle, within the process of software development, that helps the engineer evaluate the advantages and disadvantages of different software solutions. It does not and cannot affect the end-product in and of-itself. However, it can and should, make the software engineer more conscious and aware of the ethical ramifications of certain engineering decisions within the process.

  19. Service-oriented Software Defined Optical Networks for Cloud Computing

    Science.gov (United States)

    Liu, Yuze; Li, Hui; Ji, Yuefeng

    2017-10-01

    With the development of big data and cloud computing technology, the traditional software-defined network is facing new challenges (e.g., ubiquitous accessibility, higher bandwidth, more flexible management and greater security). This paper proposes a new service-oriented software defined optical network architecture, including a resource layer, a service abstract layer, a control layer and an application layer. We then dwell on the corresponding service providing method. Different service ID is used to identify the service a device can offer. Finally, we experimentally evaluate that proposed service providing method can be applied to transmit different services based on the service ID in the service-oriented software defined optical network.

  20. An object-oriented approach to energy-economic modeling

    Energy Technology Data Exchange (ETDEWEB)

    Wise, M.A.; Fox, J.A.; Sands, R.D.

    1993-12-01

    In this paper, the authors discuss the experiences in creating an object-oriented economic model of the U.S. energy and agriculture markets. After a discussion of some central concepts, they provide an overview of the model, focusing on the methodology of designing an object-oriented class hierarchy specification based on standard microeconomic production functions. The evolution of the model from the class definition stage to programming it in C++, a standard object-oriented programming language, will be detailed. The authors then discuss the main differences between writing the object-oriented program versus a procedure-oriented program of the same model. Finally, they conclude with a discussion of the advantages and limitations of the object-oriented approach based on the experience in building energy-economic models with procedure-oriented approaches and languages.

  1. An outline of object-oriented philosophy.

    Science.gov (United States)

    Harman, Graham

    2013-01-01

    This article summarises the principles of object-oriented philosophy and explains its similarities with, and differences from, the outlook of the natural sciences. Like science, the object-oriented position avoids the notion (quite common in philosophy) that the human-world relation is the ground of all others, such that scientific statements about the world would only be statements about the world as it is for humans. But unlike science, object-oriented metaphysics treats artificial, social, and fictional entities in the same way as natural ones, and also holds that the world can only be known allusively rather than directly.

  2. An object-oriented implementation of a graphical-programming system

    International Nuclear Information System (INIS)

    Cunningham, G.S.; Hanson, K.M.; Jennings, G.R. Jr.; Wolf, D.R.

    1994-01-01

    Object-oriented (OO) analysis, design, and programming is a powerful paradigm for creating software that is easily understood, modified, and maintained. In this paper the authors demonstrate how the OO concepts of abstraction, inheritance, encapsulation, polymorphism, and dynamic binding have aided in the design of a graphical-programming tool. The tool that they have developed allows a user to build radiographic system models for computing simulated radiographic data. It will eventually be used to perform Bayesian reconstructions of objects given radiographic data. The models are built by connecting icons that represent physical transformations, such as line integrals, exponentiation, and convolution, on a canvas. They will also briefly discuss ParcPlace's application development environment, VisualWorks, which they have found to be as helpful as the OO paradigm

  3. Objective Assessment of Joint Stiffness: A Clinically Oriented Hardware and Software Device with an Application to the Shoulder Joint.

    Science.gov (United States)

    McQuade, Kevin; Price, Robert; Liu, Nelson; Ciol, Marcia A

    2012-08-30

    Examination of articular joints is largely based on subjective assessment of the "end-feel" of the joint in response to manually applied forces at different joint orientations. This technical report aims to describe the development of an objective method to examine joints in general, with specific application to the shoulder, and suitable for clinical use. We adapted existing hardware and developed laptop-based software to objectively record the force/displacement behavior of the glenohumeral joint during three common manual joint examination tests with the arm in six positions. An electromagnetic tracking system recorded three-dimensional positions of sensors attached to a clinician examiner and a patient. A hand-held force transducer recorded manually applied translational forces. The force and joint displacement were time-synchronized and the joint stiffness was calculated as a quantitative representation of the joint "end-feel." A methodology and specific system checks were developed to enhance clinical testing reproducibility and precision. The device and testing protocol were tested on 31 subjects (15 with healthy shoulders, and 16 with a variety of shoulder impairments). Results describe the stiffness responses, and demonstrate the feasibility of using the device and methods in clinical settings.

  4. Service oriented architecture assessment based on software components

    Directory of Open Access Journals (Sweden)

    Mahnaz Amirpour

    2016-01-01

    Full Text Available Enterprise architecture, with detailed descriptions of the functions of information technology in the organization, tries to reduce the complexity of technology applications resulting in tools with greater efficiency in achieving the objectives of the organization. Enterprise architecture consists of a set of models describing this technology in different components performance as well as various aspects of the applications in any organization. Therefore, information technology development and maintenance management can perform well within organizations. This study aims to suggest a method to identify different types of services in service-oriented architecture analysis step that applies some previous approaches in an integrated form and, based on the principles of software engineering, to provide a simpler and more transparent approach through the expression of analysis details. Advantages and disadvantages of proposals should be evaluated before the implementation and costs allocation. Evaluation methods can better identify strengths and weaknesses of the current situation apart from selecting appropriate model out of several suggestions, and clarify this technology development solution for organizations in the future. We will be able to simulate data and processes flow within the organization by converting the output of the model to colored Petri nets and evaluate and test it by examining various inputs to enterprise architecture before implemented in terms of reliability and response time. A model of application has been studied for the proposed model and the results can describe and design architecture for data.

  5. Milestones in software engineering and knowledge engineering history: a comparative review.

    Science.gov (United States)

    del Águila, Isabel M; Palma, José; Túnez, Samuel

    2014-01-01

    We present a review of the historical evolution of software engineering, intertwining it with the history of knowledge engineering because "those who cannot remember the past are condemned to repeat it." This retrospective represents a further step forward to understanding the current state of both types of engineerings; history has also positive experiences; some of them we would like to remember and to repeat. Two types of engineerings had parallel and divergent evolutions but following a similar pattern. We also define a set of milestones that represent a convergence or divergence of the software development methodologies. These milestones do not appear at the same time in software engineering and knowledge engineering, so lessons learned in one discipline can help in the evolution of the other one.

  6. Software Engineering Education: Some Important Dimensions

    Science.gov (United States)

    Mishra, Alok; Cagiltay, Nergiz Ercil; Kilic, Ozkan

    2007-01-01

    Software engineering education has been emerging as an independent and mature discipline. Accordingly, various studies are being done to provide guidelines for curriculum design. The main focus of these guidelines is around core and foundation courses. This paper summarizes the current problems of software engineering education programs. It also…

  7. Object-orientated DBMS techniques for time-oriented medical record.

    Science.gov (United States)

    Pinciroli, F; Combi, C; Pozzi, G

    1992-01-01

    In implementing time-orientated medical record (TOMR) management systems, use of a relational model played a big role. Many applications have been developed to extend query and data manipulation languages to temporal aspects of information. Our experience in developing TOMR revealed some deficiencies inside the relational model, such as: (a) abstract data type definition; (b) unified view of data, at a programming level; (c) management of temporal data; (d) management of signals and images. We identified some first topics to face by an object-orientated approach to database design. This paper describes the first steps in designing and implementing a TOMR by an object-orientated DBMS.

  8. Improving Software Engineering on NASA Projects

    Science.gov (United States)

    Crumbley, Tim; Kelly, John C.

    2010-01-01

    Software Engineering Initiative: Reduces risk of software failure -Increases mission safety. More predictable software cost estimates and delivery schedules. Smarter buyer of contracted out software. More defects found and removed earlier. Reduces duplication of efforts between projects. Increases ability to meet the challenges of evolving software technology.

  9. Feasibility study for objective oriented design of system thermal hydraulic analysis program

    International Nuclear Information System (INIS)

    Chung, Bub Dong; Jeong, Jae Jun; Hwang, Moon Kyu

    2008-01-01

    The system safety analysis code, such as RELAP5, TRAC, CATHARE etc. have been developed based on Fortran language during the past few decades. Refactoring of conventional codes has been also performed to improve code readability and maintenance. However the programming paradigm in software technology has been changed to use objects oriented programming (OOP), which is based on several techniques, including encapsulation, modularity, polymorphism, and inheritance. In this work, objective oriented program for system safety analysis code has been tried utilizing modernized C language. The analysis, design, implementation and verification steps for OOP system code development are described with some implementation examples. The system code SYSTF based on three-fluid thermal hydraulic solver has been developed by OOP design. The verifications of feasibility are performed with simple fundamental problems and plant models. (author)

  10. Object-oriented programming with gradual abstraction

    DEFF Research Database (Denmark)

    Nørmark, Kurt; Thomsen, Lone Leth; Thomsen, Bent

    2013-01-01

    We describe an experimental object-oriented programming language, ASL2, that supports program development by means of a series of abstraction steps. The language allows immediate object construction, and it is possible to use the constructed objects for concrete problem solving tasks. Classes...... restrictive. As a central mechanism, weakly classified objects are allowed to borrow methods from each other. ASL2 supports class generalization, as a counterpart to class specialization and inheritance in mainstream object-oriented programming languages. The final abstraction step discussed in this paper...

  11. Interactive learning software for electrical engineering subjects ...

    African Journals Online (AJOL)

    Interactive learning software for electrical engineering subjects using MATLAB and ... Keywords: electrical engineering; MATLAB; graphic user interface (GUI); educational software. Full Text: EMAIL FREE FULL TEXT EMAIL FREE FULL TEXT

  12. FastScatTM: An Object-Oriented Program for Fast Scattering Computation

    Directory of Open Access Journals (Sweden)

    Lisa Hamilton

    1993-01-01

    Full Text Available FastScat is a state-of-the-art program for computing electromagnetic scattering and radiation. Its purpose is to support the study of recent algorithmic advancements, such as the fast multipole method, that promise speed-ups of several orders of magnitude over conventional algorithms. The complexity of these algorithms and their associated data structures led us to adopt an object-oriented methodology for FastScat. We discuss the program's design and several lessons learned from its C++ implementation including the appropriate level for object-orientedness in numeric software, maintainability benefits, interfacing to Fortran libraries such as LAPACK, and performance issues.

  13. Teaching Agile Software Engineering Using Problem-Based Learning

    Science.gov (United States)

    El-Khalili, Nuha H.

    2013-01-01

    Many studies have reported the utilization of Problem-Based Learning (PBL) in teaching Software Engineering courses. However, these studies have different views of the effectiveness of PBL. This paper presents the design of an Advanced Software Engineering course for undergraduate Software Engineering students that uses PBL to teach them Agile…

  14. 2015 Federated Conference on Software Development and Object Technologies

    CERN Document Server

    Kostolny, Jozef; Gratkowski, Tomasz

    2017-01-01

    This book presents the proceedings of the International Conference SDOT which was organized at the University in Žilina, Faculty of Management Sciences and Informatics, Slovak Republic in November 19, 2015. The conference was truly international both in terms of the amount of foreign contributions and in terms of composition of steering and scientific committees. The book and the conference serves as a platform of professional exchange of knowledge and experience for the latest trends in software development and object-oriented technologies (theory and practice). This proceedings present information on the latest developments and mediate the exchange of experience between practitioners and academia. .

  15. A reflection on Software Engineering in HEP

    International Nuclear Information System (INIS)

    Carminati, Federico

    2012-01-01

    High Energy Physics (HEP) has been making very extensive usage of computers to achieve its research goals. Fairly large program suites have been developed, maintained and used over the years and it is fair to say that, overall, HEP has been successful in software development. Yet, HEP software development has not used classical Software Engineering techniques, which have been invented and refined to help the production of large programmes. In this paper we will review the development of HEP code with its strengths and weaknesses. Using several well-known HEP software projects as examples, we will try to demonstrate that our community has used a form of Software Engineering, albeit in an informal manner. The software development techniques employed in these projects are indeed very close in many aspects to the modern tendencies of Software Engineering itself, in particular the so-called “agile technologies”. The paper will conclude with an outlook on the future of software development in HEP.

  16. An object-orientated computer control system for DC motor powered robotics

    International Nuclear Information System (INIS)

    Barnes, S.A.; Burrows, M.S.; Smith, D.

    1993-01-01

    In support of the life extension programme for Trawsfynydd Nuclear Power Station, Nuclear Electric plc undertook to carry out volumetric ultrasonic inspection of Reactor Pressure Vessel (RPV) Welds during 1991/92. Access to the Trawsfynydd RPV welds is only practicable from the outside of the vessel and a new generation of remote climbing vehicles, known as MAVIS (Magnetically Attached Vessel Inspection System) was developed to carry out the surface preparation and inspection activities. The purpose of the vehicles is to provide work platforms from which a variety of tasks can be conducted remotely by the fitting of different facilities such as weld location, wire brushing, surface grinding and ultrasonic scanning heads. This paper describes the design, development and implementation of the object oriented control software for the MAVIS vehicles. It further examines the future potential for control systems based upon object oriented philosophies. (author)

  17. Building and Using Object-Oriented Frameworks for Semi-Structures Domains: The Sales Promotion Domain as Example

    NARCIS (Netherlands)

    A. Dalebout; J. van Hillegersberg (Jos); B. Wierenga (Berend)

    1998-01-01

    textabstractObject-oriented (00) frameworks are considered an important step forward in developing software applications efficiently. Success of frameworks has however predominantly been limited to structured domains.This paper describes a method for developing 00 domainframeworks for

  18. Validation techniques for object-oriented proof outlines

    NARCIS (Netherlands)

    Pierik, C.

    2006-01-01

    This thesis presents a proof outline logic for a simple object-oriented programming language. The language has all object-oriented features of popular programming languages like Java and C#. In particular, it supports inheritance, field shadowing, aliasing, dynamic object creation, subtype

  19. Milestones in Software Engineering and Knowledge Engineering History: A Comparative Review

    Science.gov (United States)

    del Águila, Isabel M.; Palma, José; Túnez, Samuel

    2014-01-01

    We present a review of the historical evolution of software engineering, intertwining it with the history of knowledge engineering because “those who cannot remember the past are condemned to repeat it.” This retrospective represents a further step forward to understanding the current state of both types of engineerings; history has also positive experiences; some of them we would like to remember and to repeat. Two types of engineerings had parallel and divergent evolutions but following a similar pattern. We also define a set of milestones that represent a convergence or divergence of the software development methodologies. These milestones do not appear at the same time in software engineering and knowledge engineering, so lessons learned in one discipline can help in the evolution of the other one. PMID:24624046

  20. Property-Based Software Engineering Measurement

    Science.gov (United States)

    Briand, Lionel C.; Morasca, Sandro; Basili, Victor R.

    1997-01-01

    Little theory exists in the field of software system measurement. Concepts such as complexity, coupling, cohesion or even size are very often subject to interpretation and appear to have inconsistent definitions in the literature. As a consequence, there is little guidance provided to the analyst attempting to define proper measures for specific problems. Many controversies in the literature are simply misunderstandings and stem from the fact that some people talk about different measurement concepts under the same label (complexity is the most common case). There is a need to define unambiguously the most important measurement concepts used in the measurement of software products. One way of doing so is to define precisely what mathematical properties characterize these concepts, regardless of the specific software artifacts to which these concepts are applied. Such a mathematical framework could generate a consensus in the software engineering community and provide a means for better communication among researchers, better guidelines for analysts, and better evaluation methods for commercial static analyzers for practitioners. In this paper, we propose a mathematical framework which is generic, because it is not specific to any particular software artifact and rigorous, because it is based on precise mathematical concepts. We use this framework to propose definitions of several important measurement concepts (size, length, complexity, cohesion, coupling). It does not intend to be complete or fully objective; other frameworks could have been proposed and different choices could have been made. However, we believe that the formalisms and properties we introduce are convenient and intuitive. This framework contributes constructively to a firmer theoretical ground of software measurement.

  1. Object-oriented integrated approach for the design of scalable ECG systems.

    Science.gov (United States)

    Boskovic, Dusanka; Besic, Ingmar; Avdagic, Zikrija

    2009-01-01

    The paper presents the implementation of Object-Oriented (OO) integrated approaches to the design of scalable Electro-Cardio-Graph (ECG) Systems. The purpose of this methodology is to preserve real-world structure and relations with the aim to minimize the information loss during the process of modeling, especially for Real-Time (RT) systems. We report on a case study of the design that uses the integration of OO and RT methods and the Unified Modeling Language (UML) standard notation. OO methods identify objects in the real-world domain and use them as fundamental building blocks for the software system. The gained experience based on the strongly defined semantics of the object model is discussed and related problems are analyzed.

  2. Readings in artificial intelligence and software engineering

    CERN Document Server

    Rich, Charles

    1986-01-01

    Readings in Artificial Intelligence and Software Engineering covers the main techniques and application of artificial intelligence and software engineering. The ultimate goal of artificial intelligence applied to software engineering is automatic programming. Automatic programming would allow a user to simply say what is wanted and have a program produced completely automatically. This book is organized into 11 parts encompassing 34 chapters that specifically tackle the topics of deductive synthesis, program transformations, program verification, and programming tutors. The opening parts p

  3. Teaching cloud computing: a software engineering perspective

    OpenAIRE

    Sommerville, Ian

    2012-01-01

    This short papers discusses the issues of teaching cloud computing from a software engineering rather than a business perspective. It discusses what topics might be covered in a senior course on cloud software engineering.

  4. SWEBOS – The Software Engineering Body of Skills

    Directory of Open Access Journals (Sweden)

    Yvonne Sedelmaier

    2015-02-01

    Full Text Available The development of complex software systems requires a mixture of various technical and non-technical competencies. While some guidelines exist which technical knowledge is required to make a good software engineer, there is a lack of insight as to which non-technical or soft skills are necessary to master complex software projects. This paper proposes a body of skills (SWEBOS for soft-ware engineering. The collection of necessary skills is developed on the basis of a clear, data-driven research design. The resulting required soft skills for software engineering are described precisely and semantically rich in a three-level structure. This approach guarantees that skills are not just characterized in a broad and general manner, but rather they are specifically adapted to the domain of software engineering.

  5. A software engineering process for safety-critical software application

    International Nuclear Information System (INIS)

    Kang, Byung Heon; Kim, Hang Bae; Chang, Hoon Seon; Jeon, Jong Sun

    1995-01-01

    Application of computer software to safety-critical systems in on the increase. To be successful, the software must be designed and constructed to meet the functional and performance requirements of the system. For safety reason, the software must be demonstrated not only to meet these requirements, but also to operate safely as a component within the system. For longer-term cost consideration, the software must be designed and structured to ease future maintenance and modifications. This paper presents a software engineering process for the production of safety-critical software for a nuclear power plant. The presentation is expository in nature of a viable high quality safety-critical software development. It is based on the ideas of a rational design process and on the experience of the adaptation of such process in the production of the safety-critical software for the shutdown system number two of Wolsung 2, 3 and 4 nuclear power generation plants. This process is significantly different from a conventional process in terms of rigorous software development phases and software design techniques, The process covers documentation, design, verification and testing using mathematically precise notations and highly reviewable tabular format to specify software requirements and software requirements and software requirements and code against software design using static analysis. The software engineering process described in this paper applies the principle of information-hiding decomposition in software design using a modular design technique so that when a change is required or an error is detected, the affected scope can be readily and confidently located. it also facilitates a sense of high degree of confidence in the 'correctness' of the software production, and provides a relatively simple and straightforward code implementation effort. 1 figs., 10 refs. (Author)

  6. Engineering high quality medical software

    CERN Document Server

    Coronato, Antonio

    2018-01-01

    This book focuses on high-confidence medical software in the growing field of e-health, telecare services and health technology. It covers the development of methodologies and engineering tasks together with standards and regulations for medical software.

  7. An Object-Oriented Approach to C++ Compiler Technology

    NARCIS (Netherlands)

    Sminchisescu, Cristian; Telea, Alexandru

    1999-01-01

    This paper focuses on the use of object-oriented approaches to syntactical and semantical analysis for complex object-oriented languages like C++. We are interested in these issues both from a design and implementation point of view. We implement a semantic analyzer in an object-oriented manner,

  8. Supporting Usability Engineering in Small Software Development Organizations

    DEFF Research Database (Denmark)

    Bornoe, Nis; Stage, Jan

    2013-01-01

    Despite an interest and use of different usability engineering methods small software development organizations find it challenging to implement usability engineering into the software development process. We present the results from a study about usability engineering in practice. Through a series...... of semistructured interviews we want to get an understanding of how usability is implemented into the organizations and how it’s practiced in reality. We found that the developers found it problematic to combine agile software development methods with classic usability engineering methods. A lack of solid usability...... engineering expertise and not least experience seems to be a main obstacle for a successful implementation of usability engineering into current software development practices. They are requesting methods and procedures that fit better with their current practices and strategies to implement usability...

  9. An object-oriented implementation of a graphical-programming system

    Energy Technology Data Exchange (ETDEWEB)

    Cunningham, G.S.; Hanson, K.M.; Jennings, G.R. Jr.; Wolf, D.R.

    1994-04-01

    Object-oriented (OO) analysis, design, and programming is a powerful paradigm for creating software that is easily understood, modified, and maintained. In this paper the authors demonstrate how the OO concepts of abstraction, inheritance, encapsulation, polymorphism, and dynamic binding have aided in the design of a graphical-programming tool. The tool that they have developed allows a user to build radiographic system models for computing simulated radiographic data. It will eventually be used to perform Bayesian reconstructions of objects given radiographic data. The models are built by connecting icons that represent physical transformations, such as line integrals, exponentiation, and convolution, on a canvas. They will also briefly discuss ParcPlace`s application development environment, VisualWorks, which they have found to be as helpful as the OO paradigm.

  10. Distribution and communication in software engineering environments. Application to the HELIOS Software Bus.

    OpenAIRE

    Jean, F. C.; Jaulent, M. C.; Coignard, J.; Degoulet, P.

    1991-01-01

    Modularity, distribution and integration are current trends in Software Engineering. To reach these goals HELIOS, a distributive Software Engineering Environment dedicated to the medical field, has been conceived and a prototype implemented. This environment is made by the collaboration of several, well encapsulated Software Components. This paper presents the architecture retained to allow communication between the different components and focus on the implementation details of the Software ...

  11. Benefits of user-oriented software development based on an iterative cyclic process model for simultaneous engineering

    NARCIS (Netherlands)

    Rauterberg, G.W.M.; Strohm, O.; Kirsch, C.

    1995-01-01

    The current state of traditional software development is surveyed and essential problems are investigated on the basis of empirical data and theoretical considerations. The concept of optimisation cycle is proposed as a solution for simultaneous engineering. The relationships of several different

  12. Proceedings of the Fifteenth Annual Software Engineering Workshop

    Science.gov (United States)

    1990-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by GSFC and created for the purpose of investigating the effectiveness of software engineering technologies when applied to the development of applications software. The goals of the SEL are: (1) to understand the software development process in the GSFC environment; (2) to measure the effect of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. Fifteen papers were presented at the Fifteenth Annual Software Engineering Workshop in five sessions: (1) SEL at age fifteen; (2) process improvement; (3) measurement; (4) reuse; and (5) process assessment. The sessions were followed by two panel discussions: (1) experiences in implementing an effective measurement program; and (2) software engineering in the 1980's. A summary of the presentations and panel discussions is given.

  13. Software engineering practices for control system reliability

    International Nuclear Information System (INIS)

    S. K. Schaffner; K. S White

    1999-01-01

    This paper will discuss software engineering practices used to improve Control System reliability. The authors begin with a brief discussion of the Software Engineering Institute's Capability Maturity Model (CMM) which is a framework for evaluating and improving key practices used to enhance software development and maintenance capabilities. The software engineering processes developed and used by the Controls Group at the Thomas Jefferson National Accelerator Facility (Jefferson Lab), using the Experimental Physics and Industrial Control System (EPICS) for accelerator control, are described. Examples are given of how their procedures have been used to minimized control system downtime and improve reliability. While their examples are primarily drawn from their experience with EPICS, these practices are equally applicable to any control system. Specific issues addressed include resource allocation, developing reliable software lifecycle processes and risk management

  14. Object Oriented Modeling : A method for combining model and software development

    NARCIS (Netherlands)

    Van Lelyveld, W.

    2010-01-01

    When requirements for a new model cannot be met by available modeling software, new software can be developed for a specific model. Methods for the development of both model and software exist, but a method for combined development has not been found. A compatible way of thinking is required to

  15. OBJECT-ORIENTED PROGRAMMING IN SCHOOL COURSE OF INFORMATICS

    Directory of Open Access Journals (Sweden)

    Хамид Абдулович Гербеков

    2017-12-01

    Full Text Available In article approaches to training of student in object-oriented programming in the environment of the Windows operating system are considered. The analysis of the literature on the programming and the modern school textbook on informatics, and also theoretical material on object-oriented programming within the informative line “Algorithmization and programming” of school course of informatics is for this purpose carried out. The object-oriented approached essentially differs from structured programming in fact that the object-oriented programming paradigm is more open and scalable. It doesn’t mean that transition to the object-oriented approach to programming demands a failure from all algorithm applied in case of structural pro-applications of all earlier found and tested method and receptions. On the contrary new elements are always based on prior experience. Object approach creates a set of essential convenience which under other conditions can’t provide. Object-oriented programming in the environment of the Windows operating system to interest student from the first lesson and to do training fascinating and interesting because student can control object which the modern students face since the childhood on the personal computers, pads and phones.

  16. Requirements engineering for software and systems

    CERN Document Server

    Laplante, Phillip A

    2014-01-01

    Solid requirements engineering has increasingly been recognized as the key to improved, on-time and on-budget delivery of software and systems projects. This book provides practical teaching for graduate and professional systems and software engineers. It uses extensive case studies and exercises to help students grasp concepts and techniques. With a focus on software-intensive systems, this text provides a probing and comprehensive review of recent developments in intelligent systems, soft computing techniques, and their diverse applications in manufacturing. The second edition contains 100% revised content and approximately 30% new material

  17. Plug & Play object oriented Bayesian networks

    DEFF Research Database (Denmark)

    Bangsø, Olav; Flores, J.; Jensen, Finn Verner

    2003-01-01

    been shown to be quite suitable for dynamic domains as well. However, processing object oriented Bayesian networks in practice does not take advantage of their modular structure. Normally the object oriented Bayesian network is transformed into a Bayesian network and, inference is performed...... dynamic domains. The communication needed between instances is achieved by means of a fill-in propagation scheme....

  18. Improving collaborative learning in online software engineering education

    Science.gov (United States)

    Neill, Colin J.; DeFranco, Joanna F.; Sangwan, Raghvinder S.

    2017-11-01

    Team projects are commonplace in software engineering education. They address a key educational objective, provide students critical experience relevant to their future careers, allow instructors to set problems of greater scale and complexity than could be tackled individually, and are a vehicle for socially constructed learning. While all student teams experience challenges, those in fully online programmes must also deal with remote working, asynchronous coordination, and computer-mediated communications all of which contribute to greater social distance between team members. We have developed a facilitation framework to aid team collaboration and have demonstrated its efficacy, in prior research, with respect to team performance and outcomes. Those studies indicated, however, that despite experiencing improved project outcomes, students working in effective software engineering teams did not experience significantly improved individual achievement. To address this deficiency we implemented theoretically grounded refinements to the collaboration model based upon peer-tutoring research. Our results indicate a modest, but statistically significant (p = .08), improvement in individual achievement using this refined model.

  19. Collected software engineering papers, volume 8

    Science.gov (United States)

    1990-01-01

    A collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) during the period November 1989 through October 1990 is presented. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography. The seven presented papers are grouped into four major categories: (1) experimental research and evaluation of software measurement; (2) studies on models for software reuse; (3) a software tool evaluation; and (4) Ada technology and studies in the areas of reuse and specification.

  20. Good practices for educational software engineering projects

    NARCIS (Netherlands)

    van der Duim, Louwarnoud; Andersson, Jesper; Sinnema, Marco

    2007-01-01

    Recent publications indicate the importance of software engineering in the computer science curriculum. In this paper, we present the final part of software engineering education at University of Groningen in the Netherlands and Vaxjo University in Sweden, where student teams perform an industrial

  1. The application of the unified modeling language in object-oriented analysis of healthcare information systems.

    Science.gov (United States)

    Aggarwal, Vinod

    2002-10-01

    This paper concerns itself with the beneficial effects of the Unified Modeling Language (UML), a nonproprietary object modeling standard, in specifying, visualizing, constructing, documenting, and communicating the model of a healthcare information system from the user's perspective. The author outlines the process of object-oriented analysis (OOA) using the UML and illustrates this with healthcare examples to demonstrate the practicality of application of the UML by healthcare personnel to real-world information system problems. The UML will accelerate advanced uses of object-orientation such as reuse technology, resulting in significantly higher software productivity. The UML is also applicable in the context of a component paradigm that promises to enhance the capabilities of healthcare information systems and simplify their management and maintenance.

  2. Selection of software for mechanical engineering undergraduates

    International Nuclear Information System (INIS)

    Cheah, C. T.; Yin, C. S.; Halim, T.; Naser, J.; Blicblau, A. S.

    2016-01-01

    A major problem with the undergraduate mechanical course is the limited exposure of students to software packages coupled with the long learning curve on the existing software packages. This work proposes the use of appropriate software packages for the entire mechanical engineering curriculum to ensure students get sufficient exposure real life design problems. A variety of software packages are highlighted as being suitable for undergraduate work in mechanical engineering, e.g. simultaneous non-linear equations; uncertainty analysis; 3-D modeling software with the FEA; analysis tools for the solution of problems in thermodynamics, fluid mechanics, mechanical system design, and solid mechanics.

  3. Selection of software for mechanical engineering undergraduates

    Energy Technology Data Exchange (ETDEWEB)

    Cheah, C. T.; Yin, C. S.; Halim, T.; Naser, J.; Blicblau, A. S., E-mail: ablicblau@swin.edu.au [Swinburne University of Technology, Faculty of Science Engineering and Technology, PO Box 218 Hawthorn, Victoria, Australia, 3122 (Australia)

    2016-07-12

    A major problem with the undergraduate mechanical course is the limited exposure of students to software packages coupled with the long learning curve on the existing software packages. This work proposes the use of appropriate software packages for the entire mechanical engineering curriculum to ensure students get sufficient exposure real life design problems. A variety of software packages are highlighted as being suitable for undergraduate work in mechanical engineering, e.g. simultaneous non-linear equations; uncertainty analysis; 3-D modeling software with the FEA; analysis tools for the solution of problems in thermodynamics, fluid mechanics, mechanical system design, and solid mechanics.

  4. Semantic Oriented Agent based Approach towards Engineering Data Management, Web Information Retrieval and User System Communication Problems

    OpenAIRE

    Ahmed, Zeeshan; Gerhard, Detlef

    2010-01-01

    The four intensive problems to the software rose by the software industry .i.e., User System Communication / Human Machine Interface, Meta Data extraction, Information processing & management and Data representation are discussed in this research paper. To contribute in the field we have proposed and described an intelligent semantic oriented agent based search engine including the concepts of intelligent graphical user interface, natural language based information processing, data management...

  5. Performing Verification and Validation in Reuse-Based Software Engineering

    Science.gov (United States)

    Addy, Edward A.

    1999-01-01

    The implementation of reuse-based software engineering not only introduces new activities to the software development process, such as domain analysis and domain modeling, it also impacts other aspects of software engineering. Other areas of software engineering that are affected include Configuration Management, Testing, Quality Control, and Verification and Validation (V&V). Activities in each of these areas must be adapted to address the entire domain or product line rather than a specific application system. This paper discusses changes and enhancements to the V&V process, in order to adapt V&V to reuse-based software engineering.

  6. Designing dependable process-oriented software - a CSP-based approach

    NARCIS (Netherlands)

    Jovanovic, D.S.

    2006-01-01

    This thesis advocates dependability as a crucial aspect of software quality. Process orientation,as it is defined in this thesis, concentrates on the notion of a process as a basic building component of a dataflow-centred software architecture. The dependability approach in the proposed variant of

  7. What does it mean to use a method? Towards a practice theory for software engineering

    DEFF Research Database (Denmark)

    Dittrich, Yvonne

    2016-01-01

    Context Methods and processes, along with the tools to support them, are at the heart of software engineering as a discipline. However, as we all know, that often the use of the same method neither impacts software projects in a comparable manner nor the software they result in. What is lacking...... software development and teaching are indicated. Conclusion The theoretical/philosophical concepts allow the explaining of heterogeneity in application of software engineering methods in line with empirical research results....... is an understanding of how methods affect software development. Objective The article develops a set of concepts based on the practice-concept in philosophy of sociology as a base to describe software development as social practice, and develop an understanding of methods and their application that explains...

  8. Data structure and software engineering challenges and improvements

    CERN Document Server

    Antonakos, James L

    2011-01-01

    Data structure and software engineering is an integral part of computer science. This volume presents new approaches and methods to knowledge sharing, brain mapping, data integration, and data storage. The author describes how to manage an organization's business process and domain data and presents new software and hardware testing methods. The book introduces a game development framework used as a learning aid in a software engineering at the university level. It also features a review of social software engineering metrics and methods for processing business information. It explains how to

  9. Object orientation affects spatial language comprehension.

    Science.gov (United States)

    Burigo, Michele; Sacchi, Simona

    2013-01-01

    Typical spatial descriptions, such as "The car is in front of the house," describe the position of a located object (LO; e.g., the car) in space relative to a reference object (RO) whose location is known (e.g., the house). The orientation of the RO affects spatial language comprehension via the reference frame selection process. However, the effects of the LO's orientation on spatial language have not received great attention. This study explores whether the pure geometric information of the LO (e.g., its orientation) affects spatial language comprehension using placing and production tasks. Our results suggest that the orientation of the LO influences spatial language comprehension even in the absence of functional relationships. Copyright © 2013 Cognitive Science Society, Inc.

  10. Microsoft Excel Software Usage for Teaching Science and Engineering Curriculum

    Science.gov (United States)

    Singh, Gurmukh; Siddiqui, Khalid

    2009-01-01

    In this article, our main objective is to present the use of Microsoft Software Excel 2007/2003 for teaching college and university level curriculum in science and engineering. In particular, we discuss two interesting and fascinating examples of interactive applications of Microsoft Excel targeted for undergraduate students in: 1) computational…

  11. An Architecture, System Engineering, and Acquisition Approach for Space System Software Resiliency

    Science.gov (United States)

    Phillips, Dewanne Marie

    Software intensive space systems can harbor defects and vulnerabilities that may enable external adversaries or malicious insiders to disrupt or disable system functions, risking mission compromise or loss. Mitigating this risk demands a sustained focus on the security and resiliency of the system architecture including software, hardware, and other components. Robust software engineering practices contribute to the foundation of a resilient system so that the system "can take a hit to a critical component and recover in a known, bounded, and generally acceptable period of time". Software resiliency must be a priority and addressed early in the life cycle development to contribute a secure and dependable space system. Those who develop, implement, and operate software intensive space systems must determine the factors and systems engineering practices to address when investing in software resiliency. This dissertation offers methodical approaches for improving space system resiliency through software architecture design, system engineering, increased software security, thereby reducing the risk of latent software defects and vulnerabilities. By providing greater attention to the early life cycle phases of development, we can alter the engineering process to help detect, eliminate, and avoid vulnerabilities before space systems are delivered. To achieve this objective, this dissertation will identify knowledge, techniques, and tools that engineers and managers can utilize to help them recognize how vulnerabilities are produced and discovered so that they can learn to circumvent them in future efforts. We conducted a systematic review of existing architectural practices, standards, security and coding practices, various threats, defects, and vulnerabilities that impact space systems from hundreds of relevant publications and interviews of subject matter experts. We expanded on the system-level body of knowledge for resiliency and identified a new software

  12. Software engineering design theory and practice

    CERN Document Server

    Otero, Carlos

    2012-01-01

    … intended for use as a textbook for an advanced course in software design. Each chapter ends with review questions and references. … provides an overview of the software development process, something that would not be out of line in a course on software engineering including such topics as software process, software management, balancing conflicting values of stakeholders, testing, quality, and ethics. The author has principally focused on software design though, extracting the design phase from the surrounding software development lifecycle. … Software design strategies are addressed

  13. Reflections on Courses for Software Language Engineering

    NARCIS (Netherlands)

    Bagge, A.H.; Lämmel, R.; Zaytsev, V.; Demuth, B.; Stikkolorum, D.

    2014-01-01

    Software Language Engineering (SLE) has emerged as a field in computer science research and software engineering, but it has yet to become entrenched as part of the standard curriculum at universities. Many places have a compiler construction (CC) course and a programming languages (PL) course, but

  14. Computer, Network, Software, and Hardware Engineering with Applications

    CERN Document Server

    Schneidewind, Norman F

    2012-01-01

    There are many books on computers, networks, and software engineering but none that integrate the three with applications. Integration is important because, increasingly, software dominates the performance, reliability, maintainability, and availability of complex computer and systems. Books on software engineering typically portray software as if it exists in a vacuum with no relationship to the wider system. This is wrong because a system is more than software. It is comprised of people, organizations, processes, hardware, and software. All of these components must be considered in an integr

  15. Effective software-oriented cryptosystem in complex PC security software

    Directory of Open Access Journals (Sweden)

    A. Moldovyan

    1995-02-01

    Full Text Available To ensure high encryption rate and good data security, an organization of an encipherement program in the form of two modules was proposed. The first module is used for customizing the second one, the latter being the resident of the program, which maintains all application calls about encryption procedures. This approach is shown to be perspective for the elaboration of the cryptosystems with indefinite cryptalgorithm. Several typical software-oriented cryptoschemes are considered. The developed cryptomodules have high encipherement rate (2-10 Mbps for Intel 386 and secure high information protection level Organization of a new computer security software complex COBRA is considered. High enciphering rate and good data protection are provided by the resident cryptomodule using less than 1 kbyte of the main memory and working in dynamic encryption mode.

  16. Parallel object-oriented term rewriting : the booleans

    NARCIS (Netherlands)

    Rodenburg, P.H.; Vrancken, J.L.M.

    As a first case study in parallel object-oriented term rewriting, we give two implementations of term rewriting algorithms for boolean terms, using the parallel object-oriented features of the language Pool-T. The term rewriting systems are specified in the specification formalism

  17. Open Source Projects in Software Engineering Education: A Mapping Study

    Science.gov (United States)

    Nascimento, Debora M. C.; Almeida Bittencourt, Roberto; Chavez, Christina

    2015-01-01

    Context: It is common practice in academia to have students work with "toy" projects in software engineering (SE) courses. One way to make such courses more realistic and reduce the gap between academic courses and industry needs is getting students involved in open source projects (OSP) with faculty supervision. Objective: This study…

  18. A prototype distributed object-oriented architecture for image-based automatic laser alignment

    International Nuclear Information System (INIS)

    Stout, E.A.; Kamm, V.J.M.; Spann, J.M.; Van Arsdall, P.J.

    1996-01-01

    Designing a computer control system for the National Ignition Facility (NIF) is a complex undertaking because of the system's large size and its distributed nature. The controls team is addressing that complexity by adopting the object-oriented programming paradigm, designing reusable software frameworks, and using the Common Object Request Broker Architecture (CORBA) for distribution. A prototype system for image-based automatic laser alignment has been developed to evaluate and gain experience with CORBA and OOP in a small distributed system. The prototype is also important in evaluating alignment concepts, image processing techniques, speed and accuracy of automatic alignment objectives for the NIF, and control hardware for aligment devices. The prototype system has met its inital objectives and provides a basis for continued development

  19. Engineering bioinformatics: building reliability, performance and productivity into bioinformatics software.

    Science.gov (United States)

    Lawlor, Brendan; Walsh, Paul

    2015-01-01

    There is a lack of software engineering skills in bioinformatic contexts. We discuss the consequences of this lack, examine existing explanations and remedies to the problem, point out their shortcomings, and propose alternatives. Previous analyses of the problem have tended to treat the use of software in scientific contexts as categorically different from the general application of software engineering in commercial settings. In contrast, we describe bioinformatic software engineering as a specialization of general software engineering, and examine how it should be practiced. Specifically, we highlight the difference between programming and software engineering, list elements of the latter and present the results of a survey of bioinformatic practitioners which quantifies the extent to which those elements are employed in bioinformatics. We propose that the ideal way to bring engineering values into research projects is to bring engineers themselves. We identify the role of Bioinformatic Engineer and describe how such a role would work within bioinformatic research teams. We conclude by recommending an educational emphasis on cross-training software engineers into life sciences, and propose research on Domain Specific Languages to facilitate collaboration between engineers and bioinformaticians.

  20. Engineering bioinformatics: building reliability, performance and productivity into bioinformatics software

    Science.gov (United States)

    Lawlor, Brendan; Walsh, Paul

    2015-01-01

    There is a lack of software engineering skills in bioinformatic contexts. We discuss the consequences of this lack, examine existing explanations and remedies to the problem, point out their shortcomings, and propose alternatives. Previous analyses of the problem have tended to treat the use of software in scientific contexts as categorically different from the general application of software engineering in commercial settings. In contrast, we describe bioinformatic software engineering as a specialization of general software engineering, and examine how it should be practiced. Specifically, we highlight the difference between programming and software engineering, list elements of the latter and present the results of a survey of bioinformatic practitioners which quantifies the extent to which those elements are employed in bioinformatics. We propose that the ideal way to bring engineering values into research projects is to bring engineers themselves. We identify the role of Bioinformatic Engineer and describe how such a role would work within bioinformatic research teams. We conclude by recommending an educational emphasis on cross-training software engineers into life sciences, and propose research on Domain Specific Languages to facilitate collaboration between engineers and bioinformaticians. PMID:25996054

  1. Object oriented approach to B reconstruction

    International Nuclear Information System (INIS)

    Katayama, N.

    1992-01-01

    The complexity of full and partial reconstruction of B mesons has led CLEO to use object oriented techniques to do physics data analyses. An object oriented language for HEP data analysis was designed, a compiler which translates the user code into C++ source code, has been written using the UNIX tools, lex and yacc. The resulting C++ code can be linked and run in the normal CLEO data analysis system

  2. On teaching software engineering based on formal techniques

    DEFF Research Database (Denmark)

    Bjørner, Dines

    2001-01-01

    thoughts about and plans for a different software engineering text book peter Lucas Farewell Symposium......thoughts about and plans for a different software engineering text book peter Lucas Farewell Symposium...

  3. Cooperative and human aspects of software engineering: CHASE 2010

    DEFF Research Database (Denmark)

    Dittrich, Yvonne; Sharp, Helen C.; Winschiers Theophilus, Heike

    2010-01-01

    Software is created by people -- software engineers in cooperation with domain experts, users and other stakeholders--in varied environments, under various conditions. Thus understanding cooperative and human aspects of software development is crucial to comprehend how and which methods and tools...... are required, to improve the creation and maintenance of software. The 3rd workshop on Cooperative and Human Aspects of Software Engineering held at the International Conference on Software Engineering continued the tradition from earlier workshops and provided a lively forum to discuss current developments...... and high quality research in the field. Further dissemination of research results will lead to an improvement of software development and deployment across the globe....

  4. Object-Oriented Programming in the Development of Containment Analysis Code

    International Nuclear Information System (INIS)

    Han, Tae Young; Hong, Soon Joon; Hwang, Su Hyun; Lee, Byung Chul; Byun, Choong Sup

    2009-01-01

    After the mid 1980s, the new programming concept, Object-Oriented Programming (OOP), was introduced and designed, which has the features such as the information hiding, encapsulation, modularity and inheritance. These offered much more convenient programming paradigm to code developers. The OOP concept was readily developed into the programming language as like C++ in the 1990s and is being widely used in the modern software industry. In this paper, we show that the OOP concept is successfully applicable to the development of safety analysis code for containment and propose the more explicit and easy OOP design for developers

  5. Comparison of Problem Solving from Engineering Design to Software Design

    DEFF Research Database (Denmark)

    Ahmed-Kristensen, Saeema; Babar, Muhammad Ali

    2012-01-01

    Observational studies of engineering design activities can inform the research community on the problem solving models that are employed by professional engineers. Design is defined as an ill-defined problem which includes both engineering design and software design, hence understanding problem...... solving models from other design domains is of interest to the engineering design community. For this paper an observational study of two software design sessions performed for the workshop on “Studying professional Software Design” is compared to analysis from engineering design. These findings provide...... useful insights of how software designers move from a problem domain to a solution domain and the commonalities between software designers’ and engineering designers’ design activities. The software designers were found to move quickly to a detailed design phase, employ co-.evolution and adopt...

  6. Comparison of Problem Solving from Engineering Design to Software Design

    DEFF Research Database (Denmark)

    Ahmed-Kristensen, Saeema; Babar, Muhammad Ali

    2012-01-01

    solving models from other design domains is of interest to the engineering design community. For this paper an observational study of two software design sessions performed for the workshop on “Studying professional Software Design” is compared to analysis from engineering design. These findings provide......Observational studies of engineering design activities can inform the research community on the problem solving models that are employed by professional engineers. Design is defined as an ill-defined problem which includes both engineering design and software design, hence understanding problem...... useful insights of how software designers move from a problem domain to a solution domain and the commonalities between software designers’ and engineering designers’ design activities. The software designers were found to move quickly to a detailed design phase, employ co-.evolution and adopt...

  7. TEACHING OBJECT ORIENTED PROGRAMMING AT THE INTRODUCTORY LEVEL

    OpenAIRE

    OKUR , Prof.Dr. Mehmet C.

    2006-01-01

    Teaching object oriented programming has become a rapidly expanding preference at various educational environments. However, teachers usually experience problems when introducing object oriented concepts and programming to beginners. How to teach the fundamentals of object oriented programming at an introductory level course is still a common subject for debate. In this paper, an evaluation of these problems is presented and some possible approaches for improving the quality and success of su...

  8. Optimizing transformations of stencil operations for parallel object-oriented scientific frameworks on cache-based architectures

    Energy Technology Data Exchange (ETDEWEB)

    Bassetti, F.; Davis, K.; Quinlan, D.

    1998-12-31

    High-performance scientific computing relies increasingly on high-level large-scale object-oriented software frameworks to manage both algorithmic complexity and the complexities of parallelism: distributed data management, process management, inter-process communication, and load balancing. This encapsulation of data management, together with the prescribed semantics of a typical fundamental component of such object-oriented frameworks--a parallel or serial array-class library--provides an opportunity for increasingly sophisticated compile-time optimization techniques. This paper describes two optimizing transformations suitable for certain classes of numerical algorithms, one for reducing the cost of inter-processor communication, and one for improving cache utilization; demonstrates and analyzes the resulting performance gains; and indicates how these transformations are being automated.

  9. Improving Students’ Learning in Software Engineering Education through Multi-Level Assignments

    NARCIS (Netherlands)

    Dr. Leo Pruijt; Christian Köppe

    2014-01-01

    Author supplied: DOI : http://dx.doi.org/10.1145/2691352.2691357 Assignments and exercises are an essential part of software engineering education. It usually requires a variety of these assignments to cover a desired wide range of educational objectives as defined in the revised Bloom's taxonomy.

  10. Towards a Controlled Vocabulary on Software Engineering Education

    Science.gov (United States)

    Pizard, Sebastián; Vallespir, Diego

    2017-01-01

    Software engineering is the discipline that develops all the aspects of the production of software. Although there are guidelines about what topics to include in a software engineering curricula, it is usually unclear which are the best methods to teach them. In any science discipline the construction of a classification schema is a common…

  11. Strategic Orientation in the Globalization of Software Firms

    Science.gov (United States)

    Dedrick, Jason; Kraemer, Kenneth L.; Carmel, Erran; Dunkle, Debora

    In the search for profits, software firms are globalizing their development activities. Some firms achieve greater profits by becoming more efficient, whereas others do so by reaching new markets; some do both. This paper creates an a priori typology of strategies based on the extent to which firms are focused on operational improvement or market access, have a dual focus or are unfocused. We find that firms with these strategies differ in degree of internationalization, organization of offshoring and performance outcomes related to offshoring. Market-oriented firms receive a greater proportion of their total revenue from sales outside the U.S., showing a greater international orientation. They keep more of their offshore development in-house via captive operations. They also are most likely to report increased non-U.S. sales as a result of offshoring. On the other hand, operations-oriented firms have lower levels of international sales, are more likely to go offshore via outsourced software development, and achieve greater costs savings and labor force flexibility as a result of offshoring. Operations-oriented firms also face more obstacles in offshoring, perhaps because of their reliance on outsourcing. Dual focus firms generally achieve some of the best of both strategies, whereas unfocused firms achieve lower cost benefits.

  12. Competence Centered Specialization in Web Engineering Topics in a Software Engineering Masters Degree Programme

    DEFF Research Database (Denmark)

    Dolog, Peter; Thomsen, Lone Leth; Thomsen, Bent

    2010-01-01

    Web applications and Web-based systems are becoming increasingly complex as a result of either customer requests or technology evolution which has eased other aspects of software engineering. Therefore, there is an increasing demand for highly skilled software engineers able to build and also...... advance the systems on the one hand as well as professionals who are able to evaluate their eectiveness on the other hand. With this idea in mind, the computer science department at Aalborg University is continuously working on improvements in its specialization in web engineering topics as well...... as on general competence based web engineering proles oered also for those who specialize in other areas of software engineering. We describe the current state of the art and our experience with a web engineering curriculum within the software engineering masters degree programme. We also discuss an evolution...

  13. The need for scientific software engineering in the pharmaceutical industry.

    Science.gov (United States)

    Luty, Brock; Rose, Peter W

    2017-03-01

    Scientific software engineering is a distinct discipline from both computational chemistry project support and research informatics. A scientific software engineer not only has a deep understanding of the science of drug discovery but also the desire, skills and time to apply good software engineering practices. A good team of scientific software engineers can create a software foundation that is maintainable, validated and robust. If done correctly, this foundation enable the organization to investigate new and novel computational ideas with a very high level of efficiency.

  14. The need for scientific software engineering in the pharmaceutical industry

    Science.gov (United States)

    Luty, Brock; Rose, Peter W.

    2017-03-01

    Scientific software engineering is a distinct discipline from both computational chemistry project support and research informatics. A scientific software engineer not only has a deep understanding of the science of drug discovery but also the desire, skills and time to apply good software engineering practices. A good team of scientific software engineers can create a software foundation that is maintainable, validated and robust. If done correctly, this foundation enable the organization to investigate new and novel computational ideas with a very high level of efficiency.

  15. Using ethnographic methods in software engineering research

    DEFF Research Database (Denmark)

    Sharp, Helen, C.; Dittrich, Yvonne; De Souza, Cleidson

    2010-01-01

    This tutorial provides an overview of the role of ethnography in Software Engineering research. It describes the use of ethnographic methods as a means to provide an in-depth understanding of the socio-technological realities surrounding everyday software development practice. The knowledge gained......-depth discussion of methods for data collection and analysis used in ethnographic studies. It then describes how these methods can be and have been used by software engineering researchers to understand developers' work practices, to inform the development of processes, methods and tools and to evaluate...... can be used to improve processes, methods and tools as well as develop observed industrial practices. The tutorial begins with a brief historical account of ethnography in the fields of Software Engineering, CSCW, Information Systems and other related areas. This sets the stage for a more in...

  16. Temporal locality optimizations for stencil operations for parallel object-oriented scientific frameworks on cache-based architectures

    Energy Technology Data Exchange (ETDEWEB)

    Bassetti, F.; Davis, K.; Quinlan, D.

    1998-12-01

    High-performance scientific computing relies increasingly on high-level large-scale object-oriented software frameworks to manage both algorithmic complexity and the complexities of parallelism: distributed data management, process management, inter-process communication, and load balancing. This encapsulation of data management, together with the prescribed semantics of a typical fundamental component of such object-oriented frameworks--a parallel or serial array-class library--provides an opportunity for increasingly sophisticated compile-time optimization techniques. This paper describes a technique for introducing cache blocking suitable for certain classes of numerical algorithms, demonstrates and analyzes the resulting performance gains, and indicates how this optimization transformation is being automated.

  17. A Multidimensional Software Engineering Course

    Science.gov (United States)

    Barzilay, O.; Hazzan, O.; Yehudai, A.

    2009-01-01

    Software engineering (SE) is a multidimensional field that involves activities in various areas and disciplines, such as computer science, project management, and system engineering. Though modern SE curricula include designated courses that address these various subjects, an advanced summary course that synthesizes them is still missing. Such a…

  18. Channels as Objects in Concurrent Object-Oriented Programming

    Directory of Open Access Journals (Sweden)

    Joana Campos

    2011-10-01

    Full Text Available There is often a sort of a protocol associated to each class, stating when and how certain methods should be called. Given that this protocol is, if at all, described in the documentation accompanying the class, current mainstream object-oriented languages cannot provide for the verification of client code adherence against the sought class behaviour. We have defined a class-based concurrent object-oriented language that formalises such protocols in the form of usage types. Usage types are attached to class definitions, allowing for the specification of (1 the available methods, (2 the tests clients must perform on the result of methods, and (3 the object status - linear or shared - all of which depend on the object's state. Our work extends the recent approach on modular session types by eliminating channel operations, and defining the method call as the single communication primitive in both sequential and concurrent settings. In contrast to previous works, we define a single category for objects, instead of distinct categories for linear and for shared objects, and let linear objects evolve into shared ones. We introduce a standard sync qualifier to prevent thread interference in certain operations on shared objects. We formalise the language syntax, the operational semantics, and a type system that enforces by static typing that methods are called only when available, and by a single client if so specified in the usage type. We illustrate the language via a complete example.

  19. VLTI auxiliary telescopes: a full object-oriented approach

    Science.gov (United States)

    Chiozzi, Gianluca; Duhoux, Philippe; Karban, Robert

    2000-06-01

    The Very Large Telescope (VLT) Telescope Control Software (TCS) is a portable system. It is now in use or will be used in a whole family of ESO telescopes VLT Unit Telescopes, VLTI Auxiliary Telescopes, NTT, La Silla 3.6, VLT Survey Telescope and Astronomical Site Monitors in Paranal and La Silla). Although it has been developed making extensive usage of Object Oriented (OO) methodologies, the overall development process chosen at the beginning of the project used traditional methods. In order to warranty a longer lifetime to the system (improving documentation and maintainability) and to prepare for future projects, we have introduced a full OO process. We have taken as a basis the United Software Development Process with the Unified Modeling Language (UML) and we have adapted the process to our specific needs. This paper describes how the process has been applied to the VLTI Auxiliary Telescopes Control Software (ATCS). The ATCS is based on the portable VLT TCS, but some subsystems are new or have specific characteristics. The complete process has been applied to the new subsystems, while reused code has been integrated in the UML models. We have used the ATCS on one side to tune the process and train the team members and on the other side to provide a UML and WWW based documentation for the portable VLT TCS.

  20. The use of software agents and distributed objects to integrate enterprises: Compatible or competing technologies?

    Energy Technology Data Exchange (ETDEWEB)

    Pancerella, C.M.

    1998-04-01

    Distributed object and software agent technologies are two integration methods for connecting enterprises. The two technologies have overlapping goals--interoperability and architectural support for integrating software components--though to date little or no integration of the two technologies has been made at the enterprise level. The primary difference between these two technologies is that distributed object technologies focus on the problems inherent in connecting distributed heterogeneous systems whereas software agent technologies focus on the problems involved with coordination and knowledge exchange across domain boundaries. This paper addresses the integration of these technologies in support of enterprise integration across organizational and geographic boundaries. The authors discuss enterprise integration issues, review their experiences with both technologies, and make recommendations for future work. Neither technology is a panacea. Good software engineering techniques must be applied to integrate an enterprise because scalability and a distributed software development team are realities.

  1. Object-oriented alarm-filtering system

    International Nuclear Information System (INIS)

    Corsberg, D.R.; Wilkie, D.

    1986-01-01

    This paper discusses an alarm-filtering system (AFS) being developed by EG and G Idaho, Inc. for the Advanced Test Reactor (ATR) at the Idaho National Engineering Laboratory. The ultimate goal of this project is to place AFS into ATR's reactor control room to act as an aid during major plant transients. In addition, methods of alarm analysis are investigated based on functional relationships rather than on a historical approach utilizing cause-consequence trees. Artificial intelligence techniques, including object-oriented programming, are also demonstrated as useful in analyzing alarms and alarm sequences. After a brief description of the problem AFS addresses, this paper discusses the design constraints and human factors that influenced the development of the system. The reader is then presented with operational and architectural descriptions of the system as well as what directions the future development of AFS may take. The fact that AFS is being considered as a partial solution to the problems discussed in the next section demonstrates the viability of its underlying technology and approach. 10 refs

  2. An Evaluation Instrument for Object-Oriented Example Programs for Novices

    DEFF Research Database (Denmark)

    Christensen, Henrik Bærbak; Börstler, Jürgen; Nordström,, Marie

    objectively and consistently requires some kind of measurement instrument. In this paper, we describe the development and initial validation of an evaluation instrument for example programs, based on three aspects of quality; technical quality, object-oriented quality, and didactical quality. Validation......Examples are important tools for programming education. In this paper, we investigate desirable properties of programming examples from a cognitive and a measurement point of view. We argue that some cognitive aspects of example programs are "caught" by common software measures......, but they are not sufficient to capture all important aspects of understandability. We propose a framework for measuring the understandability of example programs that also considers factors related to the usage context of examples. Research shows that examples play an important role for cognitive skill acquisition. Students...

  3. Interaction between systems and software engineering in safety-critical systems

    International Nuclear Information System (INIS)

    Knight, J.

    1994-01-01

    There are three areas of concern: when is software to be considered safe; what, exactly, is the role of the software engineer; and how do systems, or sometimes applications, engineers and software engineers interact with each other. The author presents his perspective on these questions which he feels differ from those of many in the field. He argues for a clear definition of safety in the software arena, so the engineer knows what he is engineering toward. Software must be viewed as part of the entire system, since it does not function on its own, or isolation. He argues for the establishment of clear specifications in this area

  4. An Application-oriented Open Software Platform for Multi-purpose Field Robotics

    DEFF Research Database (Denmark)

    Jensen, Kjeld

    that solve simple tasks such as mowing, and automatic tractor steering that navigates through a planned route under the supervision of an operator. The outdoor environment in which the robot operates is often very complex. This places great demands on the robot's ability to perceive the environment and based...... on this behave in a way that is appropriate and productive with respect to the given task while being safe for nearby people, animals and objects. Researchers are challenged by the considerable resources required to develop robot software capable of supporting experiments in such a complex perception...... and behavior. The lack of collaboration between research groups contributes to the problem, the scientific publications describe methods and results from the work, but little software for field robots are released and documented for use by others. The hypothesis of this work is that an application oriented...

  5. V & V Within Reuse-Based Software Engineering

    Science.gov (United States)

    Addy, Edward A.

    1996-01-01

    Verification and validation (V&V) is used to increase the level of assurance of critical software, particularly that of safety-critical and mission critical software. This paper describes the working group's success in identifying V&V tasks that could be performed in the domain engineering and transition levels of reuse-based software engineering. The primary motivation for V&V at the domain level is to provide assurance that the domain requirements are correct and that the domain artifacts correctly implement the domain requirements. A secondary motivation is the possible elimination of redundant V&V activities at the application level. The group also considered the criteria and motivation for performing V&V in domain engineering.

  6. Energy-Aware Software Engineering

    DEFF Research Database (Denmark)

    Eder, Kerstin; Gallagher, John Patrick

    2017-01-01

    A great deal of energy in Information and Communication Technology (ICT) systems can be wasted by software, regardless of how energy-efficient the underlying hardware is. To avoid such waste, programmers need to understand the energy consumption of programs during the development process rather......, the chapter discusses how energy analysis and modelling techniques can be incorporated in software engineering tools, including existing compilers, to assist the energy-aware programmer to optimise the energy consumption of code....

  7. Benchmarking and performance enhancement framework for multi-staging object-oriented languages

    Directory of Open Access Journals (Sweden)

    Ahmed H. Yousef

    2013-06-01

    Full Text Available This paper focuses on verifying the readiness, feasibility, generality and usefulness of multi-staging programming in software applications. We present a benchmark designed to evaluate the performance gain of different multi-staging programming (MSP languages implementations of object oriented languages. The benchmarks in this suite cover different tests that range from classic simple examples (like matrix algebra to advanced examples (like encryption and image processing. The benchmark is applied to compare the performance gain of two different MSP implementations (Mint and Metaphor that are built on object oriented languages (Java and C# respectively. The results concerning the application of this benchmark on these languages are presented and analysed. The measurement technique used in benchmarking leads to the development of a language independent performance enhancement framework that allows the programmer to select which code segments need staging. The framework also enables the programmer to verify the effectiveness of staging on the application performance. The framework is applied to a real case study. The case study results showed the effectiveness of the framework to achieve significant performance enhancement.

  8. Proceedings of the 19th Annual Software Engineering Workshop

    Science.gov (United States)

    1994-01-01

    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of applications software. The goals of the SEL are: (1) to understand the software development process in the GSFC environment; (2) to measure the effects of various methodologies, tools, and models on this process; and (3) to identify and then to apply successful development practices. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that include this document.

  9. SISSY: An example of a multi-threaded, networked, object-oriented databased application

    International Nuclear Information System (INIS)

    Scipioni, B.; Liu, D.; Song, T.

    1993-05-01

    The Systems Integration Support SYstem (SISSY) is presented and its capabilities and techniques are discussed. It is fully automated data collection and analysis system supporting the SSCL's systems analysis activities as they relate to the Physics Detector and Simulation Facility (PDSF). SISSY itself is a paradigm of effective computing on the PDSF. It uses home-grown code (C++), network programming (RPC, SNMP), relational (SYBASE) and object-oriented (ObjectStore) DBMSs, UNIX operating system services (IRIX threads, cron, system utilities, shells scripts, etc.), and third party software applications (NetCentral Station, Wingz, DataLink) all of which act together as a single application to monitor and analyze the PDSF

  10. Simple solution to the medical instrumentation software problem

    Science.gov (United States)

    Leif, Robert C.; Leif, Suzanne B.; Leif, Stephanie H.; Bingue, E.

    1995-04-01

    Medical devices now include a substantial software component, which is both difficult and expensive to produce and maintain. Medical software must be developed according to `Good Manufacturing Practices', GMP. Good Manufacturing Practices as specified by the FDA and ISO requires the definition and compliance to a software processes which ensures quality products by specifying a detailed method of software construction. The software process should be based on accepted standards. US Department of Defense software standards and technology can both facilitate the development and improve the quality of medical systems. We describe the advantages of employing Mil-Std-498, Software Development and Documentation, and the Ada programming language. Ada provides the very broad range of functionalities, from embedded real-time to management information systems required by many medical devices. It also includes advanced facilities for object oriented programming and software engineering.

  11. Quantifying Functional Reuse from Object Oriented Requirements Specifications

    NARCIS (Netherlands)

    Condori-Fernandez, Nelly; Condori-Fernández, N.; Pastor, O; Daneva, Maia; Abran, A.; Castro, J.; Quer, C.; Carvallo, J. B.; Fernandes da Silva, L.

    2008-01-01

    Software reuse is essential in improving efficiency and productivity in the software development process. This paper analyses reuse within requirements engineering phase by taking and adapting a standard functional size measurement method, COSMIC FFP. Our proposal attempts to quantify reusability

  12. Object-Oriented Type Inference

    DEFF Research Database (Denmark)

    Schwartzbach, Michael Ignatieff; Palsberg, Jens

    1991-01-01

    We present a new approach to inferring types in untyped object-oriented programs with inheritance, assignments, and late binding. It guarantees that all messages are understood, annotates the program with type information, allows polymorphic methods, and can be used as the basis of an op...

  13. Progress towards the professionalization of Software Engineering

    Directory of Open Access Journals (Sweden)

    Janeth McAlister

    2014-12-01

    Full Text Available Software Engineer provides a theoretical framework, methods, and tools needed to develop quality software, and has impulse the revolution of Information and Knowledge Society, because without their contributions computers would be just a tool without a specific utility. Furthermore, despite of advances in hardware, the impact and potentiation of technological development just was possible thanks to software products. On the other hand, current Society is starting to be recognize as software–dependent, since in this century software is part of all devices required to manipulated information, and which people used in their daily activities. In this article is presented an analysis to the process of search professionalize software engineer and their products, having as base the work develop since the GSwE2009.

  14. Introducing Software Engineering by means of Extreme Programming

    DEFF Research Database (Denmark)

    Hedin, G.; Bendix, Lars Gotfred; Magnusson, B.

    2003-01-01

    This paper reports on experience from teaching basic software engineering concepts by using Extreme Programming in a second year undergraduate course taken by 107 students. We describe how this course fits into a wider programme on software engineering and technology and report our experience from...... running and improving the course. Particularly important aspects of our set-up includes team coaching (by older students) and "team-in-one-room". Our experience so far is very positive and we see that students get a good basic understanding of the important concepts in software engineering, rooted...

  15. Guidelines for using empirical studies in software engineering education

    Directory of Open Access Journals (Sweden)

    Fabian Fagerholm

    2017-09-01

    Full Text Available Software engineering education is under constant pressure to provide students with industry-relevant knowledge and skills. Educators must address issues beyond exercises and theories that can be directly rehearsed in small settings. Industry training has similar requirements of relevance as companies seek to keep their workforce up to date with technological advances. Real-life software development often deals with large, software-intensive systems and is influenced by the complex effects of teamwork and distributed software development, which are hard to demonstrate in an educational environment. A way to experience such effects and to increase the relevance of software engineering education is to apply empirical studies in teaching. In this paper, we show how different types of empirical studies can be used for educational purposes in software engineering. We give examples illustrating how to utilize empirical studies, discuss challenges, and derive an initial guideline that supports teachers to include empirical studies in software engineering courses. Furthermore, we give examples that show how empirical studies contribute to high-quality learning outcomes, to student motivation, and to the awareness of the advantages of applying software engineering principles. Having awareness, experience, and understanding of the actions required, students are more likely to apply such principles under real-life constraints in their working life.

  16. Application of software engineering to development of reactor-safety codes

    International Nuclear Information System (INIS)

    Wilburn, N.P.; Niccoli, L.G.

    1980-11-01

    As a result of the drastically increasing cost of software and the lack of an engineering approach, the technology of Software Engineering is being developed. Software Engineering provides an answer to the increasing cost of developing and maintaining software. It has been applied extensively in the business and aerospace communities and is just now being applied to the development of scientific software and, in particular, to the development of reactor safety codes at HEDL

  17. Object oriented programming in simulation of ions transport

    International Nuclear Information System (INIS)

    Zhang Wenyong; Wang Tongquan; Xiao Yabin; Dai Hongyi; Chen Yuzhong

    2001-01-01

    Using Object Oriented Programming (OOP) method can make our program more reliable and easier to read, debug, maintain and upgrade. This paper compared FORTRAN90-the language widely used in science computing with C ++ --An Object Oriented Language, and the conclusion was made that although FORTRAN90 have many deficiencies, it can be used in Object Oriented programming. Then OOP method was used in programming of Monte Carlo simulation of ions transport and the general process of OOP was given

  18. Object-Oriented Programming in High Schools the Turing Way.

    Science.gov (United States)

    Holt, Richard C.

    This paper proposes an approach to introducing object-oriented concepts to high school computer science students using the Object-Oriented Turing (OOT) language. Students can learn about basic object-oriented (OO) principles such as classes and inheritance by using and expanding a collection of classes that draw pictures like circles and happy…

  19. Classification of quantum relativistic orientable objects

    Energy Technology Data Exchange (ETDEWEB)

    Gitman, D M [Instituto de Fisica, Universidade de Sao Paulo, Caixa Postal 66318-CEP, 05315-970, Sao Paulo, SP (Brazil); Shelepin, A L, E-mail: gitman@dfn.if.usp.br, E-mail: alex@shelepin.msk.ru [Moscow Institute of Radio Engineering, Electronics and Automation, Prospect Vernadskogo, 78, 117454 Moscow (Russian Federation)

    2011-01-15

    Extending our previous work 'Fields on the Poincare group and quantum description of orientable objects' (Gitman and Shelepin 2009 Eur. Phys. J. C 61 111-39), we consider here a classification of orientable relativistic quantum objects in 3+1 dimensions. In such a classification, one uses a maximal set of ten commuting operators (generators of left and right transformations) in the space of functions on the Poincare group. In addition to the usual six quantum numbers related to external symmetries (given by left generators), there appear additional quantum numbers related to internal symmetries (given by right generators). Spectra of internal and external symmetry operators are interrelated, which, however, does not contradict the Coleman-Mandula no-go theorem. We believe that the proposed approach can be useful for the description of elementary spinning particles considered as orientable objects. In particular, it gives a group-theoretical interpretation of some facts of the existing phenomenological classification of spinning particles.

  20. Classification of quantum relativistic orientable objects

    International Nuclear Information System (INIS)

    Gitman, D M; Shelepin, A L

    2011-01-01

    Extending our previous work 'Fields on the Poincare group and quantum description of orientable objects' (Gitman and Shelepin 2009 Eur. Phys. J. C 61 111-39), we consider here a classification of orientable relativistic quantum objects in 3+1 dimensions. In such a classification, one uses a maximal set of ten commuting operators (generators of left and right transformations) in the space of functions on the Poincare group. In addition to the usual six quantum numbers related to external symmetries (given by left generators), there appear additional quantum numbers related to internal symmetries (given by right generators). Spectra of internal and external symmetry operators are interrelated, which, however, does not contradict the Coleman-Mandula no-go theorem. We believe that the proposed approach can be useful for the description of elementary spinning particles considered as orientable objects. In particular, it gives a group-theoretical interpretation of some facts of the existing phenomenological classification of spinning particles.

  1. A heretic's view of the object-oriented paradigm

    DEFF Research Database (Denmark)

    Galle, Per

    1998-01-01

    A basic assumption of the object-oriented paradigm of computer programming and database thinking is that objects (including classes) are dynamic: classes have objects as instances which can be created, modified, and deleted. I argue that this leads to unnecessary conceptual difficulties, and sugg......A basic assumption of the object-oriented paradigm of computer programming and database thinking is that objects (including classes) are dynamic: classes have objects as instances which can be created, modified, and deleted. I argue that this leads to unnecessary conceptual difficulties......, and suggest that although real world entities are undeniably dynamic and perishable, much may be gained by assuming that the objects we use for thinking about them are static. This, it is submitted, may prove to facilitate both practical system development and theoretical pursuits of a mathematically sound...... object-oriented data model....

  2. FMT (Flight Software Memory Tracker) For Cassini Spacecraft-Software Engineering Using JAVA

    Science.gov (United States)

    Kan, Edwin P.; Uffelman, Hal; Wax, Allan H.

    1997-01-01

    The software engineering design of the Flight Software Memory Tracker (FMT) Tool is discussed in this paper. FMT is a ground analysis software set, consisting of utilities and procedures, designed to track the flight software, i.e., images of memory load and updatable parameters of the computers on-board Cassini spacecraft. FMT is implemented in Java.

  3. Service-oriented architecture for the ARGOS instrument control software

    Science.gov (United States)

    Borelli, J.; Barl, L.; Gässler, W.; Kulas, M.; Rabien, Sebastian

    2012-09-01

    The Advanced Rayleigh Guided ground layer Adaptive optic System, ARGOS, equips the Large Binocular Telescope (LBT) with a constellation of six rayleigh laser guide stars. By correcting atmospheric turbulence near the ground, the system is designed to increase the image quality of the multi-object spectrograph LUCIFER approximately by a factor of 3 over a field of 4 arc minute diameter. The control software has the critical task of orchestrating several devices, instruments, and high level services, including the already existing adaptive optic system and the telescope control software. All these components are widely distributed over the telescope, adding more complexity to the system design. The approach used by the ARGOS engineers is to write loosely coupled and distributed services under the control of different ownership systems, providing a uniform mechanism to offer, discover, interact and use these distributed capabilities. The control system counts with several finite state machines, vibration and flexure compensation loops, and safety mechanism, such as interlocks, aircraft, and satellite avoidance systems.

  4. A report on NASA software engineering and Ada training requirements

    Science.gov (United States)

    Legrand, Sue; Freedman, Glenn B.; Svabek, L.

    1987-01-01

    NASA's software engineering and Ada skill base are assessed and information that may result in new models for software engineering, Ada training plans, and curricula are provided. A quantitative assessment which reflects the requirements for software engineering and Ada training across NASA is provided. A recommended implementation plan including a suggested curriculum with associated duration per course and suggested means of delivery is also provided. The distinction between education and training is made. Although it was directed to focus on NASA's need for the latter, the key relationships to software engineering education are also identified. A rationale and strategy for implementing a life cycle education and training program are detailed in support of improved software engineering practices and the transition to Ada.

  5. The Role of Ethnographic Studies in Empirical Software Engineering

    DEFF Research Database (Denmark)

    Sharp, Helen; Dittrich, Yvonne; Souza, Cleidson R. B. de

    2016-01-01

    Ethnography is a qualitative research method used to study people and cultures. It is largely adopted in disciplines outside software engineering, including different areas of computer science. Ethnography can provide an in-depth understanding of the socio-technological realities surrounding ever...... as a useful and usable approach to empirical software engineering research. Throughout the paper, relevant examples of ethnographic studies of software practice are used to illustrate the points being made.......Ethnography is a qualitative research method used to study people and cultures. It is largely adopted in disciplines outside software engineering, including different areas of computer science. Ethnography can provide an in-depth understanding of the socio-technological realities surrounding...... everyday software development practice, i.e., it can help to uncover not only what practitioners do, but also why they do it. Despite its potential, ethnography has not been widely adopted by empirical software engineering researchers, and receives little attention in the related literature. The main goal...

  6. Software Engineering Research/Developer Collaborations in 2005

    Science.gov (United States)

    Pressburger, Tom

    2006-01-01

    In CY 2005, three collaborations between software engineering technology providers and NASA software development personnel deployed three software engineering technologies on NASA development projects (a different technology on each project). The main purposes were to benefit the projects, infuse the technologies if beneficial into NASA, and give feedback to the technology providers to improve the technologies. Each collaboration project produced a final report. Section 2 of this report summarizes each project, drawing from the final reports and communications with the software developers and technology providers. Section 3 indicates paths to further infusion of the technologies into NASA practice. Section 4 summarizes some technology transfer lessons learned. Also included is an acronym list.

  7. Computational intelligence and quantitative software engineering

    CERN Document Server

    Succi, Giancarlo; Sillitti, Alberto

    2016-01-01

    In a down-to-the earth manner, the volume lucidly presents how the fundamental concepts, methodology, and algorithms of Computational Intelligence are efficiently exploited in Software Engineering and opens up a novel and promising avenue of a comprehensive analysis and advanced design of software artifacts. It shows how the paradigm and the best practices of Computational Intelligence can be creatively explored to carry out comprehensive software requirement analysis, support design, testing, and maintenance. Software Engineering is an intensive knowledge-based endeavor of inherent human-centric nature, which profoundly relies on acquiring semiformal knowledge and then processing it to produce a running system. The knowledge spans a wide variety of artifacts, from requirements, captured in the interaction with customers, to design practices, testing, and code management strategies, which rely on the knowledge of the running system. This volume consists of contributions written by widely acknowledged experts ...

  8. Software engineering and automatic continuous verification of scientific software

    Science.gov (United States)

    Piggott, M. D.; Hill, J.; Farrell, P. E.; Kramer, S. C.; Wilson, C. R.; Ham, D.; Gorman, G. J.; Bond, T.

    2011-12-01

    Software engineering of scientific code is challenging for a number of reasons including pressure to publish and a lack of awareness of the pitfalls of software engineering by scientists. The Applied Modelling and Computation Group at Imperial College is a diverse group of researchers that employ best practice software engineering methods whilst developing open source scientific software. Our main code is Fluidity - a multi-purpose computational fluid dynamics (CFD) code that can be used for a wide range of scientific applications from earth-scale mantle convection, through basin-scale ocean dynamics, to laboratory-scale classic CFD problems, and is coupled to a number of other codes including nuclear radiation and solid modelling. Our software development infrastructure consists of a number of free tools that could be employed by any group that develops scientific code and has been developed over a number of years with many lessons learnt. A single code base is developed by over 30 people for which we use bazaar for revision control, making good use of the strong branching and merging capabilities. Using features of Canonical's Launchpad platform, such as code review, blueprints for designing features and bug reporting gives the group, partners and other Fluidity uers an easy-to-use platform to collaborate and allows the induction of new members of the group into an environment where software development forms a central part of their work. The code repositoriy are coupled to an automated test and verification system which performs over 20,000 tests, including unit tests, short regression tests, code verification and large parallel tests. Included in these tests are build tests on HPC systems, including local and UK National HPC services. The testing of code in this manner leads to a continuous verification process; not a discrete event performed once development has ceased. Much of the code verification is done via the "gold standard" of comparisons to analytical

  9. GOOSE Version 1.4: A powerful object-oriented simulation environment for developing reactor models

    International Nuclear Information System (INIS)

    Nypaver, D.J.; March-Leuba, C.; Abdalla, M.A.; Guimaraes, L.

    1992-01-01

    A prototype software package for a fully interactive Generalized Object-Oriented Simulation Environment (GOOSE) is being developed at Oak Ridge National Laboratory. Dynamic models are easily constructed and tested; fully interactive capabilities allow the user to alter model parameters and complexity without recompilation. This environment provides assess to powerful tools such as numerical integration packages, graphical displays, and online help. In GOOSE, portability has been achieved by creating the environment in Objective-C 1 , which is supported by a variety of platforms including UNIX and DOS. GOOSE Version 1.4 introduces new enhancements like the capability of creating ''initial,'' ''dynamic,'' and ''digital'' methods. The object-oriented approach to simulation used in GOOSE combines the concept of modularity with the additional features of allowing precompilation, optimization, testing, and validation of individual modules. Once a library of classes has been defined and compiled, models can be built and modified without recompilation. GOOSE Version 1.4 is primarily command-line driven

  10. Design and implementation of the reconstruction software for the photon multiplicity detector in object oriented programming framework

    International Nuclear Information System (INIS)

    Chattopadhayay, Subhasis; Ghosh, Premomoy; Gupta, R.; Mishra, D.; Phatak, S.C.; Sood, G.

    2002-01-01

    High granularity photon multiplicity detector (PMD) is scheduled to take data in Relativistic Heavy Ion Collision(RHIC) this year. A detailed scheme has been designed and implemented in object oriented programming framework using C++ for the monitoring and reconstruction job of PMD data

  11. RF control at SSCL - an object oriented design approach

    International Nuclear Information System (INIS)

    Dohan, D.A.; Osberg, E.; Biggs, R.; Bossom, J.; Chillara, K.; Richter, R.; Wade, D.

    1994-01-01

    The Superconducting Super Collider (SSC) in Texas, the construction of which was stopped in 1994, would have represented a major challenge in accelerator research and development. This paper addresses the issues encountered in the parallel design and construction of the control systems for the RF equipment for the five accelerators comprising the SSC. An extensive analysis of the components of the RF control systems has been undertaken, based upon the Schlaer-Mellor object-oriented analysis and design (OOA/OOD) methodology. The RF subsystem components such as amplifiers, tubes, power supplies, PID loops, etc. were analyzed to produce OOA information, behavior and process models. Using these models, OOD was iteratively applied to develop a generic RF control system design. This paper describes the results of this analysis and the development of 'bridges' between the analysis objects, and the EPICS-based software and underlying VME-based hardware architectures. The application of this approach to several of the SSCL RF control systems is discussed. ((orig.))

  12. Effective Software Engineering Leadership for Development Programs

    Science.gov (United States)

    Cagle West, Marsha

    2010-01-01

    Software is a critical component of systems ranging from simple consumer appliances to complex health, nuclear, and flight control systems. The development of quality, reliable, and effective software solutions requires the incorporation of effective software engineering processes and leadership. Processes, approaches, and methodologies for…

  13. Incorporating Gaming in Software Engineering Projects: Case of RMU Monopoly

    Directory of Open Access Journals (Sweden)

    Sushil Acharya

    2009-02-01

    Full Text Available A major challenge in engineering education is retaining student interest in the engineering discipline. Active student involvement in engineering projects is one way of retaining student interest. Such involvement can only be realized if project inception comes entirely from the student. This paper presents a software game, RMU Monopoly, developed as a project requirement for a software engineering course and describes the challenges and gains of implementing such a project. The RMU Monopoly was proposed by three junior software engineering students. The game is a multi-platform software program that allows up to eight players and implements the rules of the Monopoly board game. To ensure agility the game was developed using the spiral software development model. The Software Requirements Specification (SRS document was finalized through an iterative procedure. Standard Unified Modeling Language (UML diagrams were used for product design. A Risk Mitigation, Monitoring, and Management Plan (RMMM was developed to ensure proactive risk management. Gantt chart, weekly progress meetings and weekly scrum meetings were used to track project progress. C# and Sub- Version were used in a client-server architecture to develop the software. The project was successful in retaining student interest in the software engineering discipline

  14. Repository-based software engineering program

    Science.gov (United States)

    Wilson, James

    1992-01-01

    The activities performed during September 1992 in support of Tasks 01 and 02 of the Repository-Based Software Engineering Program are outlined. The recommendations and implementation strategy defined at the September 9-10 meeting of the Reuse Acquisition Action Team (RAAT) are attached along with the viewgraphs and reference information presented at the Institute for Defense Analyses brief on legal and patent issues related to software reuse.

  15. An object-oriented framework for medical image registration, fusion, and visualization.

    Science.gov (United States)

    Zhu, Yang-Ming; Cochoff, Steven M

    2006-06-01

    An object-oriented framework for image registration, fusion, and visualization was developed based on the classic model-view-controller paradigm. The framework employs many design patterns to facilitate legacy code reuse, manage software complexity, and enhance the maintainability and portability of the framework. Three sample applications built a-top of this framework are illustrated to show the effectiveness of this framework: the first one is for volume image grouping and re-sampling, the second one is for 2D registration and fusion, and the last one is for visualization of single images as well as registered volume images.

  16. The classification and evaluation of Computer-Aided Software Engineering tools

    OpenAIRE

    Manley, Gary W.

    1990-01-01

    Approved for public release; distribution unlimited. The use of Computer-Aided Software Engineering (CASE) tools has been viewed as a remedy for the software development crisis by achieving improved productivity and system quality via the automation of all or part of the software engineering process. The proliferation and tremendous variety of tools available have stretched the understanding of experienced practitioners and has had a profound impact on the software engineering process itse...

  17. Survey on Projects at DLR Simulation and Software Technology with Focus on Software Engineering and HPC

    OpenAIRE

    Schreiber, Andreas; Basermann, Achim

    2013-01-01

    We introduce the DLR institute “Simulation and Software Technology” (SC) and present current activities regarding software engineering and high performance computing (HPC) in German or international projects. Software engineering at SC focusses on data and knowledge management as well as tools for studies and experiments. We discuss how we apply software configuration management, validation and verification in our projects. Concrete research topics are traceability of (software devel...

  18. A process algebra software engineering environment

    NARCIS (Netherlands)

    Diertens, B.

    2008-01-01

    In previous work we described how the process algebra based language PSF can be used in software engineering, using the ToolBus, a coordination architecture also based on process algebra, as implementation model. In this article we summarize that work and describe the software development process

  19. Software Engineering Technology Infusion Within NASA

    Science.gov (United States)

    Zelkowitz, Marvin V.

    1996-01-01

    Abstract technology transfer is of crucial concern to both government and industry today. In this paper, several software engineering technologies used within NASA are studied, and the mechanisms, schedules, and efforts at transferring these technologies are investigated. The goals of this study are: 1) to understand the difference between technology transfer (the adoption of a new method by large segments of an industry) as an industry-wide phenomenon and the adoption of a new technology by an individual organization (called technology infusion); and 2) to see if software engineering technology transfer differs from other engineering disciplines. While there is great interest today in developing technology transfer models for industry, it is the technology infusion process that actually causes changes in the current state of the practice.

  20. Guide to advanced empirical software engineering

    National Research Council Canada - National Science Library

    Shull, Forrest; Singer, Janice; Sjøberg, Dag I. K

    2008-01-01

    ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Section I Research Methods and Techniques Chapter 1 Software Engineering Data Collection for Field Studies...

  1. Proceedings of the Thirteenth Annual Software Engineering Workshop

    Science.gov (United States)

    1988-01-01

    Topics covered in the workshop included studies and experiments conducted in the Software Engineering Laboratory (SEL), a cooperative effort of NASA Goddard Space Flight Center, the University of Maryland, and Computer Sciences Corporation; software models; software products; and software tools.

  2. Benefits of reverse engineering technologies in software development makerspace

    Directory of Open Access Journals (Sweden)

    Aabidi M.H.

    2017-01-01

    Full Text Available In the recent decades, the amount of data produced by scientific, engineering, and life science applications has increased with several orders of magnitude. In parallel with this development, the applications themselves have become increasingly complex in terms of functionality, structure, and behavior. In the same time, development and production cycles of such applications exhibit a tendency of becoming increasingly shorter, due to factors such as market pressure and rapid evolution of supporting and enabling technologies. As a consequence, an increasing fraction of the cost of creating new applications and manufacturing processes shifts from the creation of new artifacts to the adaption of existing ones. A key component of this activity is the understanding of the design, operation, and behavior of existing manufactured artifacts, such as software code bases, hardware systems, and mechanical assemblies. For instance, in the software industry, it is estimated that maintenance costs exceed 80% of the total costs of a software product's lifecycle, and software understanding accounts for as much as half of these maintenance costs. To facilitate the software development process, it would be ideal to have tools that automatically generate or help to generate UML (Unified Modeling Language models from source code. Reverse engineering the software architecture from source code provides a valuable service to software practitioners. Case tools implementing MDA and reverse-engineering constitute an important opportunity of software development engineers. So MDA and reverse engineering is an important key witch make makerspace more productive and more efficient.

  3. Socio-Cultural Challenges in Global Software Engineering Education

    Science.gov (United States)

    Hoda, Rashina; Babar, Muhammad Ali; Shastri, Yogeshwar; Yaqoob, Humaa

    2017-01-01

    Global software engineering education (GSEE) is aimed at providing software engineering (SE) students with knowledge, skills, and understanding of working in globally distributed arrangements so they can be prepared for the global SE (GSE) paradigm. It is important to understand the challenges involved in GSEE for improving the quality and…

  4. Case Study Research in Software Engineering Guidelines and Examples

    CERN Document Server

    Runeson, Per; Rainer, Austen; Regnell, Bjorn

    2012-01-01

    Based on their own experiences of in-depth case studies of software projects in international corporations, in this book the authors present detailed practical guidelines on the preparation, conduct, design and reporting of case studies of software engineering.  This is the first software engineering specific book on the case study research method.

  5. Ten recommendations for software engineering in research.

    Science.gov (United States)

    Hastings, Janna; Haug, Kenneth; Steinbeck, Christoph

    2014-01-01

    Research in the context of data-driven science requires a backbone of well-written software, but scientific researchers are typically not trained at length in software engineering, the principles for creating better software products. To address this gap, in particular for young researchers new to programming, we give ten recommendations to ensure the usability, sustainability and practicality of research software.

  6. Software Service Engineering : Tenets and Challenges

    NARCIS (Netherlands)

    Heuvel, Willem-Jan van den; Zimmermann, Olaf; Leymann, Frank; Lago, Patricia; Schieferdecker, Ina; Zdun, Uwe; Avgeriou, Paris

    2009-01-01

    Service-Oriented Architecture (SOA) constitutes a modern, standards-based and technology-independent paradigm and architectural style for distributed enterprise computing. The SOA style promotes the publishing, discovery, and binding of loosely-coupled, network-accessible software services. With SOA

  7. Software-Engineering Process Simulation (SEPS) model

    Science.gov (United States)

    Lin, C. Y.; Abdel-Hamid, T.; Sherif, J. S.

    1992-01-01

    The Software Engineering Process Simulation (SEPS) model is described which was developed at JPL. SEPS is a dynamic simulation model of the software project development process. It uses the feedback principles of system dynamics to simulate the dynamic interactions among various software life cycle development activities and management decision making processes. The model is designed to be a planning tool to examine tradeoffs of cost, schedule, and functionality, and to test the implications of different managerial policies on a project's outcome. Furthermore, SEPS will enable software managers to gain a better understanding of the dynamics of software project development and perform postmodern assessments.

  8. Object-Oriented Plan Representation for the OMWG C2 Object Schema

    National Research Council Canada - National Science Library

    Reeves, Robert

    1997-01-01

    .... Chapter II discusses the theory and practice of modern Object Oriented modeling. The structure and conventions of object programming are covered as well as a method for information system abstraction...

  9. Real-time object-oriented programming: studies and proposals

    International Nuclear Information System (INIS)

    Fouquier, Gilles

    1996-01-01

    This thesis contributes to the introduction of real-time features in object-oriented programming. Object-oriented programming favours modularity and reusability. Therefore, its application to real-time introduces many theoretical and conceptual problems. To deal with these problems, a new real-time object-oriented programming model is presented. This model is based on the active object model which allows concurrence and maintains the encapsulation property. The real-time aspect is treated by replacing the concept of task by the concept of method processing and by associating a real-time constraint to each message (priority or deadline). The set of all the running methods is scheduled. This model, called ATOME, contains several sub-models to deal with the usual concurrence control integrating their priority and deadline processing. The classical HPF and EDF scheduling avoid priority or deadline inversion. This model and its variants are new proposals to program real-time applications in the object-oriented way, therefore easing reusability and code writing. The feasibility of this approach is demonstrated by extending and existing active object-based language to real-time, in using the rules defined in the ATOME model. (author) [fr

  10. Postural and Object-Oriented Experiences Advance Early Reaching, Object Exploration, and Means-End Behavior

    Science.gov (United States)

    Lobo, Michele A.; Galloway, James C.

    2008-01-01

    The effects of 3 weeks of social (control), postural, or object-oriented experiences on 9- to 21-week-old infants' (N = 42) reaching, exploration, and means-end behaviors were assessed. Coders recorded object contacts, mouthing, fingering, attention, and affect from video. Postural and object-oriented experiences advanced reaching, haptic…

  11. Proceedings of the Eighteenth Annual Software Engineering Workshop

    Science.gov (United States)

    1993-01-01

    The workshop provided a forum for software practitioners from around the world to exchange information on the measurement, use, and evaluation of software methods, models, and tools. This year, approximately 450 people attended the workshop, which consisted of six sessions on the following topics: the Software Engineering Laboratory, measurement, technology assessment, advanced concepts, process, and software engineering issues in NASA. Three presentations were given in each of the topic areas. The content of those presentations and the research papers detailing the work reported are included in these proceedings. The workshop concluded with a tutorial session on how to start an Experience Factory.

  12. An object-oriented multi-threaded software beamformation toolbox

    DEFF Research Database (Denmark)

    Hansen, Jens Munk; Hemmsen, Martin Christian; Jensen, Jørgen Arendt

    2011-01-01

    Focusing and apodization are an essential part of signal processing in ultrasound imaging. Although the fun- damental principles are simple, the dramatic increase in computational power of CPUs, GPUs, and FPGAs motivates the development of software based beamformers, which further improves image...... new beam formation strategies. It is a general 3D implementation capable of handling a multitude of focusing methods, interpolation schemes, and parametric and dynamic apodization. Despite being exible, it is capable of exploiting parallelization on a single computer, on a cluster, or on both....... On a single computer, it mimics the parallization in a scanner containing multiple beam formers. The focusing is determined using the positions of the transducer elements, presence of virtual sources, and the focus points. For interpolation, a number of interpolation schemes can be chosen, e.g. linear, polyno...

  13. Implementing Large Projects in Software Engineering Courses

    Science.gov (United States)

    Coppit, David

    2006-01-01

    In software engineering education, large projects are widely recognized as a useful way of exposing students to the real-world difficulties of team software development. But large projects are difficult to put into practice. First, educators rarely have additional time to manage software projects. Second, classrooms have inherent limitations that…

  14. Teaching object concepts for XML-based representations.

    Energy Technology Data Exchange (ETDEWEB)

    Kelsey, R. L. (Robert L.)

    2002-01-01

    Students learned about object-oriented design concepts and knowledge representation through the use of a set of toy blocks. The blocks represented a limited and focused domain of knowledge and one that was physical and tangible. The blocks helped the students to better visualize, communicate, and understand the domain of knowledge as well as how to perform object decomposition. The blocks were further abstracted to an engineering design kit for water park design. This helped the students to work on techniques for abstraction and conceptualization. It also led the project from tangible exercises into software and programming exercises. Students employed XML to create object-based knowledge representations and Java to use the represented knowledge. The students developed and implemented software allowing a lay user to design and create their own water slide and then to take a simulated ride on their slide.

  15. Software Engineering Principles for Courseware Development.

    Science.gov (United States)

    Magel, Kenneth

    1980-01-01

    Courseware (computer based curriculum materials) development should follow the lessons learned by software engineers. The most important of 28 principles of software development presented here include a stress on human readability, the importance of early planning and analysis, the need for independent evaluation, and the need to be flexible.…

  16. Simple statistical methods for software engineering data and patterns

    CERN Document Server

    Pandian, C Ravindranath

    2015-01-01

    Although there are countless books on statistics, few are dedicated to the application of statistical methods to software engineering. Simple Statistical Methods for Software Engineering: Data and Patterns fills that void. Instead of delving into overly complex statistics, the book details simpler solutions that are just as effective and connect with the intuition of problem solvers.Sharing valuable insights into software engineering problems and solutions, the book not only explains the required statistical methods, but also provides many examples, review questions, and case studies that prov

  17. An Ada-based preprocessor language for concurrent object oriented programming

    International Nuclear Information System (INIS)

    Almulla, M.; Al-Haddad, M.; Loeper, H.

    2001-01-01

    In this paper, implementation issues of concurrent-objected programming using Ada 95 are addressed. Ada is not a pure object-oriented language; in order to make it so, a uniform template for structuring object classes is proposed. The template constitutes a basis for an Ada-based preprocessor language that handles concurrent object-oriented programming. The preprocessor accepts Ada-like object-oriented programs (object classes, subclasses and main program) as input and produces Ada 95 concurrent object-oriented program units as output. The preprocessor language has the advantage of adding a new component to the class specification called the protocol, which specifies the order for requesting methods f an object. The preprocessor also touches on the extensibility of object classes issue. It supports defining class hierarchies by inheritance and aggregation. In addition, the preprocessor language supports the re-use of Ada packages, which are not necessarily written according to the object-oriented approach. The paper also investigates the definition of circular dependent object classes and proposes a solution for introducing a collection of classes. (author)

  18. Data collection procedures for the Software Engineering Laboratory (SEL) database

    Science.gov (United States)

    Heller, Gerard; Valett, Jon; Wild, Mary

    1992-01-01

    This document is a guidebook to collecting software engineering data on software development and maintenance efforts, as practiced in the Software Engineering Laboratory (SEL). It supersedes the document entitled Data Collection Procedures for the Rehosted SEL Database, number SEL-87-008 in the SEL series, which was published in October 1987. It presents procedures to be followed on software development and maintenance projects in the Flight Dynamics Division (FDD) of Goddard Space Flight Center (GSFC) for collecting data in support of SEL software engineering research activities. These procedures include detailed instructions for the completion and submission of SEL data collection forms.

  19. A layered semantics for a parallel object-oriented language

    NARCIS (Netherlands)

    P.H.M. America (Pierre); J.J.M.M. Rutten (Jan)

    1990-01-01

    textabstractWe develop a denotational semantics for POOL, a parallel object-oriented programming language. The main contribution of this semantics is an accurate mathematical model of the most important concept in object-oriented programming: the object. This is achieved by structuring the semantics

  20. A Comparative Analysis of Structured and Object-Oriented ...

    African Journals Online (AJOL)

    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, we distinguish the features of structured programs from that of object oriented programs. Structured programming is a ...

  1. High Performance Object-Oriented Scientific Programming in Fortran 90

    Science.gov (United States)

    Norton, Charles D.; Decyk, Viktor K.; Szymanski, Boleslaw K.

    1997-01-01

    We illustrate how Fortran 90 supports object-oriented concepts by example of plasma particle computations on the IBM SP. Our experience shows that Fortran 90 and object-oriented methodology give high performance while providing a bridge from Fortran 77 legacy codes to modern programming principles. All of our object-oriented Fortran 90 codes execute more quickly thatn the equeivalent C++ versions, yet the abstraction modelling capabilities used for scentific programming are comparably powereful.

  2. The design of a real-time software system for the distributed control of power station plant

    International Nuclear Information System (INIS)

    Maples, G.C.

    1980-01-01

    As the application of computers to the control of generating plants widens, the problems of resourcing several individual projects over their life cycle can become formidable. This paper indicates the factors relevant to containing the resource requirements associated with software, and outlines the benefits of adopting a standard machine-independent software system which enables engineers rather than computer specialists to develop programs for specific projects. The design objectives which have led to the current development within C.E.G.B. of CUTLASS (Computer Users Technical Languages and Applications Software System) are then considered. CUTLASS is intended to be a standard software system applicable to the majority of future on-line computing projects in the area of generation and is appropriate to stand alone schemes or distributed schemes having a host/target configuration. The CUTLASS system software provides the necessary environment in which to develop, test, and run the applications software, the latter being created by the user by means of a set of engineer-orientated languages. The paper describes the various facilities within CUTALSS, i.e. those considered essential to meet the requirements of future process control applications. Concentrating on the system software relating to the executive functions, and the organisation of global data and communications within distributed systems. The salient features of the engineer-orientated language sets are also discussed. (auth)

  3. Software packages for food engineering needs

    OpenAIRE

    Abakarov, Alik

    2011-01-01

    The graphic user interface (GUI) software packages “ANNEKs” and “OPT-PROx” are developed to meet food engineering needs. “OPT-RROx” (OPTimal PROfile) is software developed to carry out thermal food processing optimization based on the variable retort temperature processing and global optimization technique. “ANNEKs” (Artificial Neural Network Enzyme Kinetics) is software designed for determining the kinetics of enzyme hydrolysis of protein at different initial reaction parameters based on the...

  4. EPRI engineering workstation software - Discussion and demonstration

    International Nuclear Information System (INIS)

    Stewart, R.P.; Peterson, C.E.; Agee, L.J.

    1992-01-01

    Computing technology is undergoing significant changes with respect to engineering applications in the electric utility industry. These changes result mainly from the introduction of several UNIX workstations that provide mainframe calculational capability at much lower costs. The workstations are being coupled with microcomputers through local area networks to provide engineering groups with a powerful and versatile analysis capability. PEGASYS, the Professional Engineering Graphic Analysis System, is a software package for use with engineering analysis codes executing in a workstation environment. PEGASYS has a menu driven, user-friendly interface to provide pre-execution support for preparing unput and graphical packages for post-execution analysis and on-line monitoring capability for engineering codes. The initial application of this software is for use with RETRAN-02 operating on an IBM RS/6000 workstation using X-Windows/UNIX and a personal computer under DOS

  5. Object-oriented Programming Laws for Annotated Java Programs

    Directory of Open Access Journals (Sweden)

    Gabriel Falconieri Freitas

    2010-03-01

    Full Text Available Object-oriented programming laws have been proposed in the context of languages that are not combined with a behavioral interface specification language (BISL. The strong dependence between source-code and interface specifications may cause a number of difficulties when transforming programs. In this paper we introduce a set of programming laws for object-oriented languages like Java combined with the Java Modeling Language (JML. The set of laws deals with object-oriented features taking into account their specifications. Some laws deal only with features of the specification language. These laws constitute a set of small transformations for the development of more elaborate ones like refactorings.

  6. Software process improvement in the NASA software engineering laboratory

    Science.gov (United States)

    Mcgarry, Frank; Pajerski, Rose; Page, Gerald; Waligora, Sharon; Basili, Victor; Zelkowitz, Marvin

    1994-01-01

    The Software Engineering Laboratory (SEL) was established in 1976 for the purpose of studying and measuring software processes with the intent of identifying improvements that could be applied to the production of ground support software within the Flight Dynamics Division (FDD) at the National Aeronautics and Space Administration (NASA)/Goddard Space Flight Center (GSFC). The SEL has three member organizations: NASA/GSFC, the University of Maryland, and Computer Sciences Corporation (CSC). The concept of process improvement within the SEL focuses on the continual understanding of both process and product as well as goal-driven experimentation and analysis of process change within a production environment.

  7. Software engineering for the EBR-II data acquisition system conversion

    International Nuclear Information System (INIS)

    Schorzman, W.

    1988-01-01

    The purpose of this paper is to outline how EBR-II engineering approached the data acquisition system (DAS) software conversion project with the restraints of operational transparency and six weeks for final implementation and testing. Software engineering is a relatively new discipline that provides a structured philosopy for software conversion. The software life cycle is structured into six basic steps: 1) initiation, 2) requirements definition, 3) design, 4) programming, 5) testing, and 6) operations. These steps are loosely defined and can be altered to fit specific software applications. DAS software is encompassed from three sources: 1) custom software, 2) system software, and 3) in-house application software. A data flow structure is used to describe the DAS software. The categories are: 1) software used to bring signals into the central processer, 2) software that transforms the analog data to engineering units and then logs the data in the data store, and 3) software used to transport and display the data. The focus of this paper is to describe how the conversion team used a structured engineering approach and utilized the resources available to produce a quality system on time. Although successful, the conversion process provided some pit falls and stumbling blocks. Working through these obstacles enhanced our understanding and surfaced in the form of LESSONS LEARNED, which are gracefully shared in this paper

  8. Teaching Adaptability of Object-Oriented Programming Language Curriculum

    Science.gov (United States)

    Zhu, Xiao-dong

    2012-01-01

    The evolution of object-oriented programming languages includes update of their own versions, update of development environments, and reform of new languages upon old languages. In this paper, the evolution analysis of object-oriented programming languages is presented in term of the characters and development. The notion of adaptive teaching upon…

  9. Applying AN Object-Oriented Database Model to a Scientific Database Problem: Managing Experimental Data at Cebaf.

    Science.gov (United States)

    Ehlmann, Bryon K.

    Current scientific experiments are often characterized by massive amounts of very complex data and the need for complex data analysis software. Object-oriented database (OODB) systems have the potential of improving the description of the structure and semantics of this data and of integrating the analysis software with the data. This dissertation results from research to enhance OODB functionality and methodology to support scientific databases (SDBs) and, more specifically, to support a nuclear physics experiments database for the Continuous Electron Beam Accelerator Facility (CEBAF). This research to date has identified a number of problems related to the practical application of OODB technology to the conceptual design of the CEBAF experiments database and other SDBs: the lack of a generally accepted OODB design methodology, the lack of a standard OODB model, the lack of a clear conceptual level in existing OODB models, and the limited support in existing OODB systems for many common object relationships inherent in SDBs. To address these problems, the dissertation describes an Object-Relationship Diagram (ORD) and an Object-oriented Database Definition Language (ODDL) that provide tools that allow SDB design and development to proceed systematically and independently of existing OODB systems. These tools define multi-level, conceptual data models for SDB design, which incorporate a simple notation for describing common types of relationships that occur in SDBs. ODDL allows these relationships and other desirable SDB capabilities to be supported by an extended OODB system. A conceptual model of the CEBAF experiments database is presented in terms of ORDs and the ODDL to demonstrate their functionality and use and provide a foundation for future development of experimental nuclear physics software using an OODB approach.

  10. The Dark Side of Software Engineering Evil on Computing Projects

    CERN Document Server

    Rost, Johann

    2010-01-01

    Betrayal! Corruption! Software engineering? Industry experts Johann Rost and Robert L. Glass explore the seamy underbelly of software engineering in this timely report on and analysis of the prevalance of subversion, lying, hacking, and espionage on every level of software project management. Based on the authors' original research and augmented by frank discussion and insights from other well-respected figures, The Dark Side of Software Engineering goes where other management studies fear to tread -- a corporate environment where schedules are fabricated, trust is betrayed, millions of dollar

  11. What information do software engineering practitioners need?

    OpenAIRE

    Punter, T.

    2003-01-01

    This position paper addresses an important question for the discipline of Empirical or Evidence-based Software Engineering (SE), namely ´what information do software engineering practitioners need from the empirical studies´. The paper contributes to answering this question by presenting survey results on two sub-questions: 1) what are the topics that interest practitioners? and 2) what type of information is needed by practitioners? Answering the first question results in a set of SE topics,...

  12. Diversification and Challenges of Software Engineering Standards

    Science.gov (United States)

    Poon, Peter T.

    1994-01-01

    The author poses certain questions in this paper: 'In the future, should there be just one software engineering standards set? If so, how can we work towards that goal? What are the challenges of internationalizing standards?' Based on the author's personal view, the statement of his position is as follows: 'There should NOT be just one set of software engineering standards in the future. At the same time, there should NOT be the proliferation of standards, and the number of sets of standards should be kept to a minimum.It is important to understand the diversification of the areas which are spanned by the software engineering standards.' The author goes on to describe the diversification of processes, the diversification in the national and international character of standards organizations, the diversification of the professional organizations producing standards, the diversification of the types of businesses and industries, and the challenges of internationalizing standards.

  13. Apricot - An Object-Oriented Modeling Language for Hybrid Systems

    OpenAIRE

    Fang, Huixing; Zhu, Huibiao; Shi, Jianqi

    2013-01-01

    We propose Apricot as an object-oriented language for modeling hybrid systems. The language combines the features in domain specific language and object-oriented language, that fills the gap between design and implementation, as a result, we put forward the modeling language with simple and distinct syntax, structure and semantics. In addition, we introduce the concept of design by convention into Apricot.As the characteristic of object-oriented and the component architecture in Apricot, we c...

  14. Emerging methods, technologies and process management in software engineering

    CERN Document Server

    Ferrucci, Filomena; Tortora, Genny; Tucci, Maurizio

    2007-01-01

    A high-level introduction to new technologies andmethods in the field of software engineering Recent years have witnessed rapid evolution of software engineering methodologies, and until now, there has been no single-source introduction to emerging technologies in the field.

  15. A company perspective on software engineering standards

    International Nuclear Information System (INIS)

    Steer, R.W.

    1988-01-01

    Software engineering standards, as implemented via formal policies and procedures, have historically been used in the nuclear industry, especially for codes used in the design, analysis, or operation of the plant. Over the past two decades, a significant amount of software has been put in place to perform these functions, while the overall software life cycle has become better understood, more and different computer systems have become available, and industry has become increasingly aware of the advantages gained when these procedures are used in the development and maintenance of this large amount of software. The use of standards and attendant procedures is thus becoming increasingly important as more computerization is taking place, both in the design and the operation of the plant. It is difficult to categorize software used in activities related to nuclear plants in a simple manner. That difficulty is due to the diversity of those uses, with attendant diversity in the methods and procedures used in the production of the software, compounded by a changing business climate in which significant software engineering expertise is being applied to a broader range of applications on a variety of computing systems. The use of standards in the various phases of the production of software thus becomes more difficult as well. This paper discusses the various types of software and the importance of software standards in the development of each of them

  16. CRITICAL SUCCESS FACTORS IN THE SOFTWARE INDUSTRY AND THEIR RELATION WITH STRATEGIC BUSINESS ORIENTATION: AN EMPIRICAL-EXPLORATORY STUDY

    Directory of Open Access Journals (Sweden)

    Manuel Rodenes Adam

    2007-05-01

    Full Text Available This article presents the results of an empirical-exploratory study applied to companies of the Software Industry (IndSw sector. One of the objectives pursued was to know the Critical Success Factors (CSF of the SWInd and their relation with the business strategic orientation. The CSF identified and analyzed were: Government Support, Human Capital, Marketing, Quality and Innovation. The research results reveal that it is possible to identify the existence of at least two main groups of strategic orientation (cost and differentiation within this sector. The analysis of the relation between business strategic orientation and the CSF emphasizes the following CSF: Human Capital, Quality and Innovation, the remaining factors present a little significant relation. The empirical study was made through multivariate analysis techniques. The analysis of results is based on data collected through the application of a web survey (Internet to Mexican software companies. The survey was applied in July 2005.

  17. Analysis, design, and implementation of PHENIX on-line computing systems software using Shlaer-Mellor object-oriented analysis and recursive design

    International Nuclear Information System (INIS)

    Kozlowski, T.; Desmond, E.; Haggerty, J.

    1997-01-01

    An early prototype of the core software for on-line computing systems for the PHENIX detector at RHIC has been developed using the Shlaer-Mellor OOA/RD method, including the automatic generation of C++ source code using a commercial translation engine and open-quotes architectureclose quotes

  18. Multimedia Software Laboratory | College of Engineering & Applied Science

    Science.gov (United States)

    Support Milwaukee Engineering Research Conference 2018 Poster Competition Business Corporate Partners Engineer Research Collaborations Corporate Services Product Realization Business Tour Give Entrepreneurship -oriented methods, and performance analysis. Research Message from the Associate Dean Milwaukee Engineerâ

  19. Introduction to the workshop on technology transfer in software engineering

    NARCIS (Netherlands)

    Harrison, Warren; Wieringa, Roelf J.

    The goal of the Workshop on Technology Transfer in Software Engineering is to increase our understanding of technology transfer in software engineering, and to learn from successful case studies. We wanted to bring researchers and practitioners together to create an inventory of problems in software

  20. Evaluating a Service-Oriented Architecture

    Science.gov (United States)

    2007-09-01

    See the description on page 13. SaaS Software as a service ( SaaS ) is a software delivery model where customers don’t own a copy of the application... serviceability REST Representational State Transfer RIA rich internet application RPC remote procedure call SaaS software as a service SAML Security...Evaluating a Service -Oriented Architecture Phil Bianco, Software Engineering Institute Rick Kotermanski, Summa Technologies Paulo Merson

  1. Domain Engineering, A Software Engineering Discipline in Need of Research

    DEFF Research Database (Denmark)

    Bjørner, Dines

    2000-01-01

    . The aim of this paper is to advocate: that researchers study these development method components, and that universities focus their education on basing well-nigh any course on the use of formal techniques: Specification and verification, and that software engineers take heed: Start applying formal......, and these again seem more stable than software designs. Thus, almost like the universal laws of physics, it pays off to first develop theories of domains. But domain engineering, as in fact also requirements engineering, really is in need of thoroughly researched development principles, techniques and tools...... techniques. A brief example of describing stake-holder perspectives will be given - on the background of which we then proceed to survey the notions of domain intrinsics, domain support technologies, domain management & organisation, domain rules & regulations, domain human behaviour, etc. We show elsewhere...

  2. Fast and accurate edge orientation processing during object manipulation

    Science.gov (United States)

    Flanagan, J Randall; Johansson, Roland S

    2018-01-01

    Quickly and accurately extracting information about a touched object’s orientation is a critical aspect of dexterous object manipulation. However, the speed and acuity of tactile edge orientation processing with respect to the fingertips as reported in previous perceptual studies appear inadequate in these respects. Here we directly establish the tactile system’s capacity to process edge-orientation information during dexterous manipulation. Participants extracted tactile information about edge orientation very quickly, using it within 200 ms of first touching the object. Participants were also strikingly accurate. With edges spanning the entire fingertip, edge-orientation resolution was better than 3° in our object manipulation task, which is several times better than reported in previous perceptual studies. Performance remained impressive even with edges as short as 2 mm, consistent with our ability to precisely manipulate very small objects. Taken together, our results radically redefine the spatial processing capacity of the tactile system. PMID:29611804

  3. Runtime QoS control and revenue optimization within service oriented architecture

    NARCIS (Netherlands)

    Zivkovic, Miroslav

    2014-01-01

    The paradigms of service-oriented computing (SOC) and its underlying service-oriented architecture (SOA) have changed the way software applications are designed, developed, deployed, and consumed. Software engineers can therefore realize applications by service composition, using services offered by

  4. IEEE [Institute of Electrical and Electronics Engineers] standards and nuclear software quality engineering

    International Nuclear Information System (INIS)

    Daughtrey, T.

    1988-01-01

    Significant new nuclear-specific software standards have recently been adopted under the sponsorship of the American Nuclear Society and the American Society of Mechanical Engineers. The interest of the US Nuclear Regulatory Commission has also been expressed through their issuance of NUREG/CR-4640. These efforts all indicate a growing awareness of the need for thorough, referenceable expressions of the way to build in and evaluate quality in nuclear software. A broader professional perspective can be seen in the growing number of software engineering standards sponsored by the Institute of Electrical and Electronics Engineers (IEEE) Computer Society. This family of standards represents a systematic effort to capture professional consensus on quality practices throughout the software development life cycle. The only omission-the implementation phase-is treated by accepted American National Standards Institute or de facto standards for programming languages

  5. Professional Issues In Software Engineering

    CERN Document Server

    Bott, Frank; Eaton, Jack; Rowland, Diane

    2000-01-01

    An comprehensive text covering all the issues that software engineers now have to take into account apart from the technical side of things. Includes information on the legal, professional and commercial context in which they work.

  6. Parallel multiphysics algorithms and software for computational nuclear engineering

    International Nuclear Information System (INIS)

    Gaston, D; Hansen, G; Kadioglu, S; Knoll, D A; Newman, C; Park, H; Permann, C; Taitano, W

    2009-01-01

    There is a growing trend in nuclear reactor simulation to consider multiphysics problems. This can be seen in reactor analysis where analysts are interested in coupled flow, heat transfer and neutronics, and in fuel performance simulation where analysts are interested in thermomechanics with contact coupled to species transport and chemistry. These more ambitious simulations usually motivate some level of parallel computing. Many of the coupling efforts to date utilize simple code coupling or first-order operator splitting, often referred to as loose coupling. While these approaches can produce answers, they usually leave questions of accuracy and stability unanswered. Additionally, the different physics often reside on separate grids which are coupled via simple interpolation, again leaving open questions of stability and accuracy. Utilizing state of the art mathematics and software development techniques we are deploying next generation tools for nuclear engineering applications. The Jacobian-free Newton-Krylov (JFNK) method combined with physics-based preconditioning provide the underlying mathematical structure for our tools. JFNK is understood to be a modern multiphysics algorithm, but we are also utilizing its unique properties as a scale bridging algorithm. To facilitate rapid development of multiphysics applications we have developed the Multiphysics Object-Oriented Simulation Environment (MOOSE). Examples from two MOOSE-based applications: PRONGHORN, our multiphysics gas cooled reactor simulation tool and BISON, our multiphysics, multiscale fuel performance simulation tool will be presented.

  7. Collected software engineering papers, volume 11

    Science.gov (United States)

    1993-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from November 1992 through November 1993. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. This is the 11th such volume of technical papers produced by the SEL. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography at the end of this document.

  8. Collected software engineering papers, volume 12

    Science.gov (United States)

    1994-01-01

    This document is a collection of selected technical papers produced by participants in the Software Engineering Laboratory (SEL) from November 1993 through October 1994. The purpose of the document is to make available, in one reference, some results of SEL research that originally appeared in a number of different forums. This is the 12th such volume of technical papers produced by the SEL. Although these papers cover several topics related to software engineering, they do not encompass the entire scope of SEL activities and interests. Additional information about the SEL and its research efforts may be obtained from the sources listed in the bibliography at the end of this document.

  9. An Ontology for Software Engineering Education

    Science.gov (United States)

    Ling, Thong Chee; Jusoh, Yusmadi Yah; Adbullah, Rusli; Alwi, Nor Hayati

    2013-01-01

    Software agents communicate using ontology. It is important to build an ontology for specific domain such as Software Engineering Education. Building an ontology from scratch is not only hard, but also incur much time and cost. This study aims to propose an ontology through adaptation of the existing ontology which is originally built based on a…

  10. Proceedings of the Ninth Annual Software Engineering Workshop

    Science.gov (United States)

    1984-01-01

    Experiences in measurement, utilization, and evaluation of software methodologies, models, and tools are discussed. NASA's involvement in ever larger and more complex systems, like the space station project, provides a motive for the support of software engineering research and the exchange of ideas in such forums. The topics of current SEL research are software error studies, experiments with software development, and software tools.

  11. ETICS: the international software engineering service for the grid

    Energy Technology Data Exchange (ETDEWEB)

    Meglio, A D; Begin, M-E [CERN (Switzerland); Couvares, P [University of Wisconsin-Madison (United States); Ronchieri, E [INFN CNAF (Italy); Takacs, E [4D SOFT Ltd (Hungary)], E-mail: alberto.di.meglio@cern.ch

    2008-07-15

    The ETICS system is a distributed software configuration, build and test system designed to fulfil the needs of improving the quality, reliability and interoperability of distributed software in general and grid software in particular. The ETICS project is a consortium of five partners (CERN, INFN, Engineering Ingegneria Informatica, 4D Soft and the University of Wisconsin-Madison). The ETICS service consists of a build and test job execution system based on the Metronome software and an integrated set of web services and software engineering tools to design, maintain and control build and test scenarios. The ETICS system allows taking into account complex dependencies among applications and middleware components and provides a rich environment to perform static and dynamic analysis of the software and execute deployment, system and interoperability tests. This paper gives an overview of the system architecture and functionality set and then describes how the EC-funded EGEE, DILIGENT and OMII-Europe projects are using the software engineering services to build, validate and distribute their software. Finally a number of significant use and test cases will be described to show how ETICS can be used in particular to perform interoperability tests of grid middleware using the grid itself.

  12. ETICS: the international software engineering service for the grid

    Science.gov (United States)

    Meglio, A. D.; Bégin, M.-E.; Couvares, P.; Ronchieri, E.; Takacs, E.

    2008-07-01

    The ETICS system is a distributed software configuration, build and test system designed to fulfil the needs of improving the quality, reliability and interoperability of distributed software in general and grid software in particular. The ETICS project is a consortium of five partners (CERN, INFN, Engineering Ingegneria Informatica, 4D Soft and the University of Wisconsin-Madison). The ETICS service consists of a build and test job execution system based on the Metronome software and an integrated set of web services and software engineering tools to design, maintain and control build and test scenarios. The ETICS system allows taking into account complex dependencies among applications and middleware components and provides a rich environment to perform static and dynamic analysis of the software and execute deployment, system and interoperability tests. This paper gives an overview of the system architecture and functionality set and then describes how the EC-funded EGEE, DILIGENT and OMII-Europe projects are using the software engineering services to build, validate and distribute their software. Finally a number of significant use and test cases will be described to show how ETICS can be used in particular to perform interoperability tests of grid middleware using the grid itself.

  13. ETICS: the international software engineering service for the grid

    International Nuclear Information System (INIS)

    Meglio, A D; Begin, M-E; Couvares, P; Ronchieri, E; Takacs, E

    2008-01-01

    The ETICS system is a distributed software configuration, build and test system designed to fulfil the needs of improving the quality, reliability and interoperability of distributed software in general and grid software in particular. The ETICS project is a consortium of five partners (CERN, INFN, Engineering Ingegneria Informatica, 4D Soft and the University of Wisconsin-Madison). The ETICS service consists of a build and test job execution system based on the Metronome software and an integrated set of web services and software engineering tools to design, maintain and control build and test scenarios. The ETICS system allows taking into account complex dependencies among applications and middleware components and provides a rich environment to perform static and dynamic analysis of the software and execute deployment, system and interoperability tests. This paper gives an overview of the system architecture and functionality set and then describes how the EC-funded EGEE, DILIGENT and OMII-Europe projects are using the software engineering services to build, validate and distribute their software. Finally a number of significant use and test cases will be described to show how ETICS can be used in particular to perform interoperability tests of grid middleware using the grid itself

  14. Concept of object-oriented intelligent support for nuclear reactor designing

    International Nuclear Information System (INIS)

    Yoshikawa, H.; Gofuku, A.

    1991-01-01

    A concept of object-oriented intelligent CAD/CAE environment is proposed for the conceptual designing of advanced nuclear reactor system. It is composed of (i) object-oriented frame-structure database which represents the hierarchical relationship of the composite elements of reactor core and the physical properties, and (ii) object-oriented modularization of the elementary calculation processes, which are needed for reactor core design analysis. As an example practise, an object-oriented frame structure is constructed for representing a 3D configuration of a special fuel element of a space reactor design, by using a general-purpose expert system shell ESHELL/X. (author)

  15. Teaching computer interfacing with virtual instruments in an object-oriented language.

    Science.gov (United States)

    Gulotta, M

    1995-01-01

    LabVIEW is a graphic object-oriented computer language developed to facilitate hardware/software communication. LabVIEW is a complete computer language that can be used like Basic, FORTRAN, or C. In LabVIEW one creates virtual instruments that aesthetically look like real instruments but are controlled by sophisticated computer programs. There are several levels of data acquisition VIs that make it easy to control data flow, and many signal processing and analysis algorithms come with the software as premade VIs. In the classroom, the similarity between virtual and real instruments helps students understand how information is passed between the computer and attached instruments. The software may be used in the absence of hardware so that students can work at home as well as in the classroom. This article demonstrates how LabVIEW can be used to control data flow between computers and instruments, points out important features for signal processing and analysis, and shows how virtual instruments may be used in place of physical instrumentation. Applications of LabVIEW to the teaching laboratory are also discussed, and a plausible course outline is given. PMID:8580361

  16. Towards a controlled vocabulary on software engineering education

    Science.gov (United States)

    Pizard, Sebastián; Vallespir, Diego

    2017-11-01

    Software engineering is the discipline that develops all the aspects of the production of software. Although there are guidelines about what topics to include in a software engineering curricula, it is usually unclear which are the best methods to teach them. In any science discipline the construction of a classification schema is a common approach to understand a thematic area. This study examines previous publications in software engineering education to obtain a first controlled vocabulary (a more formal definition of a classification schema) in the field. Publications from 1988 to 2014 were collected and processed using automatic clustering techniques and the outcomes were analysed manually. The result is an initial controlled vocabulary with a taxonomy form with 43 concepts that were identified as the most used in the research publications. We present the classification of the concepts in three facets: 'what to teach', 'how to teach' and 'where to teach' and the evolution of concepts over time.

  17. From Functions to Object-Orientation by Abstraction

    OpenAIRE

    Diertens, Bob

    2012-01-01

    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.

  18. Strong orientational coordinates and orientational order parameters for symmetric objects

    International Nuclear Information System (INIS)

    Haji-Akbari, Amir; Glotzer, Sharon C

    2015-01-01

    Recent advancements in the synthesis of anisotropic macromolecules and nanoparticles have spurred an immense interest in theoretical and computational studies of self-assembly. The cornerstone of such studies is the role of shape in self-assembly and in inducing complex order. The problem of identifying different types of order that can emerge in such systems can, however, be challenging. Here, we revisit the problem of quantifying orientational order in systems of building blocks with non-trivial rotational symmetries. We first propose a systematic way of constructing orientational coordinates for such symmetric building blocks. We call the arising tensorial coordinates strong orientational coordinates (SOCs) as they fully and exclusively specify the orientation of a symmetric object. We then use SOCs to describe and quantify local and global orientational order, and spatiotemporal orientational correlations in systems of symmetric building blocks. The SOCs and the orientational order parameters developed in this work are not only useful in performing and analyzing computer simulations of symmetric molecules or particles, but can also be utilized for the efficient storage of rotational information in long trajectories of evolving many-body systems. (paper)

  19. Noncontact orientation of objects in three-dimensional space using magnetic levitation.

    Science.gov (United States)

    Subramaniam, Anand Bala; Yang, Dian; Yu, Hai-Dong; Nemiroski, Alex; Tricard, Simon; Ellerbee, Audrey K; Soh, Siowling; Whitesides, George M

    2014-09-09

    This paper describes several noncontact methods of orienting objects in 3D space using Magnetic Levitation (MagLev). The methods use two permanent magnets arranged coaxially with like poles facing and a container containing a paramagnetic liquid in which the objects are suspended. Absent external forcing, objects levitating in the device adopt predictable static orientations; the orientation depends on the shape and distribution of mass within the objects. The orientation of objects of uniform density in the MagLev device shows a sharp geometry-dependent transition: an analytical theory rationalizes this transition and predicts the orientation of objects in the MagLev device. Manipulation of the orientation of the levitating objects in space is achieved in two ways: (i) by rotating and/or translating the MagLev device while the objects are suspended in the paramagnetic solution between the magnets; (ii) by moving a small external magnet close to the levitating objects while keeping the device stationary. Unlike mechanical agitation or robotic selection, orienting using MagLev is possible for objects having a range of different physical characteristics (e.g., different shapes, sizes, and mechanical properties from hard polymers to gels and fluids). MagLev thus has the potential to be useful for sorting and positioning components in 3D space, orienting objects for assembly, constructing noncontact devices, and assembling objects composed of soft materials such as hydrogels, elastomers, and jammed granular media.

  20. How does Software Process Improvement Address Global Software Engineering?

    DEFF Research Database (Denmark)

    Kuhrmann, Marco; Diebold, Philipp; Münch, Jürgen

    2016-01-01

    a systematic mapping study on the state-of-the-art in SPI from a general perspective, we observed Global Software Engineering (GSE) becoming a topic of interest in recent years. Therefore, in this paper, we provide a detailed investigation of those papers from the overall systematic mapping study that were......For decades, Software Process Improvement (SPI) programs have been implemented, inter alia, to improve quality and speed of software development. To set up, guide, and carry out SPI projects, and to measure SPI state, impact, and success, a multitude of different SPI approaches and considerable...... experience are available. SPI addresses many aspects ranging from individual developer skills to entire organizations. It comprises for instance the optimization of specific activities in the software lifecycle as well as the creation of organization awareness and project culture. In the course of conducting...