blob: 1e6c38b8c957de1fff666033061d9d351c204f56 [file] [log] [blame]
import 'platform:/resource/org.eclipse.emf.examples.library/model/extlibrary.ecore'
package extlibrary
context Library
-- get all books with a title in a library and its branches (recursively)
def: getBooks(title : String) : Set(Book) =
books->select(b | b.title = title)->asSet()->union(
context Book
-- the library containing a book
def: library : Library = Library.allInstances()->any(books->includes(self))
-- book titles are unique within their library branch (and its sub-branches)
inv unique_title: not library.oclIsUndefined() implies
library.getBooks(title) = Set{self}