diff --git a/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/DependencyHandler.java b/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/DependencyHandler.java
index 93b3a6c..61cbc6a 100644
--- a/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/DependencyHandler.java
+++ b/ipojo/core/src/main/java/org/apache/felix/ipojo/handlers/dependency/DependencyHandler.java
@@ -314,7 +314,15 @@
         for (int i = 0; deps != null && i < deps.length; i++) {
             // Create the dependency metadata
             String field = deps[i].getAttribute("field");
+            
             String serviceSpecification = deps[i].getAttribute("interface");
+            // the 'interface' attribute is deprecated
+            if (serviceSpecification != null) {
+                warn("The 'interface' attribute is deprecated, use the 'specification' attribute instead");
+            } else {
+                serviceSpecification = deps[i].getAttribute("specification");
+            }
+            
             String filter = deps[i].getAttribute("filter");
             String opt = deps[i].getAttribute("optional");
             boolean optional = opt != null && opt.equalsIgnoreCase("true");
@@ -426,26 +434,6 @@
         }
     }
 
-//    /**
-//     * GetterCallback Method.
-//     * @param pojo : the pojo object on which the field is accessed
-//     * @param fieldName : the field name.
-//     * @param value : the value passed to the field (by the previous handler).
-//     * @return the object that the dependency handler want to push.
-//     * @see org.apache.felix.ipojo.Handler#onGet(Object, java.lang.String, java.lang.Object)
-//     */
-//    public Object onGet(Object pojo, String fieldName, Object value) {
-//        for (int i = 0; i < m_dependencies.length; i++) {
-//            Dependency dep = m_dependencies[i];
-//            if (fieldName.equals(dep.getField())) {
-//                // The field name is a dependency, return the get
-//                return dep.get();
-//            }
-//        }
-//        // Else return the value
-//        return value;
-//    }
-
     /**
      * Handler start method.
      * @see org.apache.felix.ipojo.Handler#start()
diff --git a/ipojo/core/src/main/resources/core.xsd b/ipojo/core/src/main/resources/core.xsd
index fd3c636..fdba2ad 100644
--- a/ipojo/core/src/main/resources/core.xsd
+++ b/ipojo/core/src/main/resources/core.xsd
@@ -249,6 +249,7 @@
 	</xs:complexType>
 	
 	<xs:complexType name="ServiceDependencyType">
+	    <xs:attribute name="specification" type="xs:string" use="optional"/>
 		<xs:attribute name="optional" type="xs:boolean" use="optional">
 		</xs:attribute>
 		<xs:attribute name="aggregate" type="xs:boolean" use="optional">
diff --git a/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java b/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java
index 3a12ea3..bf28d42 100644
--- a/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java
+++ b/ipojo/manipulator/src/main/java/org/apache/felix/ipojo/manipulation/annotations/MethodCollector.java
@@ -279,7 +279,7 @@
                 // Add the complete requires
                 req = new Element("requires", "");
                 if (m_specification != null) {
-                    req.addAttribute(new Attribute("interface", m_specification));
+                    req.addAttribute(new Attribute("specification", m_specification));
                 }
                 if (m_aggregate != null) {
                     req.addAttribute(new Attribute("aggregate", m_aggregate));
@@ -303,7 +303,7 @@
                     req.addAttribute(new Attribute("from", m_from));
                 }
             } else {
-                String itf = req.getAttribute("interface");
+                String itf = req.getAttribute("specification");
                 String aggregate = req.getAttribute("aggregate");
                 String optional = req.getAttribute("optional");
                 String filter = req.getAttribute("filter");
@@ -312,7 +312,7 @@
                 String from = req.getAttribute("from");
                 if (m_specification != null) {
                     if (itf == null) {
-                        req.addAttribute(new Attribute("interface", m_specification));
+                        req.addAttribute(new Attribute("specification", m_specification));
                     } else if (! m_specification.equals(itf)) {
                         System.err.println("The required specification is not the same than previouly : " + m_specification + " & " + itf);
                         return;
diff --git a/ipojo/tests/core/service-dependency/src/main/resources/metadata.xml b/ipojo/tests/core/service-dependency/src/main/resources/metadata.xml
index 0ce8f51..6defc2f 100644
--- a/ipojo/tests/core/service-dependency/src/main/resources/metadata.xml
+++ b/ipojo/tests/core/service-dependency/src/main/resources/metadata.xml
@@ -74,7 +74,7 @@
 		classname="org.apache.felix.ipojo.test.scenarios.component.MethodCheckServiceProvider"
 		name="MRefCheckServiceProvider" architecture="true">
 		<requires
-			interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService">
+			specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService">
 			<callback type="bind" method="refBind" />
 			<callback type="unbind" method="refUnbind" />
 		</requires>
@@ -189,7 +189,7 @@
 		classname="org.apache.felix.ipojo.test.scenarios.component.MethodCheckServiceProvider"
 		name="MRefOptionalCheckServiceProvider" architecture="true">
 		<requires
-			interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
+			specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
 			optional="true">
 			<callback type="bind" method="refBind" />
 			<callback type="unbind" method="refUnbind" />
@@ -200,7 +200,7 @@
 		classname="org.apache.felix.ipojo.test.scenarios.component.MethodCheckServiceProvider"
 		name="MBothOptionalCheckServiceProvider" architecture="true">
 		<requires
-			interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
+			specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
 			optional="true">
 			<callback type="bind" method="bothBind" />
 			<callback type="unbind" method="bothUnbind" />
@@ -271,7 +271,7 @@
 		classname="org.apache.felix.ipojo.test.scenarios.component.MethodCheckServiceProvider"
 		name="DIMRefOptionalCheckServiceProvider" architecture="true">
 		<requires
-			interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
+			specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
 			optional="true"
 			default-implementation="org.apache.felix.ipojo.test.scenarios.component.FooServiceDefaultImpl">
 			<callback type="bind" method="refBind" />
@@ -283,7 +283,7 @@
 		classname="org.apache.felix.ipojo.test.scenarios.component.MethodCheckServiceProvider"
 		name="DIMBothOptionalCheckServiceProvider" architecture="true">
 		<requires
-			interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
+			specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
 			optional="true"
 			default-implementation="org.apache.felix.ipojo.test.scenarios.component.FooServiceDefaultImpl">
 			<callback type="bind" method="bothBind" />
@@ -348,7 +348,7 @@
 		classname="org.apache.felix.ipojo.test.scenarios.component.MethodMultipleCheckService"
 		name="MRefMultipleCheckServiceProvider" architecture="true">
 		<requires
-			interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
+			specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
 			aggregate="true">
 			<callback type="bind" method="refBind" />
 			<callback type="unbind" method="refUnbind" />
@@ -418,7 +418,7 @@
 		name="MRefOptionalMultipleCheckServiceProvider"
 		architecture="true">
 		<requires
-			interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
+			specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"
 			aggregate="true" optional="true">
 			<callback type="bind" method="refBind" />
 			<callback type="unbind" method="refUnbind" />
@@ -430,14 +430,14 @@
 	<component
 		classname="org.apache.felix.ipojo.test.scenarios.component.ListCheckService"
 		name="SimpleListCheckServiceProvider" architecture="true">
-		<requires field="fs" interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"/>
+		<requires field="fs" specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"/>
 		<provides />
 	</component>
 	<component
 		classname="org.apache.felix.ipojo.test.scenarios.component.ListCheckService"
 		name="OptionalListCheckServiceProvider"
 		architecture="true">
-		<requires interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
+		<requires specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
 		<provides />
 	</component>
 	
@@ -455,7 +455,7 @@
 		classname="org.apache.felix.ipojo.test.scenarios.component.VectorCheckService"
 		name="OptionalVectorCheckServiceProvider"
 		architecture="true">
-		<requires interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
+		<requires specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
 		<provides />
 	</component>
 	
@@ -463,14 +463,14 @@
 	<component
 		classname="org.apache.felix.ipojo.test.scenarios.component.SetCheckService"
 		name="SimpleSetCheckServiceProvider" architecture="true">
-		<requires field="fs" interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"/>
+		<requires field="fs" specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"/>
 		<provides />
 	</component>
 	<component
 		classname="org.apache.felix.ipojo.test.scenarios.component.SetCheckService"
 		name="OptionalSetCheckServiceProvider"
 		architecture="true">
-		<requires interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
+		<requires specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
 		<provides />
 	</component>
 	
@@ -478,14 +478,14 @@
 	<component
 		classname="org.apache.felix.ipojo.test.scenarios.component.CollectionCheckService"
 		name="SimpleCollectionCheckServiceProvider" architecture="true">
-		<requires field="fs" interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"/>
+		<requires field="fs" specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService"/>
 		<provides />
 	</component>
 	<component
 		classname="org.apache.felix.ipojo.test.scenarios.component.CollectionCheckService"
 		name="OptionalCollectionCheckServiceProvider"
 		architecture="true">
-		<requires interface="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
+		<requires specification="org.apache.felix.ipojo.test.scenarios.service.dependency.service.FooService" field="fs" optional="true" />
 		<provides />
 	</component>
 	
