diff --git a/incubator/api/src/main/java/org/onosproject/incubator/component/ComponentService.java b/incubator/api/src/main/java/org/onosproject/incubator/component/ComponentService.java
new file mode 100644
index 0000000..653f7df
--- /dev/null
+++ b/incubator/api/src/main/java/org/onosproject/incubator/component/ComponentService.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onosproject.incubator.component;
+
+import org.onosproject.core.ApplicationId;
+
+/**
+ * Service for managing the components in the system.
+ */
+public interface ComponentService {
+
+    /**
+     * Activates the component identified by the given name. If the component
+     * is not currently available, it will be activated when it becomes
+     * available.
+     *
+     * @param appId application ID of the requesting application
+     * @param name fully-qualified name of the component to activate
+     */
+    void activate(ApplicationId appId, String name);
+
+    /**
+     * Deactivates the component identified by the given name.
+     *
+     * @param appId application ID of the requesting application
+     * @param name fully-qualified name of the component to deactivate
+     */
+    void deactivate(ApplicationId appId, String name);
+}
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/component/package-info.java b/incubator/api/src/main/java/org/onosproject/incubator/component/package-info.java
new file mode 100644
index 0000000..0354eaf
--- /dev/null
+++ b/incubator/api/src/main/java/org/onosproject/incubator/component/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Component management system.
+ */
+package org.onosproject.incubator.component;
