Commit Graph

8 Commits

Author SHA1 Message Date
Erwan Jahier
e1b25b19ee Fix the monitors that were computing coverage rates in Morphine.
Estimated hours taken: 10

Branches: main, release

Fix the monitors that were computing coverage rates in Morphine.  The
problem was the following. In order to check that two successes and
one failure occur for a multi predicate, I was looking at two exits
and one fail; but this is wrong since, of course, the two exits can
be produced by different calls, and since all multi predicates ends
up with a fail event. To get it right, I need to associate the call
number to exit and fail events. To do that, I maintain at exit ports
the list of call numbers; when an exit event occurs, I consider it as
covered iff the current call number is in the list. On the contrary,
I consider a failure as covered at a fail port iff the current call
number is not in the list. This also holds for semidet and nondet
procedures.


extras/morphine/non-regression-tests/queens.exp:
	Update the new expected outputs.

extras/morphine/non-regression-tests/queens.in:
	Update the year of the copyrigth message.

extras/morphine/source/call_site_cov.in:
extras/morphine/source/pred_cov.in:
	Change the code so that it does what it is supposed to do.

	Also use a map instead of a list to store what has to be
	covered for each procedure.

extras/morphine/source/generate_pred_cov.m:
extras/morphine/source/generate_call_site_cov.m:
extras/morphine/source/coverage_util.m:
	Generate an initialize/1 predicate that uses map instead of lists.

extras/morphine/source/coverage.op:
	Coverage monitors now output assoc lists.
2002-03-06 07:36:49 +00:00
Erwan Jahier
becb948271 Remove the call number from the proof tree as it is useless.
Estimated hours taken: .1
branches: main.

extras/morphine/source/control_flow.op:
	Remove the call number from the proof tree as it is useless.

	Make dot display the nodes in their order of creation.
2001-08-29 14:30:22 +00:00
Erwan Jahier
c102d8927e Add a monitor that computes the program execution proof tree.
Estimated hours taken: 20
branches: main.

Add a monitor that computes the program execution proof tree.


extras/morphine/source/collect__proof_tree:
	A new monitor that computes the program execution proof tree
	(New file).

extras/morphine/source/control_flow.op:
	Add support for calling the proof_tree monitor from Morphine.
2001-07-12 15:54:04 +00:00
Erwan Jahier
8847c7f3ff Improve a little bit the code of monitor examples provided with
--
Estimated hours taken: 2
branches: main.

Improve a little bit the code of monitor examples provided with
morphine.

extras/morphine/source/control_flow.op:
extras/morphine/source/collect__control_flow_graph:
extras/morphine/source/collect__dynamic_call_graph:
	Use sets instead of lists, and arc/2 instead of edge/2.
	Use post_process/2 to remove useless stuff.

extras/morphine/source/collect__dynamic_call_graph:
	Extend arc labels with an integer that counts the number of calls.
	Use stack library modules instead of list.
2001-07-12 07:32:10 +00:00
Erwan Jahier
64ab913835 Replace occurrences of "INSA" by "INSA de Rennes" since Morphine is an "INSA de
Estimated hours taken: 1

Replace occurrences of "INSA" by "INSA de Rennes" since Morphine is an "INSA de
Rennes" software, not an "INSA" one.


*:
*/*:
	/s/INSA/INSA de Rennes/

scripts/exec_mercury_program:
	Remove some useless I/O wrapping of Mercury execution runs.

source/collect.op:
	Improve a litte bit the documentation of collect/2.
1999-12-20 14:44:17 +00:00
Erwan Jahier
a74a703043 Put Morphine under the GNU/GPL licence. Also replace a few remaining
Estimated hours taken: 1

Put Morphine under the GNU/GPL licence. Also replace a few remaining
occurrences of Opium-M by Morphine.

morphine/Licence:
	File containing a copy of the GNU/GPL licence.

morphine/INSTALL-MORPHINE:
morphine/source/*.pl:
morphine/source/*.op:
	Add 2 lines in each file header that state that Morphine is under
	the GNU/GPL Licence.

morphine/copyright.txt:
	Change this file in such a way that Morphine is now under GNU/GPL.


morphine/INSTALL-MORPHINE:
morphine/README:
morphine/source/load_morphine.pl:
morphine/source/load_morphine.pl:
morphine/source/morphine_kernel.op
	Replace a few remaining occurrences of Opium-M by Morphine.
1999-12-16 18:13:45 +00:00
Fergus Henderson
0d9317425a Rename all occurrences of Opium-M by Morphine.
Estimated hours taken: 6

(Committed by fjh on behalf of Erwan Jahier.)

morphine/*:
morphine/non_regression_tests/*:
morphine/source/*:
        Rename all occurrences of Opium-M by Morphine.

morphine/source/:
        Rename opium_m_kernel.op into morphine_kernel.op, load_opium.pl
        into load_morphine.pl and load_opium_without_banner.pl into
        load_morphine_without_banner.pl.
1999-12-15 13:40:49 +00:00
Tyson Dowd
c76db04aab Add Opium-M in the extras. (committed on behalf of Erwan Jahier).
Estimated hours taken: 1000

Add Opium-M in the extras.  (committed on behalf of Erwan Jahier).

extras/opium_m/copyright.txt:
	The copyright for Opium-M.

extras/opium_m/VERSION:
extras/opium_m/README:
extras/opium_m/opium-mode.el:
	An emacs mode designed to write opium scenario.

extras/opium_m/INSTALL-OPIUM-M:
	Opium-M installation script.


extras/opium_m/source/interactive_queries.op:
extras/opium_m/source/browse.op:
extras/opium_m/source/control_flow.op:
extras/opium_m/source/coprocess_M.op:
extras/opium_m/source/opium_kernel_M.op:
extras/opium_m/source/current_arg_M.op:
extras/opium_m/source/current_slots_M.op:
extras/opium_m/source/display_M.op:
extras/opium_m/source/source_M.op:
extras/opium_m/source/event_attributes_M.op:
extras/opium_m/source/step_by_step_M.op:
extras/opium_m/source/exec_control_M.op:
extras/opium_m/source/forward_move_M.op:
extras/opium_m/source/load_Opium-M.pl:
extras/opium_m/source/make_scenario-M.pl:
extras/opium_m/source/load_Opium-M_without_banner.pl:
extras/opium_m/source/load_scenario-M.pl:
	The Opium-M source files.

extras/opium_m/source/partch.autoload:
extras/opium_m/source/partch.interface:
extras/opium_m/source/partch.parameter:
extras/opium_m/source/partch.scenario_handler:
extras/opium_m/source/partch.error:
extras/opium_m/source/partch.types:
extras/opium_m/source/partch.translate:
extras/opium_m/source/partch.util.pl:
extras/opium_m/source/partch.make:
extras/opium_m/source/partch.scenario:
	Patches to create the scenario handler for Opium-M. autoload.op,
	etc.  are part of the Eclipse distribution; to avoid licensing
	issues, we copy thoses files from the Eclipse installation
	directory during the installation and then we patch them using
	those files.


extras/opium_m/non-regression-tests/*:
	Non regression tests for Opium-M.

extras/opium_m/non-regression-tests/queens.m:
extras/opium_m/non-regression-tests/test_vars.m:
extras/opium_m/non-regression-tests/test_listing.m:
	Mercury files that are tested.

extras/opium_m/non-regression-tests/browse.in:
extras/opium_m/non-regression-tests/queens.in:
extras/opium_m/non-regression-tests/test_vars.in:
	Input of the non regression tests.

extras/opium_m/non-regression-tests/queens.exp:
extras/opium_m/non-regression-tests/test_vars.exp:
extras/opium_m/non-regression-tests/listing_output.exp:
	Expected output of the non regression tests.

extras/opium_m/non-regression-tests/runtests:
extras/opium_m/non-regression-tests/Mmakefile:
	To perform the non regression tests.

extras/opium_m/non-regression-tests/Mmake.common:
extras/opium_m/non-regression-tests/shutdown:
extras/opium_m/non-regression-tests/startup:
extras/opium_m/non-regression-tests/handle_options:
	Those files are copied from the Mercury tests repository.


extras/opium_m/scripts/exec_mercury_program:
	Script that is used to run Mercury programs under the control of
	Opium-M.

extras/opium_m/scripts/fixmanual:
	Script that patch the output of `manual' command (which automaticly
	generates the Opium-M Reference Manual).
1999-11-11 04:52:27 +00:00