22,867 research outputs found
A framework for developing engineering design ontologies within the aerospace industry
This paper presents a framework for developing engineering design ontologies within the aerospace industry. The aim of this approach is to strengthen the modularity and reuse of engineering design ontologies to support knowledge management initiatives within the aerospace industry. Successful development and effective utilisation of engineering ontologies strongly depends on the method/framework used to develop them. Ensuring modularity in ontology design is essential for engineering design activities due to the complexity of knowledge that is required to be brought together to support the product design decision-making process. The proposed approach adopts best practices from previous ontology development methods, but focuses on encouraging modular architectural ontology design. The framework is comprised of three phases namely: (1) Ontology design and development; (2) Ontology validation and (3) Implementation of ontology structure. A qualitative research methodology is employed which is composed of four phases. The first phase defines the capture of knowledge required for the framework development, followed by the ontology framework development, iterative refinement of engineering ontologies and ontology validation through case studies and experts’ opinion. The ontology-based framework is applied in the combustor and casing aerospace engineering domain. The modular ontologies developed as a result of applying the framework and are used in a case study to restructure and improve the accessibility of information on a product design information-sharing platform. Additionally, domain experts within the aerospace industry validated the strengths, benefits and limitations of the framework. Due to the modular nature of the developed ontologies, they were also employed to support other project initiatives within the case study company such as role-based computing (RBC), IT modernisation activity and knowledge management implementation across the sponsoring organisation. The major benefit of this approach is in the reduction of man-hours required for maintaining engineering design ontologies. Furthermore, this approach strengthens reuse of ontology knowledge and encourages modularity in the design and development of engineering ontologies
Organizing the Technical Debt Landscape
To date, several methods and tools for detecting source code and design anomalies have been developed. While each method focuses on identifying certain classes of source code anomalies that potentially relate to technical debt (TD), the overlaps and gaps among these classes and TD have not been rigorously demonstrated. We propose to construct a seminal technical debt landscape as a way to visualize and organize research on the subjec
Legacy Software Restructuring: Analyzing a Concrete Case
Software re-modularization is an old preoccupation of reverse engineering
research. The advantages of a well structured or modularized system are well
known. Yet after so much time and efforts, the field seems unable to come up
with solutions that make a clear difference in practice. Recently, some
researchers started to question whether some basic assumptions of the field
were not overrated. The main one consists in evaluating the
high-cohesion/low-coupling dogma with metrics of unknown relevance. In this
paper, we study a real structuring case (on the Eclipse platform) to try to
better understand if (some) existing metrics would have helped the software
engineers in the task. Results show that the cohesion and coupling metrics used
in the experiment did not behave as expected and would probably not have helped
the maintainers reach there goal. We also measured another possible
restructuring which is to decrease the number of cyclic dependencies between
modules. Again, the results did not meet expectations
Teaching Software Engineering through Robotics
This paper presents a newly-developed robotics programming course and reports
the initial results of software engineering education in robotics context.
Robotics programming, as a multidisciplinary course, puts equal emphasis on
software engineering and robotics. It teaches students proper software
engineering -- in particular, modularity and documentation -- by having them
implement four core robotics algorithms for an educational robot. To evaluate
the effect of software engineering education in robotics context, we analyze
pre- and post-class survey data and the four assignments our students completed
for the course. The analysis suggests that the students acquired an
understanding of software engineering techniques and principles
Learning from the Success of MPI
The Message Passing Interface (MPI) has been extremely successful as a
portable way to program high-performance parallel computers. This success has
occurred in spite of the view of many that message passing is difficult and
that other approaches, including automatic parallelization and directive-based
parallelism, are easier to use. This paper argues that MPI has succeeded
because it addresses all of the important issues in providing a parallel
programming model.Comment: 12 pages, 1 figur
- …