9 research outputs found

    Challenges in using the actor model in software development, systematic literature review

    Get PDF
    Toimijamalli on hajautetun ja samanaikaisen laskennan malli, jossa pienet osat ohjelmistoa viestivät keskenään asynkronisesti ja käyttäjälle näkyvä toiminnallisuus on usean osan yhteistyöstä esiin nouseva ominaisuus. Nykypäivän ohjelmistojen täytyy kestää valtavia käyttäjämääriä ja sitä varten niiden täytyy pystyä nostamaan kapasiteettiaan nopeasti skaalautuakseen. Pienempiä ohjelmiston osia on helpompi lisätä kysynnän mukaan, joten toimijamalli vaikuttaa vastaavan tähän tarpeeseen. Toimijamallin käytössä voi kuitenkin esiintyä haasteita, joita tämä tutkimus pyrkii löytämään ja esittelemään. Tutkimus toteutetaan systemaattisena kirjallisuuskatsauksena toimijamalliin liittyvistä tutkimuksista. Valituista tutkimuksista kerättiin tietoja, joiden pohjalta tutkimuskysymyksiin vastattiin. Tutkimustulokset listaavat ja kategorisoivat ohjelmistokehityksen ongelmia, joihin käytettiin toimijamallia, sekä erilaisia toimijamallin käytössä esiintyviä haasteita ja niiden ratkaisuita. Tutkimuksessa löydettiin toimijamallin käytössä esiintyviä haasteita ja näille haasteille luotiin uusi kategorisointi. Haasteiden juurisyitä analysoidessa havaittiin, että suuri osa toimijamallin haasteista johtuvat asynkronisen viestinnän käyttämisestä, ja että ohjelmoijan on oltava jatkuvasti tarkkana omista oletuksistaan viestijärjestyksestä. Haasteisiin esitetyt ratkaisut kategorisoitiin niihin liittyvän lisättävän koodin sijainnin mukaan

    Bisimilarity of Open Terms in Stream GSOS

    Get PDF
    Stream GSOS is a specification format for operations and calculi on infinite sequences. The notion of bisimilarity provides a canonical proof technique for equivalence of closed terms in such specifications. In this paper, we focus on open terms, which may contain variables, and which are equivalent whenever they denote the same stream for every possible instantiation of the variables. Our main contribution is to capture equivalence of open terms as bisimilarity on certain Mealy machines, providing a concrete proof technique. Moreover, we introduce an enhancement of this technique, called bisimulation up-to substitutions, and show how to combine it with other up-to techniques to obtain a powerful method for proving equivalence of open terms

    Modeling, verification, and analysis of timed actor-based models

    Get PDF
    In the recent years, formal modeling and verification of realtime systems have become very important. Difficult-to-use modeling languages and inefficient analysis tools are the main obstacles to use formal methods in this domain. Timed actor model is one of the modeling paradigms which is proposed for modeling of realtime systems. It benefits from high-level object-oriented modeling facilities; however, developed analysis techniques for timed actors needs to be improved to make the actor model acceptable for the analysis of real-world applications. In this thesis, we first tackle the model checking problem of timed actors by proposing the standard semantics of timed actors in terms of fine-grained timed transition system (FGTS) and transforming it to Durational Transition Graph (DTG). This way, while the time complexity of model checking algorithms for TCTL properties, in general, is non-polynomial, we are able to check TCTL properties (a subset of TCTL) using model checking in polynomial time. We also improve the model checking algorithm of TCTL properties, obtaining time complexity of O((V lg V+E) |Φ|) instead of O(V(V+E)|Φ|) and use it for efficient model checking of timed actors. In addition, we propose a reduction technique which safely eliminates instantaneous transitions of FGTS. Using the proposed reduction technique, we provide an efficient algorithm for model checking of complete TCTL properties over the reduced transition systems. In actor-based models, the absence of shared variables and the presence of single-threaded actors along with non-preemptive execution of each message server, ensure that the execution of message servers do not interfere with each other. Based on this observation, we propose Floating Time Transition System (FTTS) as the big-step semantics of timed actors. The big-step semantics exploits actor features for relaxing the synchronization of progressof time among actors, and thereby reducing the number of states in transition systems. Considering an actor-based language, we prove there is an action-based weak bisimulation relation between FTTS and FGTS. As a result, the big-step semantics preserves event-based branching-time properties. Finally, we show how Timed Rebeca and FTTS are used as the back-end analysis technique of three different independent works to illustrate the applicability of FTTS in practice.The work on this dissertation was supported by the project “Self-Adaptive Actors:SEADA” (nr. 163205-051) of the Icelandic Research Fund

    How advocacy and interactivity facilitate customer value co-creation behaviour in Instagram: a micro-perspective of unplanned and voluntary usage of hedonic social networking sites

    Get PDF
    Our study offers a new conceptual model of value co-creation in hedonic social network sites, and it validates an adaptation of the Coleman bathtub to social interaction in Instagram. Few papers have studied empirically interactive platforms for value co-creation in the focal context of a service ecosystem under service-dominant logic. We use a CB-SEM methodological approach to quantitatively test the hypothesised connections between constructs in our structural model. The analysis of the statistical results allows us to validate the direct, indirect and total effects between the latent variables in the model. Furthermore, it empirically shows, for the studied sample of Instagrammers, the dual nature of interactivity, both networked and perceived; how customer participation behaviour relates to customer relationships with other Instagrammers; the resource integration patterns of social capital and the choreography of relational value; and finally as well as the positive impact of increased advocacy levels on customer participation behaviour during the unplanned and voluntary usage of Instagram.Nuestro estudio ofrece un nuevo modelo conceptual de cocreación de valor en redes sociales hedónicas, y valida la adaptación del bote de Coleman a la interacción social en Instagram. Pocos estudios se han realizado para investigar empíricamente las plataformas interactivas para la cocreación de valor en el contexto de un ecosistema de servicios bajo la lógica dominante del servicio. Utilizamos el enfoque metodológico del modelo de ecuaciones estructurales basado en la covarianza para comprobar cuantitativamente las relaciones causales hipotéticas entre constructos en nuestro modelo estructural. El análisis de los resultados estadísticos nos permite validar los efectos directos, indirectos y totales entre las variables latentes del modelo. Además, se demuestra empíricamente para la muestra de instagrammers la naturaleza dual de la interactividad, en la interactividad en red y en la percepción de la interactividad; cómo el comportamiento participativo del cliente influye en las relaciones personales con otros instagrammers; los patrones de integración de recursos del capital social y la coreografía del valor relacional; y finalmente el impacto positivo que tienen los niveles de adopción aumentados sobre el comportamiento ciudadano del cliente durante el uso no planificado y voluntario de Instagram.El nostre estudi ofereix un nou model conceptual de cocreació de valor en xarxes socials hedòniques, i valida l'adaptació del pot de Coleman a la interacció social a Instagram. Pocs estudis s'han realitzat per investigar empíricament les plataformes interactives per a la cocreació de valor en el context d'un ecosistema de serveis sota la lògica dominant del servei. Utilitzem l'enfocament metodològic del model d'equacions estructurals basat en la covariància per comprovar quantitativament les relacions causals hipotètiques entre constructes en el nostre model estructural. L'anàlisi dels resultats estadístics ens permet validar els efectes directes, indirectes i totals entre les variables latents del model. A més, es demostra empíricament per a la mostra d'instagramers la naturalesa dual de la interactivitat, en la interactivitat en xarxa i en la percepció de la interactivitat; com el comportament participatiu del client influeix en les relacions personals amb altres instagramers; els patrons de integració de recursos del capital social i la coreografia de la valor relacional; i finalment l'impacte positiu que tenen els nivells d'adopció augmentats sobre el comportament ciutadà del client durant l'ús no planificat i voluntari d'Instagram

    Zertifizierende verteilte Algorithmen

    Get PDF
    Eine Herausforderung der Softwareentwicklung ist, die Korrektheit einer Software sicherzustellen. Testen bietet es keine mathematische Korrektheit. Formale Verifikation ist jedoch oft zu aufwändig. Laufzeitverifikation steht zwischen den beiden Methoden. Laufzeitverifikation beantwortet die Frage, ob ein Eingabe-Ausgabe-Paar korrekt ist. Ein zertifizierender Algorithmus überzeugt seinen Nutzer durch ein Korrektheitsargument zur Laufzeit. Dafür berechnet ein zertifizierender Algorithmus für eine Eingabe zusätzlich zur Ausgabe noch einen Zeugen – ein Korrektheitsargument. Jeder zertifizierende Algorithmus besitzt ein Zeugenprädikat: Ist dieses erfüllt für eine Eingabe, eine Ausgabe und einen Zeugen, so ist das Eingabe-Ausgabe-Paar korrekt. Ein simpler Algorithmus, der das Zeugenprädikat für den Nutzer entscheidet, ist ein Checker. Die Korrektheit des Checkers ist folglich notwendig für den Ansatz und die formale Instanzverifikation, bei der wir Checker verifizieren und einen maschinen-geprüften Beweis für die Korrektheit eines Eingabe-Ausgabe-Paars zur Laufzeit gewinnen. Zertifizierende sequentielle Algorithmen sind gut untersucht. Verteilte Algorithmen, die auf verteilten Systemen laufen, unterscheiden sich grundlegend von sequentiellen Algorithmen: die Ausgabe ist über das System verteilt oder der Algorithmus läuft fortwährend. Wir untersuchen zertifizierende verteilte Algorithmen. Unsere Forschungsfrage ist: Wie können wir das Konzept zertifizierender sequentieller Algorithmen so auf verteilte Algorithmen übertragen, dass wir einerseits nah am ursprünglichen Konzept bleiben und andererseits die Gegebenheiten verteilter Systeme berücksichtigen? Wir stellen eine Methode der Übertragung vor. Die beiden Ziele abwägend entwickeln wir eine Klasse zertifizierender verteilter Algorithmen, die verteilte Zeugen berechnen und verteilte Checker besitzen. Wir präsentieren Fallstudien, Entwurfsmuster und ein Framework zur formalen Instanzverifikation.A major problem in software engineering is to ensure the correctness of software. Testing offers no mathematical correctness. Formal verification is often too costly. Runtime verification stands between the two methods. Runtime verification answers the question whether an input-output pair is correct. A certifying algorithm convinces its user at runtime by offering a correctness argument. For each input, a certifying algorithm computes an output and additionally a witness. Each certifying algorithm has a witness predicate – a predicate with the property: being satisfied for an input, output and witness implies the input-output pair is correct. A simple algorithm deciding the witness predicate for the user is a checker. Hence, the checker’s correctness is crucial to the approach and motivates formal instance verification where we verify checkers and obtain machine-checked proofs for the correctness of an input-output pair at runtime. Certifying sequential algorithms are well-established. Distributed algorithms, designed to run on distributed systems, behave fundamentally different from sequential algorithms: their output is distributed over the system or they even run continuously. We investigate certifying distributed algorithms. Our research question is: How can we transfer the concept of certifying sequential algorithms to distributed algorithms such that we are in line with the original concept but also adapt to the conditions of distributed systems? In this thesis, we present a method to transfer the concept: Weighing up both sometimes conflicting goals, we develop a class of certifying distributed algorithms that compute distributed witnesses and have distributed checkers. We offer case studies, design patterns and a framework for formal instance verification. Additionally, we investigate other methods to transfer the concept of certifying algorithms to distributed algorithms

    Coinductive Techniques on a Linear Quantum λ-Calculus

    Get PDF
    In this thesis, it is examined the issue of equivalence between linear terms in higher order languages, that is, in languages which allow to use functions as variables, and where variables which appear in the terms must be used exactly once. The work is developed focusing on the bisimulation method, with the purpose to compare this technique with that which has become the standard for the comparison between the terms of a language, i.e. the context equivalence. The thesis is divided into three parts: in the first one, the introduction of the bisimulation and context equivalence techniques takes place within a deterministic linear and typed language. In the second part, the same techniques are reformulated for a language that, while preserving the linearity, loses the deterministic connotation, allowing the terms to evaluate to a set of values each one having a certain probability to appear in the end of calculation. In the last part, a quantum language is examined, discussing the advantages of quantum computation, which allows to speed-up many of the algorithms of computation. Here one gives the concept of quantum program, which is inextricably linked to the (quantum) register where the qubits used in the computation are stored, entailing a more complex notion of equivalence between terms. The techniques to demonstrate that bisimulation is a congruence are not standard and have been used for the first time by Howe for untyped languages: within the thesis, one shows that bisimulation is a congruence in all considered languages but it coincides with the context equivalence relation only for the deterministic one. Indeed, extending the techniques already used by Howe to the probabilistic and quantum environment, it is shown, as non trivial result, that in probabilistic and quantum linear languages the bisimulation is contained in context equivalence relation
    corecore