Robert France
email: france@cs.colostate.edu

Franck Fleurey
email: fleurey@irisa.fr

Raghu Reddy

Benoit Baudry
email: bbaudry@irisa.fr

Sudipto Ghosh
email: ghosh@cs.colostate.edu

Providing Support for Model Composition in Metamodels

In aspect-oriented modeling (AOM), a design is described using a set of design views. It is sometimes necessary to compose the views to obtain an integrated view that can be analyzed by tools. Analysis can uncover conflicts and interactions that give rise to undesirable emergent behavior. Design models tend to have complex structures and thus manual model composition can be arduous and errorprone. Tools that automate significant parts of model composition are needed if AOM is to gain industrial acceptance.

One way of providing automated support for composing models written in a particular language is to define model composition behavior in the metamodel defining the language. In this paper we show how this can be done by extending the UML metamodel with behavior describing symmetric, signature-based composition of UML model elements. We also describe an implementation of the metamodel that supports systematic composition of UML class models.

Introduction

In our earlier work (e.g., see [START_REF] France | An aspect-oriented approach to design modeling[END_REF]) on aspect-oriented modeling (AOM), a design model consisted of a single primary model and one or more aspect models that each described a feature that crosscuts the dominant structure described in the primary model. Aspect and primary models can be composed to obtain an integrated design model that can be analyzed by existing tools to uncover conflicts and undesirable emergent behavior. It has become apparent that the AOM approach we developed supports a more general form of separation of concerns in which a design is described by a collection of design views. Here, a view is a model that describes how a particular subset of design concerns are addressed. One can still classify the views as primary and aspect, but this distinction is not necessary when using the symmetric composition techniques we developed for composing AOM models [START_REF] Reddy | Directives for composing aspect-oriented design class models[END_REF].

Model composition involves navigating through models and manipulating structures of model elements. Non-trivial models expressed in languages such as the Unified Modeling Language (UML) [START_REF]The Object Management Group. UML 2.0: Superstructure Specification. Version 2.0[END_REF] have complex structures and thus manual composition can be tedious and error-prone. Tools that provide significant automated support for model composition are needed to reduce the accidental complexities associated with manually composing models.

In a previous paper we described a composition metamodel that defined basic model composition behavior [START_REF] Reddy | Directives for composing aspect-oriented design class models[END_REF]. The composition metamodel is an extension of the UML metamodel that includes behavior supporting symmetric, signature-based composition of model elements. In this paper we describe an extension of the composition metamodel that implements flexible model composition through the use of composition directives [START_REF] Reddy | Directives for composing aspect-oriented design class models[END_REF]. We also describe the implementation of the metamodel in the Kermeta language [START_REF] Muller | Weaving executability into object-oriented meta-languages[END_REF][START_REF] Triskell | The KerMeta Project Home Page[END_REF].

The remainder of the paper is structured as follows. In Section 2 we give an overview of signature-based class model composition. A basic composition metamodel for signature-based composition is described in Section 3. An extended composition metamodel that provides support for tailoring the composition is presented in Section 4. In Section 5 we describe the limitations of the current metamodel and its implementation, and we discuss insights gained while developing the metamodel. Related work is discussed in Section 6 and we give our conclusions in Section 7.

Symmetric Signature-Based Model Composition

The composition of design views can be structured into two major phases:

1. Matching Phase: In this phase, model elements that describe different views of the same concept are identified. These elements will be merged in the Merging Phase to obtain an integrated view of the concept.

2. Merging Phase: In this phase, matched model elements are merged to create new model elements that present integrated views of design concepts.

Matching Model Elements

The process of identifying model elements that describe different views of the same concept is called element matching. Matched elements are merged to form a single element that provides an integrated view of the concept. To support automated element matching, each element type is associated with a signature type that determines the uniqueness of elements in the type space 1 : Two elements with equivalent signatures cannot coexist in a model.

A signature type is a set of syntactic properties associated with an element type. A model element's signature consists of the values associated with these properties. For example, if the signature type of a UML class consists of the properties name and isAbstract, then the signature of a concrete class with name ConcClass is {name = ConcClass, isAbstract = f alse}. If two views each have a class with the same name and with the same value for isAbstract then the two classes match and are merged during view composition to form a single class in the composed model. The merged class contains the union of the attributes and operations in the source classes (syntactically equivalent operations and attributes are included only once in the merged class).

A signature type that consists of all syntactic properties associated with a model element is said to be complete. If an element type is associated with a complete signature type then elements of the type match if and only if they are syntactically equivalent. Complete signature types are typically used for matching model elements that must be syntactically identical across the views (i.e., different views of these concepts are not allowed). One can consider these concepts as the primitive building blocks of the problem concept space. An example of a UML model element type that 1 A type space is the set of instances of a class (type) in the metamodel can have a complete signature type is P roperty (instances of this type include class attributes).

Classifiers and other container elements that are used to present different views of the same concept are associated with signature types that are not complete. For example, the signature type for a class does not include its attributes and operations because these are used to present different views of the same concept (i.e., different views of the same concept have different attributes, associations, or operations).

Simple Merging of Model Elements

An example of signature-based merging of class models is given in Fig. 1. The figure shows parts of two views: View1 describes the customer concept from a marketing perspective, while View2 describes the customer concept from an account management perspective. The two views to be merged include class, attribute, and association elements and thus signature types must be associated with these elements before the models can be composed. In this example, the signature type for a class consists only of its name property, while the signature types for the other elements are complete. The Customer classes in View 1 and View 2 match because they have the same name. The name attributes in the Customer class views are syntactically equivalent and thus name : String is included once in the merged class. The class Account appears in one view and not in the other and thus it is included in the composed view. The result is the composed view shown in Fig. 1(c).

Figure 1. An Example of Model Element Matching and Merging

Default merge rules are needed in the cases where the elements to be merged have different values for a singlevalued property that is not included in the signature. Consider the case in which a view consists of an abstract class with the same name as a concrete class in another view. These classes will be matched in a composition of the views that uses a class signature type consisting only of the class name property. Merging these classes is not possible unless there is a rule that determines the value of the single-valued isAbstract property associated with the merged class in the integrated view. The default rule in this case is that the merged class will be abstract. Modelers can override these default merge rules if they are deemed not appropriate.

Merge rules are also needed when different constraints are associated with matching model elements. For example, if two matching attributes are associated with different invariants then a rule is needed to determine how the constraints are to be combined to form a constraint associated with the merged attribute. In this case the default merge rule will associate the conjunction of the invariants with the merged attribute. Similarly, if matching associations have different multiplicities at their corresponding ends, then the default merge rule associates the weaker multiplicity with the end of the merged association in the composed view.

Flexible Model Merging with Composition Directives

Signature-based merging of models can be fully automated, but its use can lead to matching of model elements that represent different concepts (concept misidentification) and that fail to match elements with different signatures that represent the same concept (concept misses). Two models are said to be incompatible with respect to composition if merging yields a model that does not accurately describe the design concepts. Currently, the AOM approach does not provide an automated means for determining model compatibility before models are merged. Developers have to use human judgment or they can compose the views and analyze the composed model to determine if the models are compatible. Providing automated support for determining model compatibility is the focus of our ongoing work on the next generation of AOM techniques. In the remainder of this subsection we outline some situations that can give rise to incompatible models and describe how composition directives can be used to enhance the compatibility of models once the sources of incompatibilities are identified.

The names associated with model elements are often key to finding matching concepts. Consequently, signature types associated with named model elements typically include the name property. The use of names to determine matching elements relies on modelers using names consistently in their models. Inconsistent use of element names is likely to occur in situations where the models to be composed are developed by different modeling teams. For example, a model may have a class named Customer that represents the concept of a customer, while another model may represent the same concept using a class named Client. If a class signature type that includes the name property is associated with classes, then the signature-based approach will fail to match these classes and they will be included in the composed model as representations of different concepts. This is an example of a concept miss.

As an example of concept mis-identification, consider the case in which we have a view created from a billing perspective that consists of a class named Client representing a paying customer, and another view in the same problem space but from the perspective of a supply-chain perspective that consists of a class named Client representing a supplier. These classes will be merged under a name-based signature type resulting in concept mis-identification.

The above naming problems are just one of many types of model incompatibility problems that lead to faulty compositions. A more serious kind of incompatibility problem arises when different types of constructs are used to represent the same concepts across views. For example, a concept may be represented by a class in one view and by an attribute in another.

While our composition approach does not currently support automatic detection of model incompatibilities, it provides mechanisms that modelers can use to resolve some of these problems once they have been identified by the modeler. Modelers can specify composition directives that are used during composition to force matches, disallow merges, and to override default merge rules. Two types of composition directives are currently supported in the composition metamodel described in this paper:

Pre-Merge Directives : These directives specify simple model modifications that are to be made before the models are merged. These changes will force or disallow element matches. For example, in the case where a view uses a Customer class and another view uses a Client class to represent the same concept, a Rename pre-merge directive can be applied in one view to change the name of the class so that it matches the name in the other view. Similarly, if two views use classes with the same name to describe different concepts (as in the billing and supply-chain example given earlier) a Rename pre-merge directive can be used to change the name in one view so that the classes differ in their signatures and thus are not matched during the merge phase.

Post-Merge Directives : These directives specify simple modifications to the merged model. For example, it may be the case that a security view requires the removal of associations that are present in other views. This restriction can be specified as post-merge directives that remove these associations from the merged model.

The following are the types of modifications that can be specified using pre-merge and post-merge directives:

Create : Creates a new model element

Remove : Removes a model element from a namespace in a model

Add : Adds a model element to a namespace in a model

Set : Assigns a value to an element property A pre-merge directive is applied to the views to be merged, while a post-merge directive is applied to a view resulting from merging different views. The modifications are intended to be refactorings, that is, they should not change the essential behavior of the models they are applied to. For example, one should not use a composition directive to remove features that provide required services nor to add features that provide new services to users. Composition directives should only be used to restructure the models so that the features they define can be integrated. We currently do not have mechanisms that enforce proper use of composition directives and thus it is the responsibility of the modeler to ensure that composition directives are appropriately applied.

View merging with directives is structured into three phases. In the Pre-Merge phase pre-merge directives are used to refactor the views before they are merged. In the Merge phase, the refactored views are merged using signature types to identify matching elements and rules to merge matched elements. The result of this phase is called a merged model. In the Post-Merge phase, the merged model is refactored to produce the integrated view. For example, a post-merge directive can be used to add a relationship between a model element introduced by one view and an element introduced by another.

A Metamodel for Signature-Based Composition

In this section we describe how the UML metamodel is extended to support signature-based composition of model elements. We also describe an implementation of the metamodel that provides automated support for composing class models. The metamodel is implemented using the Kermeta Language [START_REF] Muller | Weaving executability into object-oriented meta-languages[END_REF][START_REF] Triskell | The KerMeta Project Home Page[END_REF].

The metamodel is presented in two parts. This section describes the UML metamodel extensions that support the merging of model elements using signatures and merge rules. Section 4 describes the extensions used to support the use of pre-merge and post-merge directives.

Merging Models

Fig. 2 shows the core metaclasses and operations that are added to the UML metamodel to support merging of mod- The metaclass M ergeable represents the UML model elements that contains operations that can be used to merge them with elements of the same type. The M ergeable metaclass has a meta-attribute sigT ype that specifies its signature type. The signature type determines the instance of Signature that is associated with an instance of M ergeable.

The M odel metaclass is extended with an attribute and an operation. The modelID meta-attribute is used to identify models that belong to the same aspect-oriented model: Views that have the same modelID belong to the same aspect-oriented design model. The operation addElement is used to add elements to models.

An instance of the Composer metaclass coordinates the merging of two models.

It has an operation mergeM odels() that checks the model signatures of two views to be merged and merges the views to produce a new model when the signatures match. The CompositionM anager metaclass coordinates the merging of all views in an AOM design model. The mergeAllM odels() operation creates a Composer instance that is associated with two of the views to be merged and then calls the mergeM odels() operation. After the composed view is produced, the mergeAllM odels() operation then associates the composed view and another view with the Composer instance and invokes the mergeM odels() operation. This process continues until all the views are composed.

An instantiation of the composition metamodel includes a set of views (models), in which each model element is associated with a signature class that is used to obtain the signature of the model element. An instantiation also consists of an instance of the CompositionM anager metaclass that is responsible for merging of the views.

The sequence models shown in Fig. 3 describe a composition scenario in which two models are successfully merged. In the scenario, a Composer instance that is linked to a model, pm and another model am has been created by the Compositionmanager instance (this creation is not shown). The scenario starts with the invocation of the mergeM odels() method in the Composer instance as shown in Fig. 3(a). The Composer instance then checks whether the signatures of the two models to be composed are the same. The signature of a model consists only of its modelID. If the model signatures match then pm is requested to merge itself with am. If the model signatures are not the same then the models are not composed.

Figure 3. Sequence Model for Model Composition Scenario

The merging of two models is described by the Merge interaction fragment. This fragment recursively composes models and their constituent elements and creates a new composed model.

Implementation with Kermeta

This section details how the merging of models proposed in the previous section was implemented using Kermeta. Kermeta [START_REF] Muller | Weaving executability into object-oriented meta-languages[END_REF][START_REF] Triskell | The KerMeta Project Home Page[END_REF] is an open-source metamodelling language developed by the Triskell team at IRISA. It has been designed to be a common basis for implementing metadata languages, action languages, constraint languages and transformation language [START_REF] Triskell | The KerMeta Project Home Page[END_REF]. It can be used to define the structure and behavior of a user-designed metamodel.

The Kermeta metamodel is divided into two packages: structure and behavior. The structure package corresponds to the OMG metamodelling language Essential Meta-Object Facility (EMOF) [START_REF]OMG Adopted Specification ptc/03-10-04. The Meta Object Facility (MOF) Core Specification. Version 2.0[END_REF]. The behavior package corresponds to a statically typed action language that is used to define the behavior of metamodels.

The Kermeta action language includes object-oriented features and model-specific features. Some of these modelspecific features, such as the handling of first-class association and composition, are used in the implementation of the model composition algorithm. In addition, Kermeta implements OCL-like closures such as each, collect, and select. Inclusion of these features makes it easier to implement operations defined in the metamodels.

The Kermeta language was chosen to implement the composition metamodel for the following three reasons:

• Kermeta allows one to implement operations defined in the composition metamodel.

• Kermeta includes reflection capabilities that allow for a generic implementation of the composition algorithm.

• Kermeta tools are compatible with the Eclipse Modeling Framework (EMF) and thus Eclipse tools can be used to edit, store, and visualize models manipulated in the AOM approach.

The Kermeta implementation of the merge operation, which is responsible for the composition of two objects, (see Fig. 2) is defined generically and uses reflection to determine the specific type of object to compose. The result of this approach is that the implementation of the merge operation in class M ergeable is used to merge all types of UML elements. As Kermeta was defined as an extension of the EMOF standard, the reflection capabilities of Kermeta were inherited from EMOF. The EMOF reflection classes used in the implementation of the composition metamodel are shown in Fig. 4.

All EMOF classes inherit properties from the Object class. This class contains the following operations that are used in the Kermeta implementation of model composition behavior:

• The getM etaClass() operation returns the Class of an object. For example, if the getM etaClass() is used on an operation, it will return the metaclass Operation.

• The container() operation returns the containing parent object. • The set(property, element) operation sets the value of the property to the element.

• The get(property) operation returns a list or a single value depending on the multiplicity.

The isComposite attribute defined in the class P roperty returns true if the object is contained in the parent object. Cyclic containment is not possible, i.e. an object can be contained in only one other object. The attributes, upper and lower, of class M ultiplicityElement, represent the multiplicities of the associations at the metamodel level. For example, "0..1" represents a lower bound "0" and an upper bound "1".

Additionally, the getAllP roperties() operation is added to the Object class. It returns all the properties (including inherited properties) associated with the object instance. This will return elements that are composite as well as primitive. The primitive elements shown in Fig. 4 are String, Boolean, Integer datatypes. Fig. 5 presents a partial listing of the merge operation in the class M ergeable. In this listing the getM etaClass operation defined in EMOF is used to check the types of the objects to merge and to instantiate the merged object. The getAllP roperties operations is used to iterate on all properties of the objects to be merged.

Using Composition Directives

This section presents the language we use for composition directives. The abstract syntax of the language is specified by a set of classes in the composition metamodel. Fig. 6 shows the part of the composition metamodel that provides support for the use of pre-merge and post-merge directives. We defined a textual concrete syntax for each type of directive. To support the execution of directives we implemented Kermeta operations in the metamodel that provide operational semantics for the directives.

The Directives Metamodel

An instance of Composer can be associated with two types of directives: Create and Change directives. Create directives are used to create new model elements. A newly created element is not associated with a namespace, and thus must be added to a namespace during composition. Change directives are used to modify model elements. These directives can be used to remove an element from a namespace, set a property value associated with an element, and add an element to a namespace.

A Change directive is associated with a reference to the model element it modifies. A Set directive is associated with two instances of ElementRef ; one is the target property and the other is the new value for the property.

Elements can be referenced by (1) a name that is an instance of N ameRef , (2) their literal value, or (3) a unique identifier that is an instance of IDref .

The refactorings defined by the pre-merge and postmerge directives are accomplished by invoking the execute() operation in each directive. The

Implementation of Composition Directives

The implementation of composition directives is designed around a command design pattern [START_REF] Gamma | Design Patterns: Elements of Reusable Object-Oriented Software[END_REF]. For each concrete sub-class of class ElementDirective, the abstract operation execute() is implemented in Kermeta. An execution context element is introduced in the implementation of the composition metamodel to store the bindings between identifiers and model elements. The execute() operation in class Create first searches for the class to instantiate from its name, then the class is instantiated and the object is associated with the identifier in the context.

The change directives are used to change the value of the object properties, which can be attributes or associations in EMOF. The Change class is abstract and the execute() operation has to be defined in its sub-classes. If the multiplicity of a property is 1 then the set directive can be used. For instance, a set directive can be used to change the value of the property name of a class. If the multiplicity of a property is greater than one, then add and remove directives have to be used. For instance, the add or remove directive must be used to change the value of the property ownedAttributes of a class, that is, to add or remove attributes from a class.

During the execution of directives, references to actual objects must be resolved (class ElementRef ). The abstract operation getElement() defined in class ElementRef serves this purpose and is defined in every sub-class. For literals the object corresponding to the value is instantiated and returned. For name references a lookup in the model is performed to retrieve the corresponding object. For instances of the IDRef class, the object is resolved from the context associated with the composition directive.

When directives are defined, the models that they are to be applied to are not necessarily available. This makes it difficult (if not impossible) in some cases to check that a directive makes references to existing objects, to existing properties or uses the appropriate type of values for a property. These kind of errors have to be handled during the execution of directives. In the Kermeta implementation, we have defined different types of exceptions corresponding to these errors. These exception are raised when the execute() operations encounter an error.

For demonstration purposes, we use a simple concrete syntax to specify the location of models, and to express the directives that are to be applied before and after merging. A more comprehensive syntax for composition directives was introduced in a previous paper [START_REF] Reddy | Directives for composing aspect-oriented design class models[END_REF]. The output model obtained by applying these directives is presented on Fig. 7. Note that the order in which directives are applied is specified by the order in which they appear in the textual description.

Figure 7. Example Input and Output Models

Another small example of the use of composition directives is given in Fig. 11. In this example a model describing a Bell-LaPadula (BLP) access control feature [START_REF] Bell | Secure computer systems: Mathematical foundations[END_REF] (see Fig. 10) is to be composed with a model of a 9). In BLP, users (e.g., BankU ser instances) and objects under access control (e.g., Account instances) are each associated with a security level. BankSubject defines the banking services that are invoked by users with security levels. A dominance relationship is defined among security levels and is used to determine the type of access a user has to an object. For example, a bank user has read access to an account only if the user's security level dominates the security level of the account.

In this composition example, the model name is used to match models and thus a directive is needed to change one of the input model names so that they can be matched 2 . The transfer and withdraw operations have been put under access control and thus they cannot be present in the Controller class in the merged model. This is specified as a post-merge directive.

The user specifies in a text file the URIs for the two input models (P M and AM precede the URIs of the models), the URI for the resulting model (preceded by CM ) and the composition directives. The P M P re and AM P re sections specify pre-directives on the models. The P ost section is used to specify post-directives to be applied on the merged model. The file is parsed to produce an instance of the composition metamodel. The instance is then loaded into the Kermeta environment and executed following the process described earlier. The result of the composition is displayed in Fig. 12.

/

Discussion and Future Work

We leveraged the ability of Kermeta to quickly produce implementations of composition metamodels when evolving the early versions of the composition metamodel. We were able to identify errors in our metamodel sooner and thus we were able to converge, in a very timely manner, on a technically sound composition metamodel. Before we developed the Kermeta implementation we were working on implementing a signature-based composition mechanism in Java. This work continued while we were developing the Kermeta implementation, but we were able to complete the Kermeta implementation sooner. Some of the difficulties that the Java implementers had were related to using the mostly undocumented API's for manipulating UML models in Eclipse3 and to manipulating large XMI representations of the models. The Kermeta environment shields some of this accidental complexity from its users.

The current Kermeta implementation of the composition metamodel is a demonstration-of-concept prototype, but its use shows that Kermeta is capable of providing the support needed to compose and, in general, manipulate models. The current implementation provides a good demonstration of the role that metamodels can play in developing automated support for model composition, but it has its limitations. In the remainder of this section we give an overview of the limitations and outline our plans to address these limitations.

Generating the Composition Infrastructure

An AOM environment that effectively utilizes the metamodel for signature-based composition should provide at least:

• support for building design views that conform to the metamodel,

• a mechanism that generates an instantiation of the composition metamodel given a non-empty set of design views, and a set of composition directives, and

• a mechanism for invoking the model composition behavior in a conforming model.

In such an environment the modeler is responsible for developing the design views and composition directives, while the environment is responsible for producing the infrastructure needed to compose the models. To discharge its responsibility, the environment requires (1) a mechanism for creating and processing composition directives to produce composition infrastructure elements that implement the directives, and (2) a mechanism for defining and processing signature types to produce composition infrastructure elements that extract model element signatures when needed during composition.

The Kermeta implementation provides support for all of the above, but with limitations.

Generating the composition infrastructure currently requires one to have intimate knowledge of the Kermeta environment. We plan to develop a model composition interface that removes the current accidental complexities associated with generating and using composition infrastructures within Kermeta. The Kermeta environment is based on EMOF and has been embedded in an Eclipse modeling environment. An existing Eclipse modeling tool is currently used as a frontend for creating models. The interface we plan to develop will extend the frontend so that it provides an interface for generating the composition infrastructure needed to compose the models.

Another limitation of the current Kermeta implementation is that the signature types associated with meregeable model elements are fixed. We are currently developing support for specifying and processing signature types. In the approach that we are developing the current fixed signature types will become default signature types that are used if the modeler does not specify a signature type. We will provide an interface that would allow a modeler to change the signature type of a model element. To generate the signature part of the composition infrastructure, the environment will use the signature type to produce an instance of the Signature metaclass that retrieves the values of the model element's meta-attributes that make up the signature using model reflection mechanisms.

Composing UML Models

The composition metamodel currently supports only class model composition. In principle the signature-based approach is applicable to any UML model element. Applying it to behavioral models involves determining the elements that are mergeable, and developing merge strategies and rules for the elements that are to be merged. Consider the case of merging sequence models. One first has to determine how to decompose a sequence model in order to support systematic processing of its components. If one attempts to decompose a diagram by lifelines then the problem of how to handle interaction fragments that span lifelines is raised. Decomposing a sequence model in terms of its fragments may be better. One can treat fragments and their constituent lifelines as mergeable elements. The rules for merging fragments and their constituent lifelines would be more intricate than the rules for merging class model elements primarily because there are many possible ways in which the events in a fragment can be combined with other events. We are currently exploring ways in which the signature-based approach can be extended to sequence and other UML models.

If each design view consists of more than one model type (e.g., a view consisting of both class and sequence models) then one has to be additionally concerned with ensuring that composition produces an integrated view that consists of a consistent collection of models. One way of doing this is to transform the models in one view to a single form that contains all the information in the different models. This single form can then be used as the source model in a merge. In the case of the UML, this single form could be an XML or XMI representation of an instantiation of the UML metamodel.

The composition approach we described in this paper is based on syntactic properties. We are currently developing a next generation of AOM techniques that will support the use of composition operators that preserve specified semantic properties and that can be used as the basis for verifiable model composition.

Related Work

Work on AOM can be roughly partitioned into two categories based on the primary focus of the work: Those that provide techniques for modeling aspect-oriented programming (AOP) concepts [START_REF] Kiczales | Aspectoriented programming[END_REF], and those that provide requirements and design modeling techniques that tackle the problem of isolating features in modeling views and studying their interactions. Work in the first category focus on modeling AOP concepts such as join points and advise using either lightweight or heavyweight extensions of modeling languages such as the UML (e.g., see [START_REF] Kienzle | On composition and reuse of aspects[END_REF][START_REF] Kande | From aop to uml -a bottom-up approach[END_REF][START_REF] Stein | On representing join points in the uml[END_REF][START_REF] Stein | A UML-based Aspect-Oriented Design Notation For AspectJ[END_REF]). Metamodels are used in these approaches to describe static concepts. None of the metamodels we have encountered in this area of work describe the dynamics of model composition. Work in this area has produced implementations of model composers. For example, Cottenier et al. [START_REF] Cottenier | Modeling aspect-oriented compositions[END_REF] use metamodels to describe the static aspects of an SDL weaver they developed. Specifically, metamodels describe (1) how their weaver views their aspect models, called aspect beans, (2) the elements in SDL that can be used as join points, (3) the generic structure of the connections between aspect models and the base model, and (4) the primitives used to specify weaving strategies. The composition metamodels we propose in this paper differ in that they define model composition behavior that can be executed.

Our work and the work on early aspects [START_REF]Early Aspects Portal[END_REF][START_REF] Chitchyan | Survey of aspect-oriented analysis and design approaches[END_REF][START_REF] Rashid | Modularization and composition of aspectual requirements[END_REF][START_REF] Rashid | Early aspects: A model for aspect-oriented requirements engineering[END_REF] and subject-oriented modeling [START_REF] Clarke | Composition patterns: An approach to designing reusable aspects[END_REF][START_REF] Clarke | Extending Standard UML with Model Composition Semantics[END_REF] fall into the second category. The distinguishing characteristic of work in this area is that it does not focus on retrofitting language-specific AOP concepts at the modeling level. In this area, the Theme approach is the closest to the AOM approach supported by the composition metamodel. In the Theme approach [START_REF] Baniassad | Theme: An approach for aspect-oriented analysis and design[END_REF][START_REF] Clarke | Composition patterns: An approach to designing reusable aspects[END_REF][START_REF] Clarke | Extending Standard UML with Model Composition Semantics[END_REF], a design, called a Theme, is created for each system requirement. A theme is essentially a design view, and thus the Theme approach is similar to the approach described in this paper. Unlike the Theme approach the aspects in our approach are not necessarily tied to a single requirement. Composition relationships in the Theme approach are used to specify how models are to be composed by identifying overlapping concepts in the themes and specifying how models are integrated. The UML metamodel is extended to support composition relationships and describe well-formedness rules for composition. Two types of integration strategies are used: Override and merge. Override integration is used when existing behavior in a subject needs to be updated to reflect new requirements. Merge integration is used when subjects for different requirements are to be integrated. Operations in related subjects may need to be merged into a unified operation. Reconciliation strategies are used to resolve conflicts between property values of corresponding subject elements. Precedence relationships, transformation functions applied to conflicting elements, explicit specification of reconciled elements, and default values may be used for reconciliation. The work described in this paper goes further in that it proposes a composition metamodel that includes behavior that can be executed to compose models in environments such as Kermeta.

Brito and Moreira describe an aspect composition process that identifies match points in a design element and defines composition rules [START_REF] Brito | Towards a composition process for aspect-oriented requirements[END_REF]. Rules use identified match points, a binary contribution value (either positive or negative) that quantifies the affects on other aspects, and a priority for a given aspect. We describe the possible relationships between aspects as weave-order relationships and override relationships instead of priority and dependency as done by Brito and Moreira. In addition, our approach uses composition directives to address model mismatch problems.

Conclusion

The work presented in this paper demonstrates the viability of using metamodels and metamodeling environments such as Kermeta as the basis for developing tools that compose and otherwise manipulate models. Our experience indicates that implementing composition mechanisms in Kermeta requires less effort than implementing the mechanisms directly in a programming language such as Java. This is because Kermeta shields the developer from some of the complexities associated with processing models, and one can leverage Kermeta's ability to execute behavior defined in metamodels when composing models.

The metamodeling approach described in this paper can be used to create and implement composition metamodels that support other symmetric AOM approaches (e.g., see [START_REF] Clarke | Extending Standard UML with Model Composition Semantics[END_REF]).

Our future work in this area will focus on developing the next-generation of AOM techniques that will leverage the Kermeta capabilities to support verifiable model composition and to support automated identification of model incompatibilities and generation of composition directives that address the incompatibilities.

Figure 2 .

 2 Figure 2. Merge View of Composition Metamodel

Figure 4 .

 4 Figure 4. EMOF Classes Used in the Composition Technique

Figure 5 .

 5 Figure 5. Excerpt From the Kermeta Implementation of Merge

Figure 6 .

 6 Figure 6. Directives View of Composition Metamodel

Fig. 8

 8 shows directives that are applied to the input model shown in Fig. 7. The first two directives illustrate the use of the set directive to change the name of class B to C and to change the role name of the association between classes A and B to c. The third directive creates a new class and associates it to the identifier e. In the concrete syntax, identifiers are preceded by the symbol $. The fourth directive sets the name of this new class to E. The next directive adds class E to the package P . The last two directives remove the datatype D from package P and remove the attribute d of type D in class A.

/Figure 8 Figure 10 .

 810 Figure 8. Example Directives

Figure 11 .

 11 Figure 11. Textual Input for Composing the Bank Model with the BLP Model

The modelID meta-attribute has not yet been implemented in Kermeta

http://www.eclipse.org

Acknowledgements. This material is based upon work partially funded by AFOSR under Award No. FA9550-04-1-0102.


M Kotur

R I Dzhioev

Maria Vladimirova

R V Cherbunin

P S Sokolov

D R Yakovlev

M Bayer

D Suter

K V Kavokin

Spin-lattice relaxation of optically polarized nuclei in p-type GaAs

published or not. The documents may come   L'archive ouverte pluridisciplinaire

I. INTRODUCTION

Optical pumping of nuclear spins via their dynamic polarization by photoexcited spin-polarized electrons is a powerful method for obtaining considerable nuclear polarization in semiconductors even in weak magnetic fields of the order of a few Gauss [START_REF]Optical Orientation, Modern Problems in Condensed Matter Science Series[END_REF][START_REF] Dyakonov | Spin Physics in Semiconductors[END_REF] . Creation and manipulation of the resulted Overhauser fields, acting upon the spins of charge carriers, presents multiple possibilities for studying the dynamics of mesoscopic spin systems. It is considered as one of the possible ways towards realization of spin-based information processing. Gallium arsenide, a direct-bandgap semiconductor with the 100 percent abundance of magnetic isotopes and strong hyperfine coupling, has been used as a test bench of the electron-nuclear spin dynamics since 1970s. It was known to specialists in the field (though, to the best of our knowledge, never explicitly mentioned in publications), that nuclear spin-lattice relaxation time T 1 in p-GaAs remains short even at liquid-helium temperatures, while n-GaAs demonstrates long T 1 (hundreds of seconds or even more) in this temperature range.

The spin-lattice relaxation of nuclei in n-GaAs was investigated in our recent works [START_REF] Kotur | Nuclear spin relaxation mediated by Fermi-edge electrons in n-type GaAs[END_REF][START_REF] Kotur | Nuclear spin warm up in bulk n-GaAs[END_REF][START_REF] Vladimirova | Nuclear spin relaxation in n-GaAs: From insulating to metallic regime[END_REF] . It was found to be dominated by the diffusion-limited hyperfine relaxation and quadrupole warm-up in lightly doped dielectric crystals, and by hyperfine relaxation involving both itinerant (Korringa mechanism) and localized electrons in heavily doped samples with metallic conductivity. In what concerns p-GaAs, even the time scale of the nuclear spinlattice relaxation has not been exactly known.

In this paper, we present measurements of nuclear spinlattice relaxation time T 1 as a function of magnetic field and temperature in two insulating p-GaAs layers with different concentrations of acceptors. The measured nuclear spin-lattice relaxation times are of the order of 100 ms. They are independent of magnetic fields in the range 0 -100 G, and demonstrate a slow increase with lowering the temperature in the range 10 -30 K, which suddenly becomes sharp below 10 K. These findings are drastically different from what is known about the nuclear spin relaxation in n-GaAs. The fact that nuclear spin relaxation in the dark, i.e. in the absence of photoexcited conduction-band electrons, is three orders of magnitude shorter than in n-GaAs, where resident electrons are abundant, is counterintuitive, since hyperfine coupling in the valence band is ten times weaker than in the conduction band [START_REF] Grncharova | Spin relaxation in semiconductors caused by electric fields[END_REF][START_REF] Fischer | Spin decoherence of a heavy hole coupled to nuclear spins in a quantum dot[END_REF][START_REF] Eble | Hole-Nuclear Spin Interaction in Quantum Dots[END_REF][START_REF] Testelin | Hole-spin dephasing time associated with hyperfine inter-action in quantum dots[END_REF][START_REF] Fallahi | Measurement of a Heavy-Hole Hyperfine Interaction in InGaAs Quantum Dots Using Resonance Fluorescence[END_REF] . We propose a theoretical model that qualitatively explains the whole set of the experimental data for p-GaAs, and allows us to quantitatively reproduce the measured temperature dependence of nuclear spin relaxation time T 1 .

II. SAMPLES AND EXPERIMENTAL SETUP

The studied samples are two germanium-doped GaAs layers grown by liquid phase epitaxy on [001] GaAs substrate. The corresponding acceptor concentrations are n A = 2.6 × 10 16 cm -3 (Sample A) and 6.0 × 10 16 cm -3 (Sample B). The samples are placed in a variable temperature cryostat (either helium flow or cold finger), surrounded by three pairs of Helmholtz coils. Such arrangement allows for the compensation of the geomagnetic field and application of an external mangnetic field in an arbitrary direction. Optical orientation of electron spins is achieved by pumping with a circularly (σ + ) polarized light from continuous wave (CW) titanium-sapphire laser at the wavelength λ = 800 nm. The light beam is directed along the sample axis. The spectra of photoluminescence (PL) intensity and its circular polarization degree ρ = (I + -I -)/(I + + I -) for the two samples are shown in Fig. 1 (a). Here I + (I -) is the intensity of PL emitted in σ + (σ -) polarization, respectively. The two PL peaks can be identified as acceptor-bound exciton (ABX) emission and conduction band-to-acceptor (CBA) recombination. Figs. 1 (b) and 1 (c) present the PL polarization degree as a function of magnetic field B applied at 80 degrees with respect to the structure axis, for Samples A and B. When the pump polarization is alternated between σ + and σ -by a photoelastic modulator operating at the frequency of 50 kHz (red curve), nuclear spins remain unpolarized, and ρ(B) obeys the Lorentzian law (the Hanle effect) [START_REF]Optical Orientation, Modern Problems in Condensed Matter Science Series[END_REF] . Under pumping by light with static circular polarization (σ + ), nuclear spins get polarized, and the Hanle curve is affected by the Overhauser field which is either parallel or anti-parallel to the external field, depending on the sign of the latter (black curve).

ρ 0 = 1 3 . 5 % σ+ σ+ / σ- L o r e n t z f i t B 1 / 2 = 9 . 5 G ρ( % ) B p u m p = 4 G ( a ) ρ 0 = 1 0 . 8 % -6 0 -4 0 -2 0 0 2 0 4 0 6 0 0 5 1 0 1 5 σ+ σ+ / σ- L o r e n t z f i t B 1 / 2 = 2 0 . 5 G ρ( % ) B ( G )
For studies of transient nuclear spin polarization P N we use the experimental setup shown in Fig. 2 (a). To access millisecond time scale, we use pump pulses cut out of the CW laser beam with an acousto-optical modulator (AOM), controlled by the pulse generator. The same pulse generator controls the power supply of the 3D Helmholtz coils. The PL polarization is measured in the reflection geometry at the spectral maximum of the PL polarization (λ ≈ 835 nm, see Fig. 1 (a)). The emitted light passes through the spectrometer and is detected by the avalanche photodiode (APD), followed by the multi-channel photon counting system (PCS). The latter is synchronized with the AOM via the pulse generator.

The three stage experimental protocol that we implement here is very similar to that used in our previous work on n-GaAs [START_REF] Kotur | Nuclear spin relaxation mediated by Fermi-edge electrons in n-type GaAs[END_REF][START_REF] Kotur | Nuclear spin warm up in bulk n-GaAs[END_REF][START_REF] Vladimirova | Nuclear spin relaxation in n-GaAs: From insulating to metallic regime[END_REF] , but here it is adapted for measurement of subsecond nuclear spin relaxation times. The experiment timeline is shown in Fig. 2 (b). The first stage of the experiment is the optical pumping of nuclei by circularly (σ + ) polarized light from a titanium-sapphire laser at λ = 800 nm during 500 ms. The excitation power is P pump = 4 mW, focused on 90 µm 2 spot on the sample surface. The magnetic field B pump = 4 G is applied at 80 degrees with respect to the structure axis. At the second stage, the pump is switched off for an arbitrary time t dark (typically from 2 ms to 1 s), and the magnetic field is set to the value B dark at which we intend to measure the nuclear spin dynamics. B dark is parallel to B pump and ranges from zero to 120 G. The switching time is ≈ 1 ms for B < 10 G and ≈ 10 ms for B > 10 G). At the end of the dark interval, B pump is restored and the pump is switched on. At the same moment the photon counting system starts the PL detection in either right or left circular polarization. The PL signal is monitored during 500 ms, which is sufficient to fully restore the nuclear spin polarization corresponding to the chosen pumping conditions. At the end of this stage the cycle is repeated. The resulting PL signal is averaged over 100 measurement cycles. The same procedure is performed for the opposite polarization of PL. From each pair of measurements the degree of circular polarization of PL is evaluated, and plotted as a function of the photon counting time t P CS .

Two examples of ρ(t P CS ) dependence for Sample B are presented in Figs. 2 (c) and 2 (d). They correspond to dark intervals t dark = 400 ms and 2 ms, respectively. One can see that ρ decreases under pumping down to ρ pump ≈ 8%. This is a consequence of the chosen value of B pump = 4 G, at which the Overhauser field adds up to the external field and induces additional depolarization of electrons (see also Fig. 1 (c), where the value of polarization under σ + pumping at B = B pump corresponds to ρ = ρ pump ). During dark intervals, nuclear polarization decreases, which results in a larger value of ρ measured when the pump is back on. Fitting ρ(t P CS ) by exponential decay gives the build-up time of the nuclear field under optical pumping T N B , as well as the value of ρ dark . The implemented fitting procedure helps reducing the influence of the probe light on the nuclei during measurement. Thus it allows for more precise determination of ρ dark and nuclear field intensity [START_REF] Kotur | Nuclear spin relaxation mediated by Fermi-edge electrons in n-type GaAs[END_REF][START_REF] Kotur | Nuclear spin warm up in bulk n-GaAs[END_REF] . Indeed, the nuclear field can be recovered from the PL polarization degree using the following formula, derived from the well-known expression for the Hanle effect:

B N = B 1/2 ρ 0 -ρ dark ρ dark -B pump . (1)
Here ρ dark is the degree of the PL polarization at the end of the dark interval [ρ dark ≡ ρ(t P CS = 0)], ρ 0 is the PL polarization in the absence of the external field, and B 1/2 is the half width of the Hanle curve, measured independently under conditions where nuclear spin polarization is absent (pump polarization modulated at 50 kHz, see Figs. absence of perturbation by pumping. Exponential fitting of these curves yields the nuclear spin relaxation time in the dark T 1 , that we aim to study as a function of temperature and applied magnetic field B dark .

III. EXPERIMENTAL RESULTS AND DISCUSSION

Magnetic field dependence of nuclear spin relaxation time T 1 measured in Sample B at T = 10 K is shown in Fig. 4. For comparison, the relaxation time in dielectric n-GaAs with donor concentration n D = 6 × 10 15 cm -3 (from Refs. 4 and 5) is shown on the right scale. One can see that in p-GaAs nuclear spin relaxation is about three orders of magnitude faster than in the n-GaAs. Moreover, in n-GaAs the relaxation time exhibits a pronounced field dependence, while in p-GaAs it does not depend on the field.

The temperature dependence of T 1 is also surprising. Figure 5 shows spin relaxation time measured in Samples A and B, as well as the comparison with n-GaAs sample with n D = 6 × 10 15 cm -3 from Refs. 4 and 5.

It appears that in p-GaAs nuclear spin relaxation slows down significantly below T = 10 K: for example in Sample B T 1 = 45 ms at T = 30 K and 310 ms at 4 K. This behaviour is not observed in n-GaAs. We discuss below possible mechanisms of nuclear spin lattice relaxation in p-GaAs that could account for these experimental results, taking advantage of the knowledge we already accumulated for n-GaAs.

The main feature distinguishing the spin-lattice relaxation of nuclei in p-GaAs from that in n-GaAs is its time scale, which is three orders of magnitude shorter. This fact excludes the diffusion-limited hyperfine relaxation [START_REF] Vladimirova | Nuclear spin relaxation in n-GaAs: From insulating to metallic regime[END_REF][START_REF] Paget | Optical detection of nmr in high-purity gaas: Direct study of the relaxation of nuclei close to shallow donors[END_REF] from possible relaxation mechanisms. Indeed, with the nuclear spin diffusion constant D ≈ 10 -13 cm 2 /s the diffusion length during the time 100 ms is just 1 nm, i.e. two lattice constants of GaAs [START_REF] Paget | Optical detection of nmr in high-purity gaas: Direct study of the relaxation of nuclei close to shallow donors[END_REF] . This means that the nuclear spin polarization does not have time to reach any remote killer center (e.g. paramagnetic impurity or neutral acceptor site) by diffusion, and decays within the same area where it has been created. Thus, spin diffusion that controls nuclear spin relaxation in n-GaAs [START_REF] Vladimirova | Nuclear spin relaxation in n-GaAs: From insulating to metallic regime[END_REF][START_REF] Paget | Optical detection of nmr in high-purity gaas: Direct study of the relaxation of nuclei close to shallow donors[END_REF] can not account for fast nuclear spin relaxation in p-GaAs. This consideration leaves us two possible scenarios for nuclear spin relaxation in p-GaAs: either (i) nuclear spins are polarized only in regions where some efficient relaxation mechanism is at work, or (ii) a new, still unknown relaxation mechanism is acting everywhere in the crystal.

Let us start from the examination of the second scenario. So far, the only long-range relaxation mechanism known for the dielectric GaAs at low temperatures, is the quadrupole relaxation due to fluctuating electric fields. Such fields result from hopping of localized charge carriers in the impurity band [START_REF] Kotur | Nuclear spin warm up in bulk n-GaAs[END_REF] . However, this mechanism is far too weak to explain the observed relaxation time scale. Indeed, the calculations reported in Ref. 4 show that one cannot expect the relaxation times shorter than 20 s induced by this mechanism. This conclusion is corroborated by the experiments on n-GaAs. Additionally, it was shown that the efficiency of quadrupole relaxation of bulk nuclei drops down in magnetic fields exceeding the nuclear spin local field of the order of a few Gauss [START_REF] Kotur | Nuclear spin warm up in bulk n-GaAs[END_REF] . By contrast, in the studied p-GaAs samples no magneticfield dependence of T 1 is observed at least up to 120 G (Fig. 4).

Exploring the first scenario, we note that the efficiency of dynamic polarization of nuclear spins by free photoexcited electrons is very low [START_REF] Dyakonov | Optical orientation in a system of electrons and lattice nuclei in semiconductors -theory[END_REF] . Nuclear spins are polarized by electrons trapped to donor centers, which in p-type crystals are empty in the absence of optical excitation. Under continuous optical pumping, the nuclear polarization can, in principle, spread out from the vicinity of donors into the bulk of the crystal by spin diffusion. This, indeed, occurs in n-type crystals. This is illustrated in Fig. 6 (b), where a sketch of spatial distribution of the nuclear spin polarization in n-GaAs is shown. After sufficiently long pumping time nuclear spins are not only polarised within the donor orbits, but also everywhere in the bulk, due to spin diffusion. The relaxation of this polarization in the dark is then ensured by diffusion towards neutral donors D 0 (which play here the role of the killer centers), and, at sufficiently low magnetic fields, directly in the bulk via interaction of the nuclear quadrupole moments with the fluctuating electric field of hopping charges.

In p-GaAs the situation is quite different. Because optical polarization of nuclear spin by photocarriers is very inefficient, nuclear pumping in p-GaAs is only possible in the vicinity of shallow donors. Moreover, as shown by Paget, Amand and Korb 14 , in p-doped III-V semiconductors under optical pumping the nuclear polarization accumulates around donors only within the socalled "quadrupole radius" δ, see Fig. 6 (a). It is defined by competition between hyperfine polarization and quadrupole relaxation of nuclei. The reason for this is as follows. Dynamic polarization of nuclei occurs due to their hyperfine coupling with the spins of electrons captured by donors, at the rate proportional to the electron spin density. The latter falls down exponentially with increasing the distance from the donor center [START_REF] Paget | Optical detection of nmr in high-purity gaas: Direct study of the relaxation of nuclei close to shallow donors[END_REF] . Since photoexcited electrons spend at the donor only a limited time before recombination, the donor repeatedly changes its charge state from positively charged to neutral. This blinking charge creates a time-dependent electric field which, obeying the Coulomb law, extends far beyond the Bohr radius of the donor-bound electron a BD . In piezoelectric semiconductors like GaAs, the electric field induces quadrupole splitting of nuclear spin states [START_REF] Brun | Electrically Induced Nuclear Quadrupole Spin Transitions in a GaAs Single Crystal[END_REF] ; fluctuating electric fields thus act similarly to fluctuating magnetic fields, causing nuclear spin relaxation. At some distance from the donor center, quadrupole relaxation overcomes dynamic polarization, because the electric field decreases with growing distance slower than the electron density. According to the calculations reported in Ref. 14, this happens at approximately 0.4a BD . The numerically calculated dependence of the nuclear polarization on the distance from the donor is shown by red solid line in Fig. 7. Note, that the presence of an additional relaxation channel under pumping is corroborated by our experimental data: in both p-GaAs samples that we studied, the build-up time of the nuclear polarization is even shorter than its decay time in the dark, about 50 ms, see Figs. 2 (c) and2 (d).

Thus, we conclude that the nuclear polarization induced by optical pumping in p-GaAs is confined near donors, as sketched in Fig. 6 (a). What relaxation mechanism can be responsible for its rapid decay the dark, when the donor is empty? We suggest that it is the quadrupole relaxation induced by the electric field of a charged acceptor located in the vicinity of the donor. The presence of charged acceptors is a result of recombination of one of acceptor-bound holes with the donor electron. At zero temperature, the negative charge corresponding to the absence of a hole is located at the acceptor nearest to the positively charged donor with 97.4% probability [START_REF] Shklovskii | Electronic Properties of Doped Semiconductors[END_REF] . The distribution function of the distances from the donor to the nearest acceptor is shown in Fig. 7 by the blue dashed line (details of the corresponding calculation are given in Section IV). It has the maximum at R

(1) DA = (2πn A ) -1/3 . For the studied range of n A , this amounts to approximately 1.5a BD . At this distance, a charged acceptor produces electric field E of several kV/cm in the vicinity of the donor. Since GaAs is a polar crystal, this electric field induces an effective quadrupole field:

B Q = b Q E, (2)
where

b Q = eQβ Q 4γ N I(2I -1) . ( 3
)
β Q is the experimentally determined and isotopedependent constant, eQ is the nuclear quadrupole moment, also isotope-dependent, e is the absolute value of the electron charge, γ N is the nuclear gyromagnetic ratio, I is the nuclear spin. [START_REF] Paget | Light-induced nuclear quadrupolar relaxation in semiconductors[END_REF][START_REF] Brun | Electrically Induced Nuclear Quadrupole Spin Transitions in a GaAs Single Crystal[END_REF][START_REF] Flisinski | Optically detected magnetic resonance at the quadrupole-split nuclear states in (In,Ga)As/GaAs quantum dots[END_REF] . In principle, B Q depends on the mutual orientation of the electric field and magnetic moments, but at low magnetic field on can use the averaging over spherical distribution, as assumed in Eq. 2.

For GaAs b Q ≈ 0.2 G•cm/kV. Figure 8 shows the effective quadrupole field as a function of the distance from the charged (red solid line) and neutral (green dashed line) acceptor. One can see that at the distance R

(1) DA

from the A -acceptor B Q ≈ 1 G.
If T = 0, a hole from a more remote, neutral, acceptor can jump to this site, neutralizing it. Thus, fluctuations of the occupation number of the nearest acceptor produce fluctuating quadrupole fields. In Section IV we show that these fluctuations provide an efficient nuclear spin relaxation.

Figure 6 summarises the above considerations via comparison of nuclear polarization patterns that form as a result of optical pumping in p-GaAs and n-GaAs. In n-GaAs, most of the donors are neutral; nuclear polarization created under orbits of donor-bound electrons spreads into the inter-donor space. The number of charged donor-acceptor pairs is small and most of nuclei are situated far from such pairs. To the opposite, in p-GaAs all the donors are charged; nuclear polarization is concentrated near donors because of its quadrupole relaxation during pumping [START_REF] Paget | Light-induced nuclear quadrupolar relaxation in semiconductors[END_REF] . Almost each donor has an acceptor nearby, and the electric charge of this acceptor fluctuates while it captures and releases a hole. This explains why quadrupole nuclear-spin relaxation induced by fluctuating charges is three orders of magnitude faster in p-GaAs as compared to n-GaAs.

This model explains also the T 1 behavior as a function of temperature and magnetic field in p-GaAs. Indeed, with lowering temperature the fraction of time, during which the nearest acceptor site is charged, increases, since this state is energetically favourable. As a result, charge distribution in the vicinity of the donor becomes frozen, and the electric field stops fluctuating. This obviously should lead to an increase of T 1 , and this is exactly what is observed in experiments, see Fig. 5.

The T 1 independence of the applied magnetic field B means that ω B τ c << 1, where ω B = γ N B is the nuclear Larmor frequency in the field B and τ c is the correlation time of the fluctuating field which causes the spin relaxation 2 . For nuclear species of GaAs, the average nuclear gyromagnetic ratio γ N ≈ 9 × 10 3 rad/G•s. Using the well-known formula for spin relaxation under influence of a fluctuating magnetic field 2 :

1 T 1 = ω f 2 τ c , (4)
where ω f = γ N B f is the spin precession frequency in the fluctuating field B f , one can estimate what correlation time would explain the observed T 1 ≈ 100 ms (see Fig. 4).

Assuming the magnitude of the fluctuating quadrupole field of 1 G as estimated above (see Fig. 8 and details of the calculations in Section IV) we get τ c ≈ 100 ns. Therefore, throughout the range of magnetic fields applied in our experiment, the condition ω B τ c << 1 is satisfied, which is consistent with T 1 independence of the magnetic field, up to the maximum magnetic field B = 120 G applied in our experiments. In Section IV we present the theoretical model which quantifies the above considerations.

DA corresponding to the maximum probability to find the nearest donor (cf Fig. 7), the charged acceptor A - creates BQ ≈ 1 G, while BQ in the vicinity of A 0 is negligibly small.

IV. THEORETICAL MODEL

Let us assume that the fluctuations of the electric field experienced by the optically polarized nuclei under the donor orbit result from the charge fluctuations on the nearest acceptor, as shown in Fig. 6. When it is negatively charged, it creates an electric field E -in the vicin-ity of the donor (we neglect spatial variation of this field within the sphere with the radius δ, where nuclear spins are polarized). When the nearest acceptor is neutral, we assume that the electric field takes certain value E 0 ; in doing so, we neglect the variability of charge configuration at more remote impurities.

We denote the average time during which the nearest acceptor stays charged as τ -, and the average time during which it is neutral as τ 0 . The average electric field at the donor is then equal to

E = E -τ -+ E 0 τ 0 τ -+ τ 0 . (5)
The mean squared fluctuation of this field is, correspondingly,

δE 2 = (E -E ) 2 = ∆E 2 τ -τ 0 (τ -+ τ 0 ) 2 , (6)
where ∆E 2 ≡ (E --E 0 ) 2 . The autocorrelation function of the fluctuating part of the electric field, E f = E -E , which presents an example of an asymmetric random telegraph signal, is determined by the shortest of the two times, τ -and τ 0 :

E(t) • E(0) = δE 2 exp -t( τ -+ τ 0 τ -τ 0 ) . (7)
In other words, the correlation time of the electric field fluctuations is equal to

τ c = τ -τ 0 τ -+ τ 0 . (8)
The Fourier transform of the autocorrelation function in Eq. ( 7) allows calculating the spectral power density of electric field fluctuations at the donor:

δE 2 ω = δE 2 τ c 1 + ω 2 (τ -τ 0 ) 2 /(τ -+ τ 0 ) 2 . (9)
Therefore, the resulting spectral power density of the quadrupole-induced effective magnetic field is given by

δB 2 ω = b 2 Q δB 2 ω . (10)
According to Abragam 18 the spin relaxation rate of the nuclear spin system in presence of the fluctuating magnetic field reads:

1 T 1 = γ 2 N δB ω . (11)
At Larmor frequency of nuclear spin in the external field B, ω = ω B . At low magnetic fields used in this study and satisfying the condition ω B τ c << 1, Eq. ( 11) reduces to Eq. ( 4). Thus we arrive to the following expression for T -1 1 :

1

T 1 ≈ γ 2 N b 2 Q ∆E 2 (τ -τ 0 ) 2 (τ -+ τ 0 ) 3 . (12)
The characteristic times τ -and τ 0 are determined by probabilities of phonon-assisted transitions between the configurations with charged and neutral nearest acceptor. The most reasonable assumption, that can be done to estimate these times, is to suppose that these transitions correspond to the hopping of a hole between two acceptors closest to the donor, see Fig. 6 (a). Denoting the hole energy at the nearest acceptor by -, and at the second nearest acceptor as 0 we arrive to the following expressions for τ -and τ 0 :

τ -= τ ph n ph ; τ 0 = τ ph n ph + 1 , (13)
where τ ph is the characteristic time of the corresponding phonon-assisted transition, n ph is the number of phonons given by the Planck distribution:

n ph = 1 exp [∆ /(k B T )] + 1 , (14)
and ∆ = --0 . Finally we obtain:

1 T 1 ≈ γ 2 N b 2 Q ∆E 2 τ ph × [1 -exp (-∆ /k B T )] exp (-∆ /k B T ) [1 + exp (-∆ /k B T )] 3 . (15)
Eq. ( 15) allows one to calculate the temperature dependence of T 1 . In order to do that, we need to estimate ∆ and ∆E 2 . They are given by the Coulomb energies and electric fields of two charges located at distances r DA from the donor to two nearest acceptors. As an estimate for these distances we take the maxima of the first and second neighbouring acceptor distributions:

F (1) DA = 4πr 2 DA n A exp (- 4 3 πr 3 DA n A ); F (2) DA = 16 3 πr 2 DA n A exp (- 4 3 π 2 r 5 DA n 2 A ). (16)
These distributions are shown in Fig. 7 for Sample B. The maxima of these distributions are given by R

DA = (2πn A ) -1/3 ; R (2) DA = ( 4π 5 n A ) -1/3 . (1)
Thus, we obtain

∆ = - e 2 4π 0 1 R (1) DA - 1 R (2) DA ; ∆E 2 = e 4π 0 2   1 R (1) DA 4 + 1 R (2) DA 4   (18)
where we averaged the squared electric field over angular distribution of the two acceptors. Eq. ( 15) together with Eqs. ( 3) and ( 18) leaves us with the only fitting parameter, τ ph , to reproduce the measured low-field temperature dependence of the nuclear spin relaxation time shown in Fig. 5. The suppression of the spin relaxation by application of the magnetic field can be calculated from this value of T 1 using the motional narrowing formula 2 :

T 1 (B) = T 1 1 + ω 2 B τ 2 c . (19)
The results of the fitting procedure are shown in Figs.

4 and 5 by solid lines. One can see that the agreement is quite reasonable: there is no suppression of the nuclear spin relaxation up to 120 G (no magnetic field dependence) and the quenching of spin relaxation below T ≈ 10 K is well reproduced assuming τ ph = 5 µs in Sample A and τ ph = 3 µs in Sample B. We note that τ ph obtained by fitting experimental data yields a qualitatively correct trend as a function of acceptor concentration (phonon-assisted hops become more frequent with decreasing the average distance between nearest acceptors). However, since the overlap of wave functions of impurity-bound holes decreases exponentially with growing distance, one would expect a greater difference in τ ph between the two studied p-GaAs samples. This might be an indication that our model, which takes into account only two nearest acceptors, is too simplistic. In order to clarify this issue, an extensive experimental study of nuclear spin relaxation over a broad range of doping in p-GaAs is needed. Such studies could be an interesting subject for the future work.

V. CONCLUSIONS

In conclusion, we have investigated relaxation of nuclear spin polarization created by optical pumping in bulk p-GaAs. The nuclear spin-lattice relaxation time T 1 in the dark (that is in the absence of optical pumping) turns out to be longer than that under pumping, but still remains in the sub-second range. This is three orders of magnitude shorter than in n-GaAs. This fact seems counterintuitive, since hyperfine coupling of holes is much weaker than that of conduction-band electrons. This paradox can be solved by taking into account charge fluctuations at acceptors located in close vicinity of positively charged donor centers. Indeed, since optically induced nuclear spin polarization is created only in the vicinity of donors and cannot diffuse outwards, the nearby fluctuating charge effectively destroys the nuclear polarization via the quadrupole interaction. The proposed theoretical model quantitatively describes the slowing down of nuclear spin relaxation below T = 10 K (due to slowing down of charge fluctuations), and magnetic-field independence (up to ≈ 100 G) of T 1 . Further tests of the model could be provided by studies of nuclear spins thermally polarized in the presence of strong external field. Nuclear polarization created under such conditions should be present not only in the vicinity of shallow donors, but also everywhere in the crystal. In this case, on can expect to observe the much slower polarization decay, with the time constant determined by nuclear spin diffusion towards donor-acceptor pairs. Our results fill the gap in the general picture of nuclear spin relaxation in doped GaAs, where p-type doping has not been addressed so far. They also suggest that in compounds with I = 1/2, like p-CdTe, nuclear spin relaxation can be much slower, due to the absence of the quadrupole effects.

FIG. 1 .

 1 FIG. 1. (a) PL intensity (right scale) and polarization (left scale) spectra for p-GaAs, Samples A and B at B = 0 and T = 5 K. The two PL peaks are identified as acceptor-bound exciton (ABX) emission and conduction band-to-acceptor (CBA) recombination. The black arrow indicates the chosen PL detection energy. (b, c) PL polarization as a function of oblique magnetic field in Samples A (b) and B (c). Pump polarization is either alternated by a photoelastic modulator at the frequency of 50 kHz (no Overhauser field, red symbols), or fixed (black symbols). The onset of the Overhauser field results in the asymmetry with respect to zero. Solid lines are Lorentzian fits to the data, that allows for determination of B 1/2 and ρ0 in Eq. (1).

FIG. 2 .

 2 FIG. 2. (a) Experimental setup designed for three stage measurements of sub-second nuclear spin relaxation times. (b) Timeline of experiments. Two periods of pumping/magnetic field/photon counting sequence synchronously controlled by the pulse generator are shown (100 periods are used for each measurement at a given pump polarization). (c, d) Typical PL polarization decays measured in Sample B (symbols) at T = 10 K, B = B dark = 4 G, t dark = 400 ms (c) and t dark = 2 ms (d). PL polarization ρ dark at the end of the dark interval (tP CS = 0) is recovered from the exponential fit (solid line) of the data. It is used to calculate the Overhauser field BN from Eq. (1) at given duration of dark interval and magnetic field. The decay time TNB of the exponential fit characterizes the nuclear spin relaxation time in the presence of optical pumping. It is always shorter than T1.

  FIG.3. Overhauser field BN derived using Eq. (1) from PL polarization measurements as shown in Figs.2(c, d) for various dark interval durations (B = B dark = 4 G). The exponential decay fit (solid lines) yields T1 for given temperatures.

  FIG. 4. Magnetic field dependence of nuclear spin relaxation time. Sample B (circles, left scale) and n-GaAs with nD = 6×10 15 cm -3 (diamonds, right scale, data from Ref. 5). Solid line is a model prediction for p-GaAs, Eq. (19).

FIG. 5 .

 5 FIG. 5. Temperature dependence of nuclear spin relaxation time. In p-GaAs (left scale): Sample B (circles), Sample A (squares); in lightly doped n-GaAs nD = 6 × 10 15 cm -3 (right scale: diamonds, data from Ref. 5). Solid lines are model predictions for p-GaAs samples, calculated using Eq. (15).

FIG. 6 .

 6 FIG.6. Sketch of nuclear polarization patterns that form as a result of optical pumping in p-GaAs (a) and n-GaAs (b). The degree of nuclear spin polarization PN is schematically represented by the red color intensity. In n-GaAs most of the donors are neutral; PN created under orbits of donorbound electrons spreads into the inter-donor space so than PN = 0 everywhere under the light spot. The relaxation of this polarization in the dark is provided by (i) diffusion towards neutral donors D 0 , and (ii) directly in the inter-donor space via interaction of the nuclear quadrupole moments with the fluctuating electric field of hopping electrons (between D 0 and D + ). In p-GaAs all donors are charged; PN = 0 only near donors because of its quadrupole relaxation during pumping. Almost every donor has an acceptor nearby, and the electric charge of this acceptor fluctuates while it captures and releases a hole. This induces quadrupole relaxation which is much faster in p-GaAs than in n-GaAs.

FIG. 7 . 4 FIG. 8 .

 748 FIG. 7. Left scale: nuclear polarization created by optical pumping as a function of the distance from the donor (red solid line, from Ref. 14). Right scale: Probability density for the first (blue dashed line) and second (green dotted line) neighbouring acceptors calculated from Eq. (16) for Sample B as a function of the distance from the donor. The distance is expressed in the units of donor Bohr radius aBD = 10 nm.

Acknowledgements. This work was supported by the Russian Foundation for Basic Research (RFBR, Grants No. 16-52-150008 and 15-52-12020), by the Ministry of Education and Science of the Russian Federation (contract No. 14.Z50.31.0021 with the Ioffe Institute, Russian Academy of Sciences, and leading researcher M. Bayer), by Saint-Petersburg State University via a research grant 11.34.2.2012, by French National Research Agency (Grant OBELIX, No. ANR-15-CE30-0020-02) and National Center for Scientific Research (CNRS, PRC SPINCOOL No. 148362), and by Deutsche Forschungsgemeinschaft in the frame of the ICRC TRR 160 (Project No. A6).