Index: src/nongnu/cashews/owls/process/Participant.java
===================================================================
RCS file: src/nongnu/cashews/owls/process/Participant.java
diff -N src/nongnu/cashews/owls/process/Participant.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/nongnu/cashews/owls/process/Participant.java 31 Mar 2005 17:14:22 -0000
@@ -0,0 +1,61 @@
+/* Participant.java -- Representation of a participant in the use of a process.
+ Copyright (C) 2005 The University of Sheffield.
+
+ This file is part of the CASheW-s editor.
+
+ The CASheW-s editor is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ The CASheW-s editor is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with The CASheW-s editor; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA.
+*/
+
+package nongnu.cashews.owls.process;
+
+/**
+ * A Participant takes part in the use of a process.
+ * Usually, there are two participants: the client and the server.
+ *
+ * @author Andrew John Hughes (address@hidden)
+ */
+public class Participant
+{
+
+ /**
+ * The identifier for this participant.
+ *
+ * @serial the participant's ID.
+ */
+ private String id;
+
+ /**
+ * A representation of the client as a participant in the process.
+ */
+ public static final Participant CLIENT = new Participant("TheClient");
+
+ /**
+ * A representation of the server as a participant in the process.
+ */
+ public static final Participant SERVER = new Participant("TheServer");
+
+ /**
+ * Constructs a Participant with the specified ID.
+ *
+ * @param id the id for this participant.
+ */
+ public Participant(String id)
+ {
+ this.id = id;
+ }
+
+
+}
Index: src/nongnu/cashews/owls/process/Process.java
===================================================================
RCS file: src/nongnu/cashews/owls/process/Process.java
diff -N src/nongnu/cashews/owls/process/Process.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/nongnu/cashews/owls/process/Process.java 31 Mar 2005 17:14:22 -0000
@@ -0,0 +1,119 @@
+/* Process.java -- Representation of an OWL-S process.
+ Copyright (C) 2005 The University of Sheffield.
+
+ This file is part of the CASheW-s editor.
+
+ The CASheW-s editor is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ The CASheW-s editor is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with The CASheW-s editor; see the file COPYING. If not, write to the
+ Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA.
+*/
+
+package nongnu.cashews.owls.process;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import nongnu.cashews.owls.expression.Condition;
+import nongnu.cashews.owls.service.ServiceModel;
+
+/**
+ * A Process is a generalisation of atomic and composite
+ * processes. It encapsulates the common process information, including
+ * the process name, parameters, preconditions, participants and results.
+ *
+ * @author Andrew John Hughes (address@hidden)
+ * @see Parameter
+ * @see Participant
+ * @see Result
+ * @see nongnu.cashews.owls.expression.Condition
+ */
+public abstract class Process
+ extends ServiceModel
+{
+
+ /**
+ * The name of the process. These need not be unique.
+ *
+ * @serial the process name.
+ * FIXME: We type this as a String, for want of a defined type.
+ */
+ private String name;
+
+ /**
+ * The input parameters of this process.
+ *
+ * @serial the input parameters.
+ */
+ private List inputs;
+
+ /**
+ * The output parameters of this process.
+ *
+ * @serial the output parameters.
+ */
+ private List