180 research outputs found

    Static and dynamic structure in design patterns

    Get PDF
    technical reportDesign patterns are a valuable mechanism for emphasizing structure, capturing design expertise, and facilitating restructuring of software systems. Patterns are typically applied in the context of an object-oriented language and are implemented so that the pattern participants correspond to object instances that are created and connected at run-time. This paper describes a complementary realization of design patterns, in which the pattern participants are statically instantiated and connected components. Our approach separates the static parts of the software design from the dynamic parts of the system behavior. This separation makes the software design more amenable to analysis, enabling more effective and domain specific detection of system design errors, prediction of run-time behavior, and more effective optimization. This technique is applicable to imperative, functional, and object-oriented languages: we have extended C, Scheme, and Java with our component model. In this paper, we illustrate this approach in the context of the OSKit, a collection of operating system components written in C

    Modeling Business Processes on a Blockchain Ecosystem using CMMN

    Get PDF
    Plokiahela kohta on spekuleeritud, et see on “kõige olulisem leiutis pärast Internetti” ning et sellel on potentsiaal pakkuda märkmisväärset ärilist väärtust nii finants- kui ka teistes sektorites. Sellest tulenevalt on ettevõtted hakanud uurima, kuidas oleks neil võimalik oma äriprotsessides plokiahelatehnoloogiast kasu saada. Siiski, lihtsalt olemasolevate protsesside asendamine uute tehnoloogiatega ei paku soovitud tulemusi. Sellest tulenevalt disainitakse olukordades, kus protsessimudelid on protsessianalüüsi ning selle innovatsiooni aluseks, protsesse täiesti ümber. Käesolevas töös uuritakse, kuidas plokiahelale orienteeritud protsesse saab modelleerida CMMN modelleerimiskeele abil, kuna see on artefakti-põhine modellerimiskeel. Selline lähenemine võib olla eriti kasulik plokiahelale orienteeritud protsesside modelleerimisel, kuna plokiahelate peamine fookus on andmetel, mis on lisatud ahelasse ning jagatud erinevate osapoolte vahel. Käesolev töö põhineb juhtumianalüüsil, mis on läbi viidud mittetulundusühingus, mis tegeleb puidutoodetega kauplevate ettevõtete sertifitseerimisteenuste pakkumisega. Nimetatud organisatsiooni auditeerimisprotsessid kujundati ümber kasutades plokiahelat ning nutikaid lepingutehnoloogiaid, mille järel modelleeriti need kasutades CMMN modelleerimiskeelt. Analüüsimaks, kas CMMN modelleerimiskeel on plokiahelale tuginevate protsesside modelleerimiseks sobilik, kasutati raamistikku, mis hõlmab üldlevinud mustreid, mis on omased plokiahelale tuginevatele rakendustele. Selle tulemusena ilmnes, et CMMN modelleerimiskeele abil on võimalik plokiahelale tuginevaid protsesse üldiselt adekvaatselt kirjeldada, küll aga on siiski puudus elementidest modelleerimaks täpsemaid plokiahelatele ning nutikatele lepingutehnoloogiatele omaseid detaile.Blockchain has been speculated to be “the most important invention since the Internet” and has the potential to deliver significant business value for both financial and non-financial industries. That is why companies have started to explore how their business processes can benefit from this technology. However, a simple substitution of a current process with new technology will not provide desired outcomes. For this purpose, process redesign is used where process models are made the basis of process analysis and its innovation. This paper examines how blockchain-oriented processes can be modelled with CMMN as it is an artefact-centric modelling language. Such an approach might be particularly useful while modeling blockchain-oriented processes as the fundamental focus of blockchain is on data that is added on a chain and shared between participants. This paper is based on a case study of a non-profit organization providing certification services for companies trading timber-relates products. The auditing process of this organization was redesign using blockchain and smart contract technologies and then was modelled with CMMN. For analysis of the suitability of CMMN for modelling blockchain-based processes a framework for commonly occurring patterns that are specific to blockchain-based applications was used. As a result, CMMN can adequately represent blockchain-oriented processes. However, there is a lack of elements in the notation to accurately model certain details specific to blockchain and smart contract technologies
    corecore