245,866 research outputs found

    Engineering adaptive user interfaces using monitoring-oriented programming

    Get PDF
    User interfaces which adapt based on usage patterns, for example based on frequency of use of certain features, have been proposed as a means of limiting the complexity of the user interface without specialising it unnecessarily to particular user profiles. However, from a software engineering perspective, adaptive user interfaces pose a challenge in code structuring, and separation of the different layers of user interface and application state and logic can introduce interdependencies which make software development and maintenance more challenging. In this paper we explore the use of monitoring-oriented programming to add adaptive features to user interfaces, an approach which has been touted as a means of separating certain layers of logic from the main system. We evaluate the approach both using standard software engineering measures and also through a user acceptance experiment - by having a number of developers use the proposed approach to add adaptation logic to an existing application.peer-reviewe

    A Component-based User Interface Approach for Smart TV

    Get PDF
    The fast growth and diversity of technological devices currently being produced is benefiting areas such as “ambient intelligence”. This area attempts to integrate information technology in any personal environment. However, to construct service/application software that adapts to different environments, there must be techniques available that favor this type of development. Component based software Engineering (CBSE) is a discipline of the software engineering that integrates (previously constructed) components to build new software systems. This paper presents a CBSE approach to build Graphical User Interfaces (GUI) at run-time. Both a component-based perspective of the user interface and a set of component relationships are presented in the paper. As a case study, this paper also describes an application built for an emerging computation environment, Smart TV. A running example is also presented through the paper putting some Web-based solutions to build User Interfaces together (e.g., Wookie, W3C Widgets, Node.js)

    Analysing Reverse Engineering Techniques for Interactive Systems

    Get PDF
    Reverse engineering is the process of discovering a model of a software system by analyzing its structure and functions. Reverse engineering techniques applied to interactive software applications (e.g. applications with user interfaces (UIs)) are very important and significant, as they can help engineers to detect defects in the software and then improve or complete them. There are several approaches, and many different tools, which are able to reverse-engineer software applications into formal models. These can be classified into two main types: dynamic tools and static tools. Dynamic tools interact with the application to find out the run-time behaviours of the software, simulating the actions of a user to explore the system’s state space, whereas static tools focus on static structure and architecture by analysing the code and documents. Reverse engineering techniques are not common for interactive software systems, but nowadays more and more organizations recognize the importance of interactive systems, as the trend in software used in computers is for applications with graphical user interfaces. This has in turn led to a developing interest in reverse engineering tools for such systems. Many reverse engineering tools generate very big models which make analysis slow and resource intensive. The reason for this is the large amount of information that is generated by the existing reverse engineering techniques. Slicing is one possible technique which helps with reducing un-necessary information for building models of software systems. This project focuses on static analysis and slicing, and considers how they can aid reverse engineering techniques for interactive systems, particularly with respect to the generation of a particular set of models, Presentation Models (PModels) and Presentation Interaction Models (PIMs)

    Adapting Component-based User Interfaces at Runtime using Observers

    Get PDF
    Model-driven engineering (MDE) already plays a key role in Human-Computer Interaction for the automatic generation of end-user interfaces from their abstract and platform-independent specifications. Moreover, MDE techniques and tools are proving to be very useful for adapting at runtime the final user interfaces according to the current context properties: platform, user roles, component states, etc. In this paper we propose a mechanism to adapt user interfaces at runtime. These user interfaces will be (re)generated through the dynamic composition of user-interface software components, depending on the observed properties of the environment and of the components’ behaviour.Ministerio de Ciencia e Innovación TIN2010-15588Ministerio de Ciencia e Innovación TRA2009-0309Ministerio de Ciencia e Innovación TIN2008-00889-EMinisterio de Ciencia e Innovación TIN2008-03107Junta de Andalucía TIC-6114Junta de Andalucía P07-TIC-0318

    User engineering: A new look at system engineering

    Get PDF
    User Engineering is a new System Engineering perspective responsible for defining and maintaining the user view of the system. Its elements are a process to guide the project and customer, a multidisciplinary team including hard and soft sciences, rapid prototyping tools to build user interfaces quickly and modify them frequently at low cost, and a prototyping center for involving users and designers in an iterative way. The main consideration is reducing the risk that the end user will not or cannot effectively use the system. The process begins with user analysis to produce cognitive and work style models, and task analysis to produce user work functions and scenarios. These become major drivers of the human computer interface design which is presented and reviewed as an interactive prototype by users. Feedback is rapid and productive, and user effectiveness can be measured and observed before the system is built and fielded. Requirements are derived via the prototype and baselined early to serve as an input to the architecture and software design

    Ouachita alumni further technology in schools with Apptegy

    Get PDF
    Ouachita Baptist University has sustained momentum in equipping students for postgraduate success, consistently reporting career outcomes rates that far exceed the national average. Graduates are pursuing opportunities in a variety of fields, including technology. For example, five alumni working at Apptegy, an education software company in Little Rock, Ark., are developing software for K-12 school marketing. Their contributions include software engineering, designing user-friendly interfaces and ensuring client success with Apptegy products

    Microservices and Machine Learning Algorithms for Adaptive Green Buildings

    Get PDF
    In recent years, the use of services for Open Systems development has consolidated and strengthened. Advances in the Service Science and Engineering (SSE) community, promoted by the reinforcement of Web Services and Semantic Web technologies and the presence of new Cloud computing techniques, such as the proliferation of microservices solutions, have allowed software architects to experiment and develop new ways of building open and adaptable computer systems at runtime. Home automation, intelligent buildings, robotics, graphical user interfaces are some of the social atmosphere environments suitable in which to apply certain innovative trends. This paper presents a schema for the adaptation of Dynamic Computer Systems (DCS) using interdisciplinary techniques on model-driven engineering, service engineering and soft computing. The proposal manages an orchestrated microservices schema for adapting component-based software architectural systems at runtime. This schema has been developed as a three-layer adaptive transformation process that is supported on a rule-based decision-making service implemented by means of Machine Learning (ML) algorithms. The experimental development was implemented in the Solar Energy Research Center (CIESOL) applying the proposed microservices schema for adapting home architectural atmosphere systems on Green Buildings

    Net-distributed Co-operation Including Developing Countries, Practical Case Study - Iran

    Get PDF
    The scientific transfer of key technology features to developing countries, together with adequate competence, localisation and adaptation, is the primary purpose of the proposed investigation. It is evident that introducing high-level CAD design and detailing will improve the planning process in developing countries. Successful utilization of applied information technology for the planning process, however, depends on the user-interface of individual software. Therefore, to open the great opportunity embedded in CAD software for clients globally, the language and character-set barrier of traditional user-interfaces must be overcome. A proposal for a research program is given here to address such issue in favour of global civil engineering

    RTMPL: A structured programming and documentation utility for real-time multiprocessor simulations

    Get PDF
    The NASA Lewis Research Center is developing and evaluating experimental hardware and software systems to help meet future needs for real time simulations of air-breathing propulsion systems. The Real Time Multiprocessor Simulator (RTMPS) project is aimed at developing a prototype simulator system that uses multiple microprocessors to achieve the desired computing speed and accuracy at relatively low cost. Software utilities are being developed to provide engineering-level programming and interactive operation of the simulator. Two major software development efforts were undertaken in the RTMPS project. A real time multiprocessor operating system was developed to provide for interactive operation of the simulator. The second effort was aimed at developing a structured, high-level, engineering-oriented programming language and translator that would facilitate the programming of the simulator. The Real Time Multiprocessor Programming Language (RTMPL) allows the user to describe simulation tasks for each processor in a straight-forward, structured manner. The RTMPL utility acts as an assembly language programmer, translating the high-level simulation description into time-efficient assembly language code for the processors. The utility sets up all of the interfaces between the simulator hardware, firmware, and operating system
    corecore