You are designing a system for managing software packages


Assignment

You are designing a system for managing software packages on a computer. To that end, you will have information about the available software packages, stored in the form of Prolog facts. The types of facts are as follows: package(package_2name) Package_name is the name of a package which is available on the system. depends(p1,p2) Indicates that package p1 depends on package p2 (meaning that p1 can only be installed if p2 is also installed). Any package may have multiple dependencies. You can and should make up your own facts to test your code, although be sure to keep the same format for the facts, because we can and will replace your facts with our own for testing. You may assume that there are no circular dependencies represented in the facts. Given the facts above, you are to provide predicates which will perform the following 5 tasks: valid_list(L) Returns true when every element in list L is the name of a package which is available on the system. unsatisfied_dependency(P,L) Returns true when P is a dependency of some member of L, but P is not a member of L itself. unsatisfied_dependency(L) Returns true when any member of L has an unsatisfied dependency. dependency_check(L) Returns true when L has no unsatisfied dependencies. ext_depends(P1,P2) Returns true when P1 depends on package P2, either directly or inderectly by some sequence of of dependencies.

Request for Solution File

Ask an Expert for Answer!!
Computer Engineering: You are designing a system for managing software packages
Reference No:- TGS02722044

Expected delivery within 24 Hours