Welcome to the Bx Examples Repository
This part of the bx-wiki is where you will find examples of bidirectional transformations (bx). We hope this will be useful to the community of people researching and using bx. Each example has a unique identifier for easy reference in papers etc., and a standard(ish) format. Artefacts such as transformation code may be included in some cases.
A rough naming convention seems to have emerged: names of examples that have something to do with the real world start with UpperCase, while examples constructed for purely technical reasons of demonstrating some point start with lowerCase.
A "(B)" after the name of an example indicates that this example is available as a benchmarx, i.e., comes along with some concrete artefacts for testing and evaluating solutions in an automated manner.
Alphabetical list of examples
- BeltAndShoes
- BPMNToUseCaseWorkFlows
- CatPictures
- CAD-CAM-CNC-ProcessChain
- ClassDiagramsToDataBaseSchemas
- Collapse-ExpandStateDiagrams
- CompanyToIT
- Composers
- continuousNotHolderContinuous
- Cooperate UML Class Diagram Syntax Models
- Ecore2HTML
- ExpressionTreesAndDAGs
- FamilyToPersons (B)
- FeatureModelsConciseAndSafe
- FolksonomyDataGenerator
- Gantt2CPMNetworks
- hegnerInformationOrdering
- LanguageEditorMigration
- LeitnersSystemAndDictionaryDSL
- LibraryToBibliography
- ListToTree
- Megamodel
- meertensIntersect
- migrationOfBags
- ModelTests
- nonMatching
- nonSimplyMatching
- notQuiteTrivial
- OpenStreetMap
- PatientAppointmentBloodtest
- Person2Person (B)
- PetriNetToStateChart
- plusMinus
- PositionalBrowsing
- ProcessDSL
- ProductRequirementsToSimulinkProject
- qvtrPreferringCreationToReuse
- ReadAccessControl
- SDFToSense
- SetsToOrderedSets
- Sokoban
- spanNonDifuncLeakFree
- spanNonMinInt
- TrainCrossroads
- UML2C
- umloperationstojavaoperations
- undoableNotHistoryIgnorant
- undoableNotSimplyMatching
- universal
- unweightedAndWeightedPetriNets
- WaterTank
- weakVsStrongContinuity
- WikipediaTranslation
Editing the repository
In each example, there is a section where anyone (with a bx-wiki account) can comment; please do suggest improvements, ask questions etc. there.
Apart from in the comment section, please do not edit the examples
If you wish to add a new example, please contact the curators.
(Technical limitations of this wiki site make it impossible to limit edit access to the curators. We trust you, and will revert if necessary ;-)
Curators: James Cheney, Jeremy Gibbons, James McKinna, Perdita Stevens
Finding relevant examples
As the list of examples grows, a new problem develops: how to find the examples relevant to you? We are thinking about the best way to do this. For now, google does a pretty good job, provided that terms describing what you're interested in occur in the examples you're interested in. E.g. if you stick
"history ignorant" site:bx-community.wikidot.com/examples
into google, your hits will be the examples that mention the term history ignorant. Even without the site: specifier, googling works pretty well if you have a good idea that something in the example repository is what you're looking for; try googling
bx example composers
Citing the examples
If you wish to reference a particular example, we suggest doing so like this:
@Misc{composers,
author = {Perdita Stevens and James McKinna and James Cheney},
title = { {\sc Composers} v0.1 in {Bx} {Examples} {Repository} },
howpublished = {\url{http://bx-community.wikidot.com/examples:home}},
note = {Date retrieved: 16 Jan 2014}
}
We intend that the name and version number of the example should suffice to identify it sufficiently precisely - any changes within a version number should be at most minor rewordings - but it is often considered good practice to include a Date retrieved as well, in any case. Please include the authors of the particular example concerned, and the top-level URL of the whole repository, as shown.
If you wish to mention the repository as a whole, you might prefer to cite the Bx'14 paper about it, Towards a Repository of Bx Examples (pdf)
BibTeX here