adapts one interface into another that a client expects. An adaptor allows classes to work together that normally could not because of incompatible interfaces by wrapping its own interface around that of an already existing class or interface.
is a part of a program that cross-cuts its core concerns, therefore violating its separation of concerns.
(Aspect Oriented Programming) attempts to aid programmers in the separation of concerns, specifically cross-cutting concerns, as an advance in modularization.
is a reusable block of computer code or script that, when applied to an object causes it to respond to input in meaningful patterns. In Elmo a behaviour is a class associated to a subject type.
is a series of processing objects. Each processing object contains a set of logic that describes the types of command objects that it can handle, and how to pass off those that it cannot to the next processing object in the chain. Behaviours with the same signature are chained together until a value is returned.
is an ordinal type of measurement. Modules with high cohesion tend to be preferable because high cohesion is associated with several desirable traits of software including robustness, reliability, re-usability, and understandability whereas low cohesion is associated with undesirable traits such as being difficult to maintain, difficult to test, difficult to reuse, and even difficult to understand.
is analogous to logical negation: the class extension consists of those individuals that are NOT members of the class extension of the complement class.
is a field of study within software engineering. It claims that software components, like the idea of hardware components, used for example in telecommunications, can ultimately be made interchangeable and reliable.
is a way and practise to combine simple objects or data types into more complex ones.
is a description of supported operations on a type, including syntax and semantics. In Elmo the semantics specify the subject type and property predicates of a Java interface.
allows client software to talk to repository server software, whether these exist on the same machine or not. A connection is required to send commands and receive answers, usually in the form of a result set. All JavaBean properties are stored and retrieved over a repository connection.
are aspects of a program which affect (crosscut) other concerns. These concerns often cannot be cleanly decomposed from the rest of the system in both the design and implementation, and result in either scattering or tangling of the program, or both.
is a constraint placed upon the interpretation of data in a type system in computer programming.
will assert that a subject that is being assigned to one type cannot simultaneously be an instance of a specified other type.
indicates the relevant set of entities that are being dealt with by quantifiers.
can be thought as a conceptual model of a system. A domain model will tell about the various entities involved and their relationships. The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system.
is a connection to a JavaBean pool. Concept properties are stored, retrieved and converted through an ElmoManager.
is any JavaBean returned from an ElmoManager.
is a resource tracked by unique identity and not by its value.
ties together a set of component ontologies as part of a another. It is frequently useful to indicate that a particular class or property in one ontology is equivalent to a class or property in a second ontology.
is an object that provides a simplified interface to a larger body of code.
(Friend of a Friend) is a project for machine-readable modelling of homepage-like profiles and social networks.
(GEnealogical Data COMmunication) is a specification for exchanging genealogical data between different genealogy software.
is an object-oriented programming language for the Java Platform as an alternative to the Java programming language. It can be viewed as a scripting language for the Java Platform, as it has features similar to those of Python, Ruby, Perl, and Smalltalk.
encapsulate module concerns in dimensions other than the dominant one.
is a single resource.
is behaviour that can be inserted around a method invocation. It allows you to transparently apply cross-cutting behaviour, like logging and metrics, to an existing object model.
describes a class for which the class extension contains precisely those individuals that are members of the class extension of all class descriptions in the list.
associates two properties with inverted subject and value. i.e. If a property, P1, is tagged as the inverseOf P2, then for all x and y: P1(x,y) iff P2(y,x)
is an object-oriented programming principle that can be used to reduce coupling inherent in computer programs it is also know as dependency injection.
is a reusable software component that can be manipulated visually in a builder tool.
is a point in the control flow of a program, like a method call.
is the string value of a literal.
is the most primitive value type represented in RDF, typically a string of characters. The content of a literal is not interpreted by RDF itself and may contain additional XML markup. Literals are distinguished from Resources in that the RDF model does not permit literals to be the subject of a statement (a subject, predicate, value triple).
is the adaptation of an object to a locality. In Elmo only String localization is supported.
programming is a style of software development where units of functionality are created in a class and then mixed in with other classes.
is a self-contained component of a system, which has a well-defined interface to the other components.
programming (OOP) is a programming paradigm that uses "objects" to design applications and computer programs.
is to observe the state of an object in a program.
is a restriction on a property value that must be one of the listed values.
is a data model that represents a set of concepts within a domain and the relationships between those concepts. It is used to reason about the objects within that domain.
(Web Ontology Language) is a language for defining and instantiating Web ontologies. An OWL ontology may include descriptions of classes, along with their related properties and instances. OWL is designed for use by applications that need to process the content of information instead of just presenting information to humans.
is a set of join points. Whenever the program execution reaches one of the join points described in the pointcut, a piece of code associated with the pointcut (called advice) is executed.
is a trait or aspect about that resource that is being described. In Elmo every persistent property has a predicate.
consists of the parts of a program that (potentially) affect the values computed at some point of interest, referred to as a slicing criterion.
is an unambiguous name that specifies specifically which object, function, or variable a call refers to absolutely.
(Resource Description Framework) is a family of World Wide Web Consortium (W3C) specifications originally designed as a metadata model using XML but which has come to be used as a general method of modelling knowledge, through a variety of syntax formats (XML and non-XML).
or RDF Schema is an extensible knowledge representation language, providing basic elements for the description of ontologies, otherwise called RDF vocabularies, intended to structure RDF resources.
performs the act of using reason to derive a conclusion from certain premises, using a given methodology.
is a central place where data is stored and maintained.
is a concept, behaviour, interface of a behaviour, or interceptor that an entity can be a composition of.
is a family of web feed formats used to publish frequently updated digital content, such as blogs, news feeds or pod-casts.
is an evolution of the World Wide Web in which information is machine processable (rather than being only human oriented), thus permitting browsers or other software agents to find, share and combine information more easily.
is a database model. In this model, there is no separation between the data and the schema, and the amount of structure used depends on the purpose.
(SoC) is the process of breaking a program into distinct features that overlap in functionality as little as possible.
is an open source Java framework for storing, querying and reasoning with RDF and RDF Schema. It can be used as a database for RDF and RDF Schema, or as a Java library for applications that need to work with RDF internally.
pattern whereby algorithms can be selected on-the-fly at run-time.
programming is a method of computer program composition that supports building object-oriented systems as compositions of subjects, extending systems by composing them with new subjects, and integrating systems by composing them with one another.
is an n-tuple with n being 3. A triple is a sequence of three elements. It is not a set of three elements, as the ordering of the elements matters, and an element can be present more than once in the same triple.
is a finite sequence (also known as an "ordered list") of objects, each of a specified type. A tuple containing n objects is known as an "n-tuple".
(Uniform Resource Identifier) is a compact string of characters used to identify or name a resource. The main purpose of this identification is to enable interaction with representations of the resource over a network.
is a Uniform Resource Locator, a uniform syntax for global identifiers of network-retrievable documents.
is a Uniform Resource Identifier (URI) that uses the urn scheme, and does not imply availability of the identified resource. Both URNs (names) and URLs (locators) are URIs, and a particular URI may be a name and a locator at the same time.
was published as a W3C Recommendation in May 2001, is one of several XML schema languages.