5,830 research outputs found

    A heuristic-based approach to code-smell detection

    Get PDF
    Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an understandable, flexible and reusable abstraction and one which is not. This decision is a difficult one and may easily result in poor encapsulation which can then have serious implications for a number of system qualities. It is often hard to identify such encapsulation problems within large software systems until they cause a maintenance problem (which is usually too late) and attempting to perform such analysis manually can also be tedious and error prone. Two of the common encapsulation problems that can arise as a consequence of this decomposition process are data classes and god classes. Typically, these two problems occur together – data classes are lacking in functionality that has typically been sucked into an over-complicated and domineering god class. This paper describes the architecture of a tool which automatically detects data and god classes that has been developed as a plug-in for the Eclipse IDE. The technique has been evaluated in a controlled study on two large open source systems which compare the tool results to similar work by Marinescu, who employs a metrics-based approach to detecting such features. The study provides some valuable insights into the strengths and weaknesses of the two approache

    Working Notes from the 1992 AAAI Workshop on Automating Software Design. Theme: Domain Specific Software Design

    Get PDF
    The goal of this workshop is to identify different architectural approaches to building domain-specific software design systems and to explore issues unique to domain-specific (vs. general-purpose) software design. Some general issues that cut across the particular software design domain include: (1) knowledge representation, acquisition, and maintenance; (2) specialized software design techniques; and (3) user interaction and user interface

    Design of A Virtual Laboratory for Automation Control

    Get PDF
    In the past, only students who studied on campus were able to access laboratory equipment in traditional lab courses; distance learning students, enrolled in online courses, were at a disadvantage for they could learn basic lab experiment principles but could never experience hands-on learning. Modeling and simulation can be a powerful tool for generating virtual laboratories for distance learning students. This thesis describes the design and development of a virtual laboratory for automation control using mechanical, electrical, and pneumatic components for an automation and control course at Old Dominion University. This virtual laboratory application was implemented for two platforms — Windows personal computers and Android smartphones. The virtual lab serves as pre-lab session for on-campus students and a virtual lab tool for distance-learning students to gain some “hands-on” lab experience. Utilizing the virtual learning environment as a supplement to engineering-based laboratories is also beneficial for students to prepare for the physical experiment and obtain a “hands-on,” practical lab experience without the hazards present in the physical lab. Such a methodology can also be applied to experiments in different fields such chemistry, etc

    Mechanical design automation: a case study on plastic extrusion die tooling

    Get PDF
    The Skills Gap in Mechanical Engineering (ME) Design has been widening with the increasing number of baby boomers retiring (Silver Tsunami) and the lack of a new generation to acquire, practice and perfect their knowledge base. This growing problem has been addressed with several initiatives focused on attracting and retaining young talent; however, these types of initiatives may not be timely for this new group to be trained by an established Subject Matter Expert (SME) group. Automated Engineering Design provides a potential pathway to address not only the Skills Gap but also the transfer of information from SMEs to a new generation of engineers. Automation has been at the heart of the Advanced Manufacturing Industry, and has been successful at accomplishing repetitive tasks with processes, software and equipment. The next stage in Advanced Manufacturing is further integrating Machine Learning techniques (Artificial Intelligence (AI)) in order to mimic human decision making. These initiatives are clear for the type of mechanized systems and repetitive processes present in the manufacturing world, but the question remains if they can be effectively applied to the decision heavy area of ME Design. A collaboration with an industry partner New Jersey Precision Technologies (NJPT) was established in order to address this question. This thesis presents an ME Design Automation process involving a multi-stage approach: Design Definition, Task Differentiation, Workflow Generation and Expert System Development. This process was executed on plastic extrusion tooling design. A Computer Aided Design (CAD) based Expert System was developed for the Automation of design, and the generation of a database towards future Machine Learning work. This system was run on 6 extrusion product examples previously designed by NJPT through traditional methods. The time needed to generate the design was reduced by 95-98%. This thesis demonstrates the capability of automating ME design, the potential impact in industry and next steps towards the application of AI

    Designing of Flexible Multi-Microcontroller Based Training System

    Get PDF
    In traditional Embedded Control Technology courses, students learn to develop assembly language programs to control peripherals, handle interrupts, and perform I/O operations. However, students find the subject is difficult as the subject is presented in a lecture format. Unfortunately, this Embedded Controller Technology (ECT) course is a compulsory course in any electrical or electronic field of engineering. This paper aims to describe development of a flexible multi-microcontroller training system based on 8-bit microcontroller in Microchip, Freescale (formerly Motorola) and Intel family. For this reason, a new laboratory evaluation tool (UMP-EVT) specifically will be designed to be as a learning tool for those who intend to learn microcontroller and for use in the academic environment. With an extensive of this training system, it could let the user to get start with their microcontroller application efficiently. In addition, it is further boosted by the introduction of Integrated Development Environment (IDE) features in order to create user-friendly environment. By using this UMP-EVT, users are exposed to practical experience of the microcontroller and provide an easy path to learn this intelligent electronic device in short time. In this respect, this UMP-EVT would be applicable for education and expose the electrical engineering students to the understanding fundamental of microcontroller in electronic design field

    Automated specification-based testing of graphical user interfaces

    Get PDF
    Tese de doutoramento. Engenharia Electrónica e de Computadores. 2006. Faculdade de Engenharia. Universidade do Porto, Departamento de Informática, Escola de Engenharia. Universidade do Minh
    • …
    corecore