Show simple item record

dc.contributor.authorGeorgiou, Chryssisen
dc.contributor.authorLynch, N.en
dc.contributor.authorMavrommatis, Panayiotisen
dc.contributor.authorTauber, J. A.en
dc.creatorGeorgiou, Chryssisen
dc.creatorLynch, N.en
dc.creatorMavrommatis, Panayiotisen
dc.creatorTauber, J. A.en
dc.date.accessioned2019-11-13T10:40:10Z
dc.date.available2019-11-13T10:40:10Z
dc.date.issued2009
dc.identifier.issn1433-2779
dc.identifier.urihttp://gnosis.library.ucy.ac.cy/handle/7/53989
dc.description.abstractIOA is a formal language for describing Input/Output automata that serves both as a formal specification language and as a programming language (Garland et al. in http://theory.lcs.mit.edu/tds/ioa/manual.ps, 2004). The IOA compiler automatically translates IOA specifications into Java code that runs on a set of workstations communicating via the Message Passing Interface. This paper describes the process of compiling IOA specifications and our experiences running several distributed algorithms, ranging from simple ones such as the Le Lann, Chang and Roberts (LCR) leader election in a ring algorithm to that of Gallager, Humblet and Spira (GHS) for minimum-weight spanning tree formation in an arbitrary graph (Humblet et al. in ACM Trans Program Lang Syst 5(1):66-77, 1983). Our IOA code for all the algorithms is derived from their Input/Output automaton descriptions that have already been formally proved correct. The successful implementation of these algorithms is significant for two reasons: (a) it is an indication of the capabilities of the IOA compiler and of its advanced state of development, and (b) to the best of our knowledge, these are the first complex, distributed algorithms implemented in an automated way that have been formally and rigorously proved correct. Thus, this work shows that it is possible to formally specify, prove correct, and implement complex distributed algorithms using a common formal methodology. © Springer-Verlag 2009.en
dc.sourceInternational Journal on Software Tools for Technology Transferen
dc.source.urihttps://www.scopus.com/inward/record.uri?eid=2-s2.0-60849135690&doi=10.1007%2fs10009-008-0097-7&partnerID=40&md5=47cf5ba2c19fc318ebf5ec52c7fcd6eb
dc.subjectSpecificationsen
dc.subjectParallel algorithmsen
dc.subjectLinguisticsen
dc.subjectAutomata theoryen
dc.subjectTranslation (languages)en
dc.subjectAutomationen
dc.subjectRobotsen
dc.subjectTrees (mathematics)en
dc.subjectDistributed algorithmsen
dc.subjectMessage passingen
dc.subjectProgram compilersen
dc.subjectNetwork componentsen
dc.subjectJava codesen
dc.subjectArbitrary graphsen
dc.subjectAutomated code generatoren
dc.subjectFormal languagesen
dc.subjectFormal methodsen
dc.subjectFormal specification languagesen
dc.subjectInput/Output automataen
dc.subjectIOA Toolkiten
dc.subjectLeader electionsen
dc.subjectMessage passing interfacesen
dc.subjectProgramming languagesen
dc.subjectSpanning treesen
dc.subjectSpecification languagesen
dc.subjectVerifiable distributed codeen
dc.titleAutomated implementation of complex distributed algorithms specified in the IOA languageen
dc.typeinfo:eu-repo/semantics/article
dc.identifier.doi10.1007/s10009-008-0097-7
dc.description.volume11
dc.description.issue2
dc.description.startingpage153
dc.description.endingpage171
dc.author.faculty002 Σχολή Θετικών και Εφαρμοσμένων Επιστημών / Faculty of Pure and Applied Sciences
dc.author.departmentΤμήμα Πληροφορικής / Department of Computer Science
dc.type.uhtypeArticleen
dc.description.notes<p>Cited By :10</p>en
dc.source.abbreviationInt.J.Softw.Tools Technol.Trans.en
dc.contributor.orcidGeorgiou, Chryssis [0000-0003-4360-0260]
dc.gnosis.orcid0000-0003-4360-0260


Files in this item

FilesSizeFormatView

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record