13 research outputs found

    ContextErlang: A language for distributed context-aware self-adaptive applications

    Get PDF
    Self-adaptive software modifies its behavior at run time to satisfy changing requirements in a dynamic environment. Context-oriented programming (COP) has been recently proposed as a specialized programming paradigm for context-aware and adaptive systems. COP mostly focuses on run time adaptation of the application’s behavior by supporting modular descriptions of behavioral variations. However, self-adaptive applications must satisfy additional requirements, such as distribution and concurrency, support for unforeseen changes and enforcement of correct behavior in the presence of dynamic change. Addressing these issues at the language level requires a holistic design that covers all aspects and takes into account the possibly cumbersome interaction of those features, for example concurrency and dynamic change. We present ContextErlang, a COP programming language in which adaptive abstractions are seamlessly integrated with distribution and concurrency. We define ContextErlang’s formal semantics, validated through an executable prototype, and we show how it supports formal proofs that the language design ensures satisfaction of certain safety requirements. We provide empirical evidence that ContextErlang is an effective solution through case studies and a performance assessment. We also show how the same design principles that lead to the development of ContextErlang can be followed to systematically design contextual extensions of other languages. A concrete example is presented concerning ContextScala

    A Pure Embedding of Roles: Exploring 4-dimensional Dispatch for Roles in Structured Contexts

    Get PDF
    Present-day software systems have to fulfill an increasing number of requirements, which makes them more and more complex. Many systems need to anticipate changing contexts or need to adapt to changing business rules or requirements. The challenge of 21th-century software development will be to cope with these aspects. We believe that the role concept offers a simple way to adapt an object-oriented program to its changing context. In a role-based application, an object plays multiple roles during its lifetime. If the contexts are represented as first-class entities, they provide dynamic views to the object-oriented program, and if a context changes, the dynamic views can be switched easily, and the software system adapts automatically. However, the concepts of roles and dynamic contexts have been discussed for a long time in many areas of computer science. So far, their employment in an existing object-oriented language requires a specific runtime environment. Also, classical object-oriented languages and their runtime systems are not able to cope with essential role-specific features, such as true delegation or dynamic binding of roles. In addition to that, contexts and views seem to be important in software development. The traditional code-oriented approach to software engineering becomes less and less satisfactory. The support for multiple views of a software system scales much better to the needs of todays systems. However, it relies on programming languages to provide roles for the construction of views. As a solution, this thesis presents an implementation pattern for role-playing objects that does not require a specific runtime system, the SCala ROles Language (SCROLL). Via this library approach, roles are embedded in a statically typed base language as dynamically evolving objects. The approach is pure in the sense that there is no need for an additional compiler or tooling. The implementation pattern is demonstrated on the basis of the Scala language. As technical support from Scala, the pattern requires dynamic mixins, compiler-translated function calls, and implicit conversions. The details how roles are implemented are hidden in a Scala library and therefore transparent to SCROLL programmers. The SCROLL library supports roles embedded in structured contexts. Additionally, a four-dimensional, context-aware dispatch at runtime is presented. It overcomes the subtle ambiguities introduced with the rich semantics of role-playing objects. SCROLL is written in Scala, which blends a modern object-oriented with a functional programming language. The size of the library is below 1400 lines of code so that it can be considered to have minimalistic design and to be easy to maintain. Our approach solves several practical problems arising in the area of dynamical extensibility and adaptation

    Highly Dynamic Behaviour Adaptability through Prototypes with Subjective Multimethods

    No full text
    With the advent of ambient intelligence and advances in mobile hardware technology, the next generation of software systems will require the ability to gracefully and dynamically adapt to changes in their surrounding environment. Contemporary languages provide no dedicated support to this end, thus requiring software developers to achieve this run-time adaptability through the use of specific design patterns and architectural solutions. As a consequence, all possible variability points of mobile systems need to be anticipated up front. Instead, we aim at solving the problem at the language level. We propose a new programming language called Ambience that provides dedicated language mechanisms to manage changing contexts and deal with run-time adaptation of mobile applications to those contexts. The language abstractions we propose are based on a prototype-based programming model that features multimethods and subjective object behaviour. We illustrate and motivate our approach by means of two running examples that were implemented in our language

    Building the Hyperconnected Society- Internet of Things Research and Innovation Value Chains, Ecosystems and Markets

    Get PDF
    This book aims to provide a broad overview of various topics of Internet of Things (IoT), ranging from research, innovation and development priorities to enabling technologies, nanoelectronics, cyber-physical systems, architecture, interoperability and industrial applications. All this is happening in a global context, building towards intelligent, interconnected decision making as an essential driver for new growth and co-competition across a wider set of markets. It is intended to be a standalone book in a series that covers the Internet of Things activities of the IERC – Internet of Things European Research Cluster from research to technological innovation, validation and deployment.The book builds on the ideas put forward by the European Research Cluster on the Internet of Things Strategic Research and Innovation Agenda, and presents global views and state of the art results on the challenges facing the research, innovation, development and deployment of IoT in future years. The concept of IoT could disrupt consumer and industrial product markets generating new revenues and serving as a growth driver for semiconductor, networking equipment, and service provider end-markets globally. This will create new application and product end-markets, change the value chain of companies that creates the IoT technology and deploy it in various end sectors, while impacting the business models of semiconductor, software, device, communication and service provider stakeholders. The proliferation of intelligent devices at the edge of the network with the introduction of embedded software and app-driven hardware into manufactured devices, and the ability, through embedded software/hardware developments, to monetize those device functions and features by offering novel solutions, could generate completely new types of revenue streams. Intelligent and IoT devices leverage software, software licensing, entitlement management, and Internet connectivity in ways that address many of the societal challenges that we will face in the next decade

    Building the Hyperconnected Society- Internet of Things Research and Innovation Value Chains, Ecosystems and Markets

    Get PDF
    This book aims to provide a broad overview of various topics of Internet of Things (IoT), ranging from research, innovation and development priorities to enabling technologies, nanoelectronics, cyber-physical systems, architecture, interoperability and industrial applications. All this is happening in a global context, building towards intelligent, interconnected decision making as an essential driver for new growth and co-competition across a wider set of markets. It is intended to be a standalone book in a series that covers the Internet of Things activities of the IERC – Internet of Things European Research Cluster from research to technological innovation, validation and deployment.The book builds on the ideas put forward by the European Research Cluster on the Internet of Things Strategic Research and Innovation Agenda, and presents global views and state of the art results on the challenges facing the research, innovation, development and deployment of IoT in future years. The concept of IoT could disrupt consumer and industrial product markets generating new revenues and serving as a growth driver for semiconductor, networking equipment, and service provider end-markets globally. This will create new application and product end-markets, change the value chain of companies that creates the IoT technology and deploy it in various end sectors, while impacting the business models of semiconductor, software, device, communication and service provider stakeholders. The proliferation of intelligent devices at the edge of the network with the introduction of embedded software and app-driven hardware into manufactured devices, and the ability, through embedded software/hardware developments, to monetize those device functions and features by offering novel solutions, could generate completely new types of revenue streams. Intelligent and IoT devices leverage software, software licensing, entitlement management, and Internet connectivity in ways that address many of the societal challenges that we will face in the next decade

    Interfirm Alliance Linkages and Knowledge Transfer:An Exploratory Analysis of Mutual Cooperative Learning in an International Joint Venture in the Chinese Automotive Industry

    Get PDF
    The purpose of this thesis is to extend existing knowledge in interfirm knowledge transfer research and provide a rich description of the dynamic knowledge transfer process in alliance arrangements. An exploratory case study methodology is employed, and one international joint venture (IJV) project is investigated. The empirical evidence was derived from the researcher’s involvement with one auto IJV – Shanghai GM, an IJV formed between Shanghai Automotive Industry Corporation (SAIC) from P.R. China and General Motors (GM) from the United States. Data collection was conducted through primary and secondary sources including fieldwork interviews with Chinese and American executives respectively in the IJV, selected published sources as well as government officials, and consultants who were directly or indirectly involved with the case companies. Using CATPAC software as an analytical tool for textual analysis of the collected data, the following findings emerged. First, partner firms in Shanghai-GM reinforce the development of international cooperation as a means of increasing knowledge exchange and adaptation, such as enlarging the product ranges, and developing new car models. Second, partner firms are motivated to increase their knowledge transfer activities to increase competitive advantage levels to match or exceed those of other competitors. Both partner companies initially contributed differentiated sets of idiosyncratic and nonsubstitutable resources that are distinctively under the control of each partner. The Chinese side brings in locally embedded resources and country-specific knowledge. The foreign side contributes technology, managerial abilities, brand image, and financial resources. There is thus an asymmetrical relationship between the objectives of partners and the resources brought into the alliance: each partner firm tries to gain access to what the other puts into the joint venture. Third, relevant important preconditions and situational factors regarding knowledge transfer effectiveness in alliance context are also mentioned. Certain elements are identified as a critical barrier during the process. Fourth, IJV knowledge transfer actually occurred over a longitudinal period involving intensive interactions between the partners. Different types of knowledge were transferred over time starting with key technologies, management skills, followed by the tacit social and cultural knowledge. As time passed, both partner firms demonstrated effort and commitment in facilitating interfirm knowledge transfer practices. The IJV knowledge transfer performance finally influenced the nature of the interfirm partnership. This thesis provides a unique example which looks at the two-way learning processes for true knowledge creation and sharing in a cross-border collaborative organisation, demonstrating the performance of partner organisations in the process of IJV knowledge transfer. Based on literature reflections, tangible facts and interpretations, this thesis provides a deeper understanding of the organisational activities involving cooperation and the dynamic knowledge transfer routines, which is a significant extension of past static cross-sectional conceptualisations. This thesis also proposes an interfirm knowledge transfer and cooperative learning framework, which is emphasised that the issue of sharing knowledge in IJVs and bringing IJVs into profitability requires partner companies to engage in interpartner learning and to be able to benefit from the transfer of knowledge. A key implication for the firm, therefore, is the critical ability to deal effectively and efficiently with the transfer of knowledge resources and in so doing to gain a competitive advantage

    Introducing User-Centred Design: a Longitudinal Study of a Healthcare Informatics Organisation

    Get PDF
    Information System designers report increasing difficulties applying User-Centred Design (UCD) techniques effectively due to the growing complexity of the domains in which they work and the techniques’ prescriptive nature. The rapid growth of “Big Data” and associated analytical tools thus demands closer investigation of UCD activities and processes within the complex and rapidly-changing work domains in which they are designed, developed and used. This thesis reports a longitudinal case study from inside a commercial organisation, through a six-year Action Research collaboration to introduce and embed UCD techniques in the design of health informatics tools in the UK. An assessment of the initial modus operandi is followed by the development of personas with data from interviews, user-generated screen captures and database server log files; these informed the redesign, evaluation and testing of the organisation’s flagship product. Finally, stakeholder interviews explore the wider impact of UCD techniques. In so doing, this thesis shows the value of auto-ethnographic documentation, based on being embedded in a design team and collaborative reflection, for practice-led research; it found the organisation’s culture around UCD was dynamic and design practices can change this culture through, for example, training opportunities and fostering customer relations. Individuals and extrinsic factors played strikingly key roles in reshaping the organisation’s culture; the commitment and resilience of individuals was important for sustaining UCD activities across several reorganisations and changes in business strategy. Finally, this thesis comprehensively presents and evaluates an innovative approach for grounding personas in database server and user-generated content. These findings concern both research and practice by informing the scope of the designer’s role, educational programmes and Action Research collaborations. They call for further attention on the compatibility of design and development processes and suggest that design practice can not only be tailored to organisations, but organisations can be fitted to design practice with the reassessment of the value of some UCD activities. Finally, this thesis can inform approaches to practice-led research, and more effective and efficient strategies for the introduction of UCD techniques to other organisations from the base of their hierarchy
    corecore