108 research outputs found

    The Epsilon Pattern Language

    Get PDF
    We present the Epsilon Pattern Language (EPL), a textual language that supports expressing and detecting patterns on models conforming to arbitrary metamodels and captured using diverse modelling technologies. EPL provides out-of-the-box integration with existing languages that target a wide range of related model management activities (such as model validation, model-to-model and model-to-text transformation), thus enabling code reuse and seamless runtime interoperability across complex Model-Driven Engineering workflows. We discuss the syntax and semantics of EPL, its supporting development tools, and demonstrate how instances of patterns detected using EPL can be consumed and further processed by other model management programs

    A Visual Specification Language for Model-to-Model Transformations

    Get PDF
    Proceedings of: IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2010). Leganés-Madrid, Spain 21-25 Septemeber 2010.While interaction patterns are becoming widespread in the field of interface design, their definitions do not enjoy a common standard yet, as is for software patterns. Moreover, patterns are developed for diverse design aspects, reflecting the complexity of the field. As a consequence, research on formalization of interaction patterns is not developed, and few attempts have been made to extend techniques developed for design pattern formalization. We show here how an extension to our recent approach to pattern formalization can be usefully employed to formalize some classes of interaction patterns, to express relations among them, and to detect conflicts.Work funded by the Spanish Ministry of Science and Innovation through project TIN2008-02081 and mobility grants JC2009-00015 and PR2009-0019; and by the R&D programme of the Madrid Community, project S2009/TIC-1650.Publicad

    Exploring the Impact of Source Code Linearity on the Programmers Comprehension of API Code Examples

    Get PDF
    Context: Application Programming Interface (API) code examples are an essential knowledge resource for learning APIs. However, a few user studies have explored how the structural characteristics of the source code in code examples impact their comprehensibility and reusability. Objectives: We investigated whether the (a) linearity and (b) length of the source code in API code examples affect users performance in terms of correctness and time spent. We also collected subjective ratings. Methods: We conducted an online controlled code comprehension experiment with 61 Java developers. As a case study, we used the API code examples from the Joda-Time Java library. We had participants perform code comprehension and reuse tasks on variants of the example with different lengths and degrees of linearity. Findings: Participants demonstrated faster reaction times when exposed to linear code examples. However, no substantial differences in correctness or subjective ratings were observed. Implications: Our findings suggest that the linear presentation of a source code may enhance initial example understanding and reusability. This, in turn, may provide API developers with some insights into the effective structuring of their API code examples. However, we highlight the need for further investigation.Comment: 5 page

    Towards optimisation of model queries : A parallel execution approach

    Get PDF
    The growing size of software models poses significant scalability challenges. Amongst these challenges is the execution time of queries and transformations. In many cases, model management programs are (or can be) expressed as chains and combinations of core fundamental operations. Most of these operations are pure functions, making them amenable to parallelisation, lazy evaluation and short-circuiting. In this paper we show how all three of these optimisations can be combined in the context of Epsilon: an OCL-inspired family of model management languages. We compare our solutions with both interpreted and compiled OCL as well as hand-written Java code. Our experiments show a significant improvement in the performance of queries, especially on large models

    Αξιολόγηση της επίδρασης της γήρανσης στην αντοχή συγκόλλησης της ζιρκονίας μετά από διαφορετικές επεξεργασίες καθαρισμού της επιφάνειας

    Get PDF
    Εισαγωγή Τα κεραμικά με βάση τη ζιρκονία, ιδίως τα πολυκρυσταλλικά τετραγωνικής ζιρκονίας σταθεροποιημένης με ύττρια (Y-TZP), είναι τα πιο εκτενώς μελετημένα στην οδοντιατρική. Η επιβίωση των αποκαταστάσεων Y-TZP εξαρτάται, μεταξύ άλλων, από την ανθεκτικότητα της διεπιφάνειας, μεταξύ της αποκατάστασης και του δοντιού, η οποία αποτελεί τον πιο αδύναμο κρίκο αυτών των αποκαταστάσεων. Έχουν προταθεί διάφορες μέθοδοι για την επεξεργασία και τον καθαρισμό της εσωτερικής επιφάνειας της αποκατάστασης πριν από τη συγκόλληση. Σκοπός Σκοπός της παρούσας μελέτης είναι η αξιολόγηση της επίδρασης της γήρανσης στην αντοχή της συγκόλλησης μετά από διαφορετικές επεξεργασίες καθαρισμού της επιφάνειας ζιρκονίας . Υλικά και μέθοδοι Πρώτη φάση: Κατασκευάστηκαν 30 δοκίμια με την ενσωμάτωση των ράβδων ζιρκονίας σε κυλινδρικές προσαρμοσμένες μήτρες ακρυλικής ρητίνης. Στη συνέχεια οι δίσκοι εμβαπτίστηκαν σε φρέσκο ανθρώπινο σάλιο για 60 s. Δεύτερη φάση: 10 δείγματα καθαρίστηκαν με καταιονισμό νερού (CG), 10 δείγματα όμοια με τα προηγούμενα καθαρίστηκαν σε λουτρό υπερήχων(UL), 10 ακόμη δείγματα υποβλήθηκαν σε επεξεργασία με διάλυμα καθαρισμού Ivoclean(IV). Όλα τα δοκίμια συγκολλήθηκαν με SpeedCem Plus. Τρίτη φάση :Τα δοκίμια υποβλήθηκαν σε 500 κύκλους thermocycling από 5ο C έως 55ο C σύμφωνα με το πρότυπο ISO 11405:2003. Τέταρτη φάση: Μετά τη θερμική κόπωση των δοκιμίων διενεργήθηκε δοκιμή αντοχής του δεσμού συγκόλλησης σε διατμητικές τάσεις στο Tensometer 10, Monsanto , (ικανότητα 10kN, 1.000 kgf/2200lbf) Part No. TC914 Αποτελέσματα Η επίδραση του καθαριστικού παράγοντα στην αντοχή δεσμού μεταξύ ζιρκονίας και ρητινώδους κονίας ήταν στατιστικά σημαντική . Τα δοκίμια που υποβλήθηκαν σε επεξεργασία με τον παράγοντα Ivoclean παρουσίασαν την υψηλότερη αντοχή συγκόλλησης. Συμπέρασμα Ο επιφανειακός καθαρισμός των αποκαταστάσεων ζιρκονίας μετά από κλινική δοκιμή με το Ivoclean φαίνεται να είναι μια αξιόπιστη μέθοδος που δίνει υψηλότερη αντοχή δεσμού από άλλες προτεινόμενες μεθόδους στη βιβλιογραφία.Introduction Zirconia-based ceramics, especially yttria-stabilized tetragonal zirconia polycrystal (Y-TZP) are the most extensively studied ones in dentistry. The survival of Y-TZP restorations relies, among other aspects, on the durability of the interface, between the restoration and the tooth which is the weakest link of these restorations. Several methods have been proposed for the pre-cementation treatment and cleaning of the restoration’s interior surface. Αim The aim of this study was to evaluate the effect of ageing on the bonding strength after different zirconia surface cleaning treatments. Materials and Methods phase one: 30 specimens were fabricated by embedding the zirconia ingots in cylindrical customized acrylic resin matrices. Thereafter the discs were immersed in fresh human saliva for 60 s. phase two: 10 specimens were cleaned with water-spray rinsing (CG), 10 specimens identical to the previous ones were cleaned in an ultrasonic bath (UL), 10 more specimens were treated with Ivoclean cleaning solution(IV). All specimens were bonded with SpeedCem Plus. phase three: The specimens underwent 500 cycles of thermocycling from 5o C to 55o C according to ISO 11405:2003. phase four: After thermocycling a shear bond strength test was performed in the Tensometer 10, Monsanto , (Capacity 10kN, 1.000 kgf/2200lbf) Part No. TC914 Results Τhe effect of the cleaning agent on the bond strength between zirconia and composite resin was statistically significant . The specimens treated with agent Ivoclean showed the highest bond strength. Conclusion Surface cleaning of Zirconia restorations after clinical trial with Ivoclean seems to be a reliable method that gives a higher bond strength than other proposed methods in the literature

    Exploring the Impact of Source Code Linearity on the Programmer's Comprehension of API Code Examples

    Get PDF
    Context: Application Programming Interface (API) code examples are an essential knowledge resource for learning APIs. However, a few user studies have explored how the structural characteristics of the source code in code examples impact their comprehensibility and reusability.Objectives: We investigated whether the (a) linearity and (b) length of the source code in API code examples affect users' performance in terms of correctness and time spent. We also collected subjective ratings.Methods: We conducted an online controlled code comprehension experiment with 61 Java developers. As a case study, we used the API code examples from the Joda-Time Java library. We had participants perform code comprehension and reuse tasks on variants of the example with different lengths and degrees of linearity.Findings: Participants demonstrated faster reaction times when exposed to linear code examples. However, no substantial differences in correctness or subjective ratings were observed.Implications: Our findings suggest that the linear presentation of a source code may enhance initial example understanding and reusability. This, in turn, may provide API developers with some insights into the effective structuring of their API code examples. However, we highlight the need for further investigation

    Towards hybrid model persistence

    Get PDF
    Change-based persistence has the potential to support faster and more accurate model comparison, merging, as well as a range of analytics activities. However, reconstructing the state of a model by replaying its editing history every time the model needs to be queried or modified can get increasingly expensive as the model grows in size. In this work, we integrate change-based and state-based persistence mechanisms in a hybrid model persistence approach that delivers the best of both worlds. In this paper, we present the design of our hybrid model persistence approach and report on its impact on time and memory footprint for model loading, saving, and storage space usage

    Towards efficient comparison of change-based models

    Get PDF
    Comparison of large models can be time-consuming since every element has to be visited, matched, and compared with its respective element in other models. This can result in bottlenecks in collaborative modelling environments, where identifying differences between two versions of a model is desirable. Reducing the comparison process to only the elements that have been modified since a previous known state (e.g., previous version) could significantly reduce the time required for large model comparison. This paper presents how change-based persistence can be used to localise the comparison of models so that only elements affected by recent changes are compared and to substantially reduce comparison and differencing time (up to 90% in some experiments) compared to state-based model comparison

    Vaultage: automatic generation of secure communication around decentralised user-managed data vaults

    Get PDF
    The storage of user data in centralised systems is a standard procedure followed by online service providers such as social networks. This requires users to trust these providers, and, to some extent, users are not in complete control over their data. A potential way to bring back this control is the promotion of user-managed data vaults, i.e., encrypted storage systems located in personal devices. Enabling communication between these data vaults could allow creating decentralised applications where users decide which data to share, and with whom. Nevertheless, developing such decentralised applications requires a considerable amount of work, as well as expertise in deploying secure peer-to-peer communication systems. We present Vaultage, a model-based framework that can simplify the development of data vault-based applications by automatically generating a secure communication infrastructure from a domain-specific model. We demonstrate the core features of Vaultage through a decentralised social network application case study, and we report on the findings of evaluation experiments that show Vaultage's code generation capabilities and some performance analysis of the generated network components.This work has been funded through the York-Maastricht partnership’s Responsible Data Science by Design programme (https://www.york.ac.uk/maastricht/)
    corecore