- 264 -Mazzola, Guerino / Noll, Thomas / Lluis-Puebla, Emilio: Perspectives in Mathematical and Computational Music Theory 
  Erste Seite (1) Vorherige Seite (263)Nächste Seite (265) Letzte Seite (454)      Suchen  Nur aktuelle Seite durchsuchen Gesamtes Dokument durchsuchen     Aktuelle Seite drucken Hilfe 

1.3 Integration Preconditions

The combination and partially also the selection type of configuration are based on several assumptions and preconditions about the components which are to be integrated:

Accessibility:
Each component should be fully accessible, because if it is only usable in a specific context, for example as a subfunctionality of a bigger component, or within a fixed predefined configuration, it might not be possible to use its full parameterization possibilities. To gain full accessibility, each component must be either »exported« (made available) explicitely, or a scripting component generically exporting any existing component living in its environment must be deployed.1
 
1  
Note that full accessibility might violate some software development principles, such as encapsulation (information hiding). Commercially available software programs typically only export a limited set of it functionality for several reasons. When a programming interface changes in a new version, user defined scripts could easily become invalid and cause frustration. But if users are too content, because they may extend the software by themselves, they would probably also not buy a new version. As we will see, the examined non-commercial software packages follow an approach of higher accessibility.
Common environment:
In order to combine two components technically, they must share a common environment. This can be the address space of a program, a file system or one or more operating systems of a network. Components can be combined programmatically or manually by performing actions. Note that the performance of passing data and control between the components within the environment depends on the tightness of their integration. It can be an important factor for the usefulness of the integration: Consider an integration by hand, where the musicologist for each of 500 scores must first start an application like Rubato, adjust the settings, produce a result, save it, then start another application, do something there and save the result. This way, if not sufficiently automated, corpus-based analysis can be very tedious and error prone.
Data coherence:
A precondition for combining two components is that the type of data the calling component (or the calling environment) provides, matches the data, that the called component expects. Mathematically speaking: The concatenation of two functions is only possible, if the codomain of the first identifies to or is a subset of the domain of the second. In computer science the situation is more complicated than in mathematics, because domain and codomain include not only the semantical type (e.g. a number), but also the representation type (e.g. an integer or a string), as well as the environment type (see above).

2 Humdrum: Basic Score Processing

The Humdrum toolkit is a collection of text based command line tools for corpus-based music analysis. The Humdrum data format and the tools were designed with


Erste Seite (1) Vorherige Seite (263)Nächste Seite (265) Letzte Seite (454)      Suchen  Nur aktuelle Seite durchsuchen Gesamtes Dokument durchsuchen     Aktuelle Seite drucken Hilfe 
- 264 -Mazzola, Guerino / Noll, Thomas / Lluis-Puebla, Emilio: Perspectives in Mathematical and Computational Music Theory