214 research outputs found
Stepwise Refinement of Formal Specifications Based on Logical Formulae: from COOPN/2 Specifications to Java Programs
One of the steps making it possible to increase the quality and the reliability of the software executing on distributed systems consists of the use of methods of software engineering that are known as formal. The majority of the formal methods currently existing correspond in fact more to formal specifications languages than to methods themselves. This is due to the fact that the two fundamental aspects which are: the logic of use of the language and the coverage of the software life cycle are not, for the majority, defined. The development by stepwise refinement is one of the means making it possible to define these two aspects. This thesis aims to the definition of the concepts of refinement and implementation of model-oriented formal specifications. It brings a methodological base making it possible to use such a specifications language during a development by stepwise refinements and during the implementation stage. This thesis defines, initially, a theoretical framework for the refinement and the implementation of formal specifications. The main idea consists in associating a contract with each specification. A contract explicitly represents the whole of the properties of the specification which it is necessary to preserve at the time of a refinement of this specification. To show that a concrete specification refines some abstract specification, it is then a matter of showing that the contract of the concrete specification is sufficient to ensure the properties corresponding to the contract of the abstract specification. The second part of this thesis consists in applying this theoretical framework in the context of the CO-OPN/2 language. CO-OPN/2 is an object-oriented formal specifications language founded on algebraic specifications and Petri nets. Thus, definitions of the concepts of contracts, refinement and implementation are proposed for this language. The contracts are expressed using the Hennessy-Milner temporal logic (HML). This logic is used in the theory of test provided with language CO-OPN/2. Thus, the verification of the contractual properties, as well as the verification of the stages of refinement are facilitated. Refinement and implementation are controlled semantically by the satisfaction of the contracts; syntactically, a renaming is authorised. We specifically study the implementation using the Java programming language. We show how to specify classes of the Java programming language using language CO-OPN/2, so that the last stage of the process of refinement leads to a specification entirely built using CO-OPN/2 components specifying Java classes. The stage of implementation in the Java language itself is thus facilitated. The third part of this thesis shows how it is possible to practically verify that a CO-OPN/2 specification satisfies its own contract, that a stage of refinement is correctly carried out, and finally that the stage of implementation is correctly performed. These verifications are carried out using the theory of the test provided with language CO-OPN/2. Finally, the last part of this thesis illustrates the cogency of this approach by applying it to a complete and detailed case study. A distributed Java application is developped according to the method introduced for the CO-OPN/2 language. Refinement is guided mainly by the satisfaction of functional requirements and by constraints of design integrating the concept of client/server architecture. Lastly, the stages chosen in the refinement process of this development make it possible to study aspects specific to distributed applications, and to propose generic schemas for the design of such applications
The future of complexity engineering
Complexity Engineering encompasses a set of approaches to engineering systems which are typically composed of various interacting entities often exhibiting self-* behaviours and emergence. The engineer or designer uses methods that benefit from the findings of complexity science and often considerably differ from the classical engineering approach of "divide and conquer".This article provides an overview on some very interdisciplinary and innovative research areas and projects in the field of Complexity Engineering, including synthetic biology, chemistry, artificial life, self-healing materials and others. It then classifies the presented work according to five types of nature-inspired technology, namely: (1) using technology to understand nature, (2) nature-inspiration for technology, (3) using technology on natural systems, (4) using biotechnology methods in software engineering, and (5) using technology to model nature. Finally, future trends in Complexity Engineering are indicated and related risks are discussed
Cooperative Multiagent System for Parking Availability Prediction Based on Time Varying Dynamic Markov Chains
Traffic congestion is one of the main issues in the study of transportation planning and management. It creates different problems including environmental pollution and health problem and incurs a cost which is increasing through years. One-third of this congestion is created by cars searching for parking places. Drivers may be aware that parking places are fully occupied but will drive around hoping that a parking place may become vacant. Opportunistic services, involving learning, predicting, and exploiting Internet of Things scenarios, are able to adapt to dynamic unforeseen situations and have the potential to ease parking search issues. Hence, in this paper, a cooperative dynamic prediction mechanism between multiple agents for parking space availability in the neighborhood, integrating foreseen and unforeseen events and adapting for long-term changes, is proposed. An agent in each parking place will use a dynamic and time varying Markov chain to predict the parking availability and these agents will communicate to produce the parking availability prediction in the whole neighborhood. Furthermore, a learning approach is proposed where the system can adapt to different changes in the parking demand including long-term changes. Simulation results, using synthesized data based on an actual parking lot data from a shopping mall in Geneva, show that the proposed model is promising based on the learning accuracy with service adaptation and performance in different cases
A Generic Framework for the Engineering of Self-Adaptive and Self-Organising Systems
This paper provides a unifying view for the engineering of
self-adaptive (SA) and self-organising (SO) systems. We first
identify requirements for designing and building trustworthy
self-adaptive and self-organising systems. Second, we propose a
generic framework combining design-time and run-time features,
which permit the definition and analysis at design-time of
mechanisms that both ensure and constrain the run-time behaviour of
an SA or SO system, thereby providing some assurance of its self-*
capabilities. We show how this framework applies to both an SA
and an SO system, and discuss several current proof-of-concept
studies on the enabling technologies
Description and composition of bio-inspired design patterns: a complete overview
In the last decade, bio-inspired self-organising mechanisms have been applied to different domains, achieving results beyond traditional approaches. However, researchers usually use these mechanisms in an ad-hoc manner. In this way, their interpretation, definition, boundary (i.e. when one mechanism stops, and when another starts), and implementation typically vary in the existing literature, thus preventing these mechanisms from being applied clearly and systematically to solve recurrent problems. To ease engineering of artificial bio-inspired systems, this paper describes a catalogue of bio-inspired mechanisms in terms of modular and reusable design patterns organised into different layers. This catalogue uniformly frames and classifies a variety of different patterns. Additionally, this paper places the design patterns inside existing self-organising methodologies and hints for selecting and using a design patter
Formal Development and Validation of Java Dependable Distributed Systems
The rapid expansion of Java programs into software market is often not supported by a proper development methodology. Here, we present a formal development methodology well-suited for Java dependable distributed applications. It is based on the stepwise refinement of model-oriented formal spcifications, and enables validation of the obtained systme wrt the client's requirements. Three refinement steps have been identified in the case of fault-tolerant distributed applications: first, starting from informal requirements, an initial formal specification is derived. It does not depend on implementation constraints and provides a centralized solution; second, dependability and distribution constraints are integrated; third, the Java implementation is realised. The CO-OPN/2 language is used to express specifications formally; and the dependability and distribution design is based on the Coordinated Atomic action concept. The methodology and the three refinement steps are presented through a very simple fault-tolerant distributed Java application
Bolničke infekcije urinarnog traktaposlije kateterizacije pacijenata u Općoj bolnici Dubrovnik Nosocomial infections of the urinary tract after catheterization of patients at the General Hospital Dubrovnik
Uvod: Kateterizacijamokraćnog sustava u početku je izvođena uporabom šupljihdrvenih cjevčica i palminog lišća. Danas se urinarni kateteri izrađuju od fleksibilnih lako sterilizirajućih materijala.Bolničke infekcije vodeći su uzrok morbiditeta i mortaliteta kod bolesnika u bolničkom režimu liječenja. Usporedo s razvojem materijala za izradu urinarnih katetera povećavala se i njihova uporaba, ali i incidencija infekcija mokraćnog sustava. Bilježenje, analiza i upotreba podataka o infekcijama važan su dio planiranja mjera kojima možemo utjecati
na prevenciju, ali i na što učinkovitije liječenje već nastalih infekcija, i to posebice zbog potrebe kontinuiranog smanjenja direktnih i indirektnih troškova liječenja.
Metode: Retrospektivno deskriptivno istraživanje. Istraživanje je provedeno u Općoj bolnici Dubrovnik u vremenu od 2011. do 2015. godine. Uključni su kriteriji bili, i to: ukupan broj bolesnika te onih kod kojih je učinjena kateterizacija mokraćnog mjehura; pacijenti s mikrobiološkom analizom verificiranim postojanje infekcija urotrakta, podatci o broju dana bolničkog liječenja, bolnički odjel, u razmatranje je uvršteno pet bolničkih odjela, verificirano postojanje antibiograma
pretrage urina. U istraživanom razdoblju iznalazi se da je bolnički liječeno 10615 bolesnika, a uključne kriterije zadovoljavaju 204 bolesnika.
Rezultati: Ukupni broj infekcija uzrokovan kateterizacijom mokraćnog sustava iznosio je 1,9%, s najvećom incidencijom u starosnoj dobi većoj od 65 godina [77,45%]. U odnosu na incidenciju, uzročnici infekcije mokračnog sustava bili su, i to: Pseudomonas (22,05%), Klebsiella (19,11%), Enterococcus (15,58%), Escherichia
(15,58%) Enterobacter (8,33%). U odnosu na spol, značajno je niža pojavnost kod ženske populacije[54,42%], u odnosu na do danas publicirane rezultate. Značajno je niska pojavnost infekcija uzrokovanih zlatnim stafilokokom [1;0,49%]. Zastupljenost po spolovima u znatnoj je mjeri odstupala od očekivanih rezultata. Literaturni navodi usmjeravaju na očekivanje značajno višeg postotka žena sa IMS-u povezanim s kateterizacijom, u rasponu od 75–80%, ovisno o
izvoru. U muškoj populaciji infekcija mokraćnog sutava zabilježena je u obimu od 45,58%.
Zaključak: Prevalencija verificiranih infekcija mokraćnog sustava koje su uzrokovane kateterizacijom ne razlikuje se značajno od do danas publiciranih rezultata učinjenih studija. Međutim, iznalazi se značajno veća incidencija infekcije mokraćnog sustava u bolesnika muške populacije u odnosu na publicirane rezultate sličnih studija. Stoga se iznalazi potreba za dodatnom analizom pojavnosti infekcija mokraćnog trakta uzrokovanih kateterizacijom, u kojoj bi trebalo usporediti prevalenciju infekcije u odnosu na pojavnost po svakom pojedinom
bolničkom odjelu i to u ovisnosti o sveukupnom broju hospitaliziranih pacijenata i verificiranih dijagnoza. Visoka incidencija infekcije kod bolesnika muške po-pulacije nije kompatibilna s dosad publiciranim rezultatima, te navedeno može biti značajan čimbenik u daljnjoj evaluaciji točnosti podataka informatičkog sustava Opće bolnice Dubrovnik i za provođenje budućih istraživanja
- …