Index: trunk/psModules/src/concepts/pmConceptsWrite.h
===================================================================
--- trunk/psModules/src/concepts/pmConceptsWrite.h	(revision 18163)
+++ trunk/psModules/src/concepts/pmConceptsWrite.h	(revision 22699)
@@ -11,4 +11,9 @@
 #ifndef PM_CONCEPTS_WRITE_H
 #define PM_CONCEPTS_WRITE_H
+
+#include <pslib.h>
+#include <pmFPA.h>
+#include <pmConfig.h>
+#include <pmConcepts.h>
 
 /// @addtogroup Concepts Data Abstraction Concepts
@@ -58,4 +63,38 @@
                                  const psMetadata *concepts ///< The concepts
                                 );
+
+
+/// Write concepts for an FPA; optionally, write concepts at all lower levels.
+///
+/// This function writes all concepts for the FPA to the specified "source".  It also allows concepts to be
+/// written for all lower levels by iterating over the components.
+bool pmConceptsWriteFPA(const pmFPA *fpa,     ///< FPA for which to write concepts
+                        pmConceptSource source, ///< Source for concepts
+                        bool propagateDown, ///< Propagate to lower levels?
+                        pmConfig *config        ///< Configuration
+                       );
+
+/// Write concepts for a chip; optionally, write concepts at the FPA and cell levels.
+///
+/// This function writes all concepts for the chip to the specified "source".  It also allows concepts to be
+/// written for the FPA, and the cell level by iterating over the components.
+bool pmConceptsWriteChip(const pmChip *chip,  ///< Chip for which to write concepts
+                         pmConceptSource source, ///< Source for concepts
+                         bool propagateUp,///< Propagate to higher levels?
+                         bool propagateDown, ///< Propagate to lower levels?
+                         pmConfig *config       ///< Configuration
+                        );
+
+/// Write concepts for a cell; optionally, write concepts for the parents.
+///
+/// This function writes all concepts for the chip to the specified "source".  It also allows concepts to be
+/// written for the upper levels through the parents (note, it would not write concepts for all chips, but
+/// only the parent of this cell).
+bool pmConceptsWriteCell(const pmCell *cell,  ///< FPA for which to write concepts
+                         pmConceptSource source, ///< Source for concepts
+                         bool propagateUp, ///< Propagate to higher levels?
+                         pmConfig *config ///< Configuration
+                        );
+
 /// @}
 #endif
