note
	description: "Summary description for {ABSTRACT_STATE}."
	author: ""
	date: "$Date$"
	revision: "$Revision$"

class
	ABSTRACT_STATE
inherit
	STORABLE

create
	make
feature
	message: STRING

	input: TUPLE

	internal: TUPLE
		-- internal state

	output: TUPLE

	mutex: MUTEX

	make
		do
			create input
			create output
			create internal
			create mutex.make
			create message.make_empty
		end

	set_input_state(a_input: like input)
		do
			input := a_input
		end

	set_output_state(a_output: like output)
		do
			output := a_output
		end

	set_message(a_message : like message)
		do
			message := a_message
		end

end
