13,409 research outputs found

    Using real options to select stable Middleware-induced software architectures

    Get PDF
    The requirements that force decisions towards building distributed system architectures are usually of a non-functional nature. Scalability, openness, heterogeneity, and fault-tolerance are examples of such non-functional requirements. The current trend is to build distributed systems with middleware, which provide the application developer with primitives for managing the complexity of distribution, system resources, and for realising many of the non-functional requirements. As non-functional requirements evolve, the `coupling' between the middleware and architecture becomes the focal point for understanding the stability of the distributed software system architecture in the face of change. It is hypothesised that the choice of a stable distributed software architecture depends on the choice of the underlying middleware and its flexibility in responding to future changes in non-functional requirements. Drawing on a case study that adequately represents a medium-size component-based distributed architecture, it is reported how a likely future change in scalability could impact the architectural structure of two versions, each induced with a distinct middleware: one with CORBA and the other with J2EE. An option-based model is derived to value the flexibility of the induced-architectures and to guide the selection. The hypothesis is verified to be true for the given change. The paper concludes with some observations that could stimulate future research in the area of relating requirements to software architectures

    Driver Digital Twin for Online Prediction of Personalized Lane Change Behavior

    Full text link
    Connected and automated vehicles (CAVs) are supposed to share the road with human-driven vehicles (HDVs) in a foreseeable future. Therefore, considering the mixed traffic environment is more pragmatic, as the well-planned operation of CAVs may be interrupted by HDVs. In the circumstance that human behaviors have significant impacts, CAVs need to understand HDV behaviors to make safe actions. In this study, we develop a Driver Digital Twin (DDT) for the online prediction of personalized lane change behavior, allowing CAVs to predict surrounding vehicles' behaviors with the help of the digital twin technology. DDT is deployed on a vehicle-edge-cloud architecture, where the cloud server models the driver behavior for each HDV based on the historical naturalistic driving data, while the edge server processes the real-time data from each driver with his/her digital twin on the cloud to predict the lane change maneuver. The proposed system is first evaluated on a human-in-the-loop co-simulation platform, and then in a field implementation with three passenger vehicles connected through the 4G/LTE cellular network. The lane change intention can be recognized in 6 seconds on average before the vehicle crosses the lane separation line, and the Mean Euclidean Distance between the predicted trajectory and GPS ground truth is 1.03 meters within a 4-second prediction window. Compared to the general model, using a personalized model can improve prediction accuracy by 27.8%. The demonstration video of the proposed system can be watched at https://youtu.be/5cbsabgIOdM

    Optimization with pattern-avoiding input

    Full text link
    Permutation pattern-avoidance is a central concept of both enumerative and extremal combinatorics. In this paper we study the effect of permutation pattern-avoidance on the complexity of optimization problems. In the context of the dynamic optimality conjecture (Sleator, Tarjan, STOC 1983), Chalermsook, Goswami, Kozma, Mehlhorn, and Saranurak (FOCS 2015) conjectured that the amortized access cost of an optimal binary search tree (BST) is O(1)O(1) whenever the access sequence avoids some fixed pattern. They showed a bound of 2α(n)O(1)2^{\alpha{(n)}^{O(1)}}, which was recently improved to 2α(n)(1+o(1))2^{\alpha{(n)}(1+o(1))} by Chalermsook, Pettie, and Yingchareonthawornchai (2023); here nn is the BST size and α()\alpha(\cdot) the inverse-Ackermann function. In this paper we resolve the conjecture, showing a tight O(1)O(1) bound. This indicates a barrier to dynamic optimality: any candidate online BST (e.g., splay trees or greedy trees) must match this optimum, but current analysis techniques only give superconstant bounds. More broadly, we argue that the easiness of pattern-avoiding input is a general phenomenon, not limited to BSTs or even to data structures. To illustrate this, we show that when the input avoids an arbitrary, fixed, a priori unknown pattern, one can efficiently compute a kk-server solution of nn requests from a unit interval, with total cost nO(1/logk)n^{O(1/\log k)}, in contrast to the worst-case Θ(n/k)\Theta(n/k) bound; and a traveling salesman tour of nn points from a unit box, of length O(logn)O(\log{n}), in contrast to the worst-case Θ(n)\Theta(\sqrt{n}) bound; similar results hold for the euclidean minimum spanning tree, Steiner tree, and nearest-neighbor graphs. We show both results to be tight. Our techniques build on the Marcus-Tardos proof of the Stanley-Wilf conjecture, and on the recently emerging concept of twin-width; we believe our techniques to be more generally applicable

    Multi-layer Defense Against Malware Attacks on Smartphone Wi-Fi Access Channel

    Get PDF
    AbstractWith increase in Smartphone users, uses have also increased such as email, gaming, internet banking etc. which requires it to always remain connected with Wi-Fi, thus making it vulnerable to numerous attacks. The endeavour in this paper is to explore Smartphone malware and combat challenges associated with it. Authors have proposed a novel three layer security model which detect and defence against the malware attack in network traffic and communication access point. Fine grained channel permission system is used to grant the permission to access the Wi-Fi access point thus providing security when any communication session takes place between Smartphone user and server though SSL handshake protocol. It also helps in detection of the interval time between packets sent and received which give impetus for threshold value used by TMM-HDT algorithm

    Reaaliaikainen kaksisuuntainen tiedonsiirto digitaalisen kaksosen kanssa verkkorajapinnan kautta

    Get PDF
    Technological advancements in industry have paved way for the fourth industrial revolution called Industry 4.0. One critical aspect of this revolution is the usage of digital twins in product design, production, and service. A common depiction of a digital twin consists of three parts: a physical twin, its digital twin, and the data exchanged between them. In industry, one common solution for the data exchange between the digital twin and its physical twin is OPC Unified Architecture (OPC UA) communication protocol. The protocol provides a solution to collect data from devices along an entire production line. Communication with OPC UA servers requires carefully studying the protocol specification, which can deter new developers from creating applications with the data collected by the servers. The goal of this thesis is to develop a web-based application program interface (API) that simplifies transferring data with an OPC UA server. The API is intended to be made with a popular technology that is already widely known among developers. It would lower the learning curve for utilizing the data on OPC UA servers. Thus, more developers can be tempted to start developing applications with the data. As the API is web-based, it is accessible by any web capable device bringing the data available to virtually any programming language and platform. Requirements for the API beyond the functionalities concern its efficiency and capability of handling real-time data exchange situations. To test the API’s performance, a case study is made: a web-based control application. The control application uses the API in real-time to both write control signals to and read sensor values from the OPC UA server. The API performance is evaluated by measuring its request completion time in both controlled environment and real use cases. The developed API was considered to be fast enough for user-based input and even applications that required fast synchronisation of values from different data sources. However, the API did add considerable latency compared using the OPC UA server directly which might be a problem in some applications that require extremely time sensitive data from the data server.Teknologian kehitys teollisuudessa on mahdollistanut neljännen teollisuuden vallankumouksen, jota kutsutaan myös nimellä Industry 4.0. Yksi tämän vallankumouksen tärkeitä puolia on digitaalisten kaksosten hyödyntäminen tuotesuunnittelussa, tuotannossa, sekä huoltamisessa. Yleensä digitaalisen kaksosen käsitteen sanotaan koostuvan kolmesta osasta: fyysisestä kaksosesta, sen digitaalisesta kaksosesta ja niiden välisestä tiedonsiirrosta. Teollisuudessa eräs yleinen tapa toteuttaa tiedonsiirto fyysisen ja digitaalisen kaksosen välillä on OPC Unified Architecture (OPC UA) -kommunikaatioprotokollalla. Protokolla tarjoaa ratkaisun datan keruuseen koko tuotantolinjan prosesseista. Kommunikointi OPC UA -palvelimen kanssa vaatii protokollan määrittelyyn syventymistä, mikä saattaa lannistaa uusia kehittäjiä, jotka voisivat luoda sovelluksia palvelimen keräämälle datalle. Työn tavoitteena on kehittää web-pohjainen ohjelmointirajapinta, joka yksinkertaistaa sovellusten kehittämistä OPC UA -palvelimen kanssa. Ohjelmointirajapinta on tarkoitus kehittää ohjelmistokehittäjille tunnetulla teknologialla. Web-rajapinnalla voi laskea oppimiskynnystä OPC UA -palvelimen datan hyödyntämiseen. Tällöin uudet kehittäjät saattavat olla kiinnostuneempia kehittämään käyttökohteita datalle. Web-rajapinnalla on mahdollista tarjota data mille tahansa alustalle tai ohjelmointikielelle, jolla on webominaisuudet. Toiminnallisuuksien lisäksi rajapinnan vaatimukset kohdistuvat sen tehokkuuteen ja kykyyn käsitellä reaaliaikaista tiedonsiirtoa. Rajapinnan testausta varten tehdään tapaustutkimus: Web-pohjainen ohjaussovellus. Ohjaussovellus käyttää rajapintaa reaaliajassa kirjoittamaan ohjaussignaaleja, sekä lukemaan anturiarvoja OPC UA -palvelimelta. Rajapinnan suorituskykyä arvioidaan mittaamalla sen pyyntöjen suoritusaikoja sekä hallitussa ympäristössä, että tosikäyttötilanteissa. Kehitetty ohjelmointirajapinta todetaan testeissä tarpeeksi nopeaksi käyttäjäsyötteelle, sekä ohjelmille, jotka tarvitsevat nopeaa synkronointia arvoille eri tietolähteistä. Rajapinta kuitenkin lisäsi merkittävän viiveen verratessa sitä OPC UA -palvelimen suoraan käyttöön. Tämä saattaa aiheuttaa ongelmia joissain käyttötilanteissa, jotka tarvitsevat tarkkaa aikariippuvaista dataa palvelimelta
    corecore