| Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990. |
....two aspects of Marvel have been presented in previous papers [KFP88, KBFS88] In this paper, I concentrate on the third aspect. I present the design and implementation of the concurrency control mechanism in Marvel, which significantly improve on our initial ideas regarding concurrency control [BK90] I also describe the constructs of the Marvel process modeling language that are used by the concurrency control mechanism. But first, let me illustrate the insufficiency of traditional concurrency control mechanisms by an example from Marvel. I use this example to describe the constructs of ....
Naser S. Barghouti and Gail E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert, 5(6):15--27, December 1990.
....evolution of development states over time. In doing so, it can guide developers through tasks they are obliged to perform, automate particular tasks and most importantly control the way multiple users cooperate. Examples for these environments are Merlin [PS92, PSW92] Melmac [DG90] and Marvel [BK90] The main contributions of GOODSTEP to the problem of construction and customisation of process centred software engineering environments are the following: ffl The O 2 database system [BDK92] has been extended with object level concurrency control, a version manager, object oriented views ....
N. S. Barghouti and G. E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert, pages 15--27, December 1990.
....Disk Management Communication Reliability and Performance Evaluation Comm. Mods. Mach tasks and threads Mach message passing Figure 2 3: Architectural Layers in Camelot 5 2.1.4. DHOMS DHOMS (Dynamic Hierarchical Object Management System) Ben Shaul 91] is the object server for the Marvel [Barghouti 90] rule based software development environment. DHOMS has a layered architecture, as shown in Figure 2 4. It consists of three main modules: The transaction manager (TM) the lock manager (LM) and the data manager (DM) with an RPC client interface, a query processor and the Marvel rule processor ....
Naser S. Barghouti and Gail E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert 5(6):15-27, December, 1990.
.... The concept of Marvel and the implementation details of the single user version are covered in [7, 12, 2, 8, 13] Our experience using single user Marvel is documented in [6] The concept of the multi user version of Marvel and the problems encountered when scaling up the system are described in [3, 4, 5]. Our experience integrating external tools through SEL, our shell envelope language, are described in [10] Further work on the rule processor, in particular the dynamic binding of parameters during chaining, is described in [9] 1.3 System Overview The Marvel system is based on a ....
....and F and five rules, all of which have the name R but whose formal parameters are of different types, as shown in figure 16. If a user requests to fire a rule with two parameters that are instances of class E and F, respectively, Marvel will produce the following vectors for the five rules: [2,3], 2,1] disregard, 1,1] and disregard. Hence, the fourth rule is the one that will be selected for execution. Note that the third rule was disregarded because there is no ancestral relationship between class E, the first actual parameter s type, and class C, the rule s first formal parameter s ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
.... task intervals: Kellner s use of Statemate [9] to provide a management perspective on the modeled processes [13] Perry s policy and product induced partial ordering of process activities [18] Kaiser and Barghouti s implementation of concurrent rule chains in automating tool interactions [2]; and Mi and Scacchi s inclusion of roles and resources as basic entities in the Articulator Model [Wi91] A common thread in these discussions is that of providing support for monitoring and measuring processes. There are several frameworks for measurement guided software development. The TAME ....
Naser S. Barghouti and Gail E. Kaiser, "Modeling Concurrency in Rule-Based Development Environments", IEEE-Expert, December 1990. pp 15-27.
....Enforcement and automation are the two forms of enaction supported in Marvel. Marvel s process enaction is user driven. When a user enters a command, the environment selects the rule with the same name and closest signature to the provided actual parameters considering multiple inheritance [4]. If the condition of the selected rule is not satisfied, backward chaining is attempted. If the condition is already satisfied or becomes satisfied during backward chaining, the activity is initiated. After the activity has completed, the appropriate effect is asserted. This triggers forward ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
....data inconsistent; this involves concurrency control. Unlike the focus of this paper which is on what should be shared or exchanged to achieve collaboration, concurrency control determines what should not be shared or exchanged in order to maintain the consistency of the data and is discussed in [2], 1] and [6] To summarize, the ideal PCE that the users and designers of an industrial scale software process need is one that supports all kinds of process decomposition and collaboration, and whose behavior is easily tailored. We will discuss how to design a PCE to meet this scale challenge in ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
....even the evolution of development states over time. It guides developers through tasks they are obliged to perform, automates particular tasks and most importantly control the way multiple users cooperate. Examples for PSEEs are Merlin [EJP 91, JPSW94] Melmac [DG90, EG91] and Marvel [BK90] The purpose of each task is to produce a set of documents, such as data flow diagrams in requirements analysis or Booch diagrams [Boo91] during architectural design. Documents are written in formal graphical or textual languages. These languages then determine document types and the purpose of ....
N. S. Barghouti and G. E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert, pages 15--27, December 1990.
.... Kellner s use of Statemate [Harel88] to provide a management perspective on the modeled processes [Kellner91] Perry s policy and product induced partial ordering of process activities [Perry91] Kaiser and Barghouti s implementation of concurrent rule chains in automating tool interactions [Barghouti90]; and Mi and Scacchi s inclusion of roles and resources as basic entities in the Articulator Model [Wi91] A common thread in these discussions is that of providing support for monitoring and measuring processes. There are several frameworks for measurement guided software development. The TAME ....
Naser S. Barghouti and Gail E. Kaiser, "Modeling Concurrency in Rule-Based Development Environments", IEEE-Expert, December 1990. pp 15-27.
.... respect to multiple inheritance among classes in the data schema, since it is possible for an instance to specify that all inherited rules should be evaluated in some instance specific order determined by a callback function rather than only exactly matching or closest matching rules [2]. A task thus represents all of the rules invoked as the result of a top level rule selection from a client (a human user or a program) A task is instantiated for each command. Rules matching the request are placed into the top level execution queue as a single bulge. A bulge is a collection of ....
....local chaining type; backward and forward chaining for each chaining type also use the same callback function. This may seem contrary to the purpose of the Amber callback model, since the callback code must check the context in which it is called. It was done this 10 int ( action[MAXSIZE][2][NUMSTATES] callbacks are ordered Begin, Binding, Condition, Activity, Activity Return, Effect, Backward Chain, Forward Chain, End local and Summit atomicity txinit, rpacquirelocks, aftereval, NULL, NULL, finishrule, afterbc, NULL, commitrule , txinit, ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
....as different objectbase structures. When a user requests the execution of a command on a set of objects, MARVEL selects the rule that matches the command. Rule names can be overloaded, and application of rules is disambiguated using the types of the actual parameters, subtyping and inheritance [Barghouti 90] For example, the user might request the edit command on an instance of CFILE, which matches a rule whose condition specifies that the object s reservation status attribute must have the value CheckedOut in order to initiate the activity. The rule s activity invokes the edit operation of the ....
Naser S. Barghouti and Gail E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert 5(6):15-27, December, 1990.
....the compile rule shown in figure 2 5 and bind the f parameter to main.c. Note that there might be several rules whose name is compile but which apply to different classes of objects. Further details of rule selection are not relevant to our discussion here; the reader is referred to [Marvel 91, Barghouti and Kaiser 90] 35 When a rule has been selected for execution, the first thing RBDE does is evaluate the rule s condition. EMSL provides a subset of first order logic (FOL) Chang and Lee 73] for writing the conditions of rules. In order to facilitate the evaluation of a condition, we diverge slightly from ....
Barghouti, N. S. and Kaiser, G. E. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert 5(6):15-27, December, 1990.
....(and ( c.status = Compiled) # 0.a ( c.object time stamp = CurrentTime) # 0.b ( c.status = ErrorCompile) # 1. Figure 3 2: CFILE Compile Rule From C Marvel rule with the same name and closest signature to the provided actual parameters considering multiple 3 inheritance [4]. The condition of this rule is said to be satisfied if its property list evaluates to true for every binding of a local variable (in the case of a forall binding) or to at least one binding of a local variable (in the case of an exists binding) considering the parameters supplied to the ....
Naser S. Barghouti and Gail E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert 5(6):15-27, December, 1990.
....are meant to enforce a development process on their users, and so use a backward chaining model, proving to themselves at each development step that the proposed step is legal within the supported process. Finally, there are environments, such as MARVEL [Kaiser 88, Barghouti 88, Barghouti 90a, Barghouti 90b] that use what has been termed a maximalist model [Barghouti 91] involving both forward and backward chaining, and may provide both automation and enforcement. One major problem with RBDE s is the intrusiveness of the rule model; the developer using an RBDE is forced to think in terms of ....
Naser S. Barghouti and Gail E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert 5(6):15-27, December, 1990.
.... but it may be possible to reach such a solution by combining some of the mechanisms that have complementary strengths, for example, participation domains and transaction restructuring. A limited form of participation domains is currently being implemented for the multi user Marvel environment [5, 4], and we are investigating the integration of participation domains with transaction restructuring operations. It is interesting to note that many of the ideas implemented in the mechanisms surveyed were actually discussed earlier in other contexts. For instance, some of the ideas related to ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
.... step and enters a command with the name and actual parameters of the step, and then Marvel selects the closest matching rules (there may be more than one) and evaluates each of these rules in turn until it finds one whose condition is already satisfied or can be satisfied by backward chaining [3]. The activity, if any, of this rule is then executed. Afterwards, one of the effects is selected according to a status code returned by the activity, and Marvel forward chains to any other rules that are implications of this effect. If none of the conditions of the matching rules can be ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
....opposed to system driven. The user chooses when to try a particular process step, and then Marvel selects the closest matching rules (there may be more than one) and fires each of these rules in turn until it finds one whose condition is already satisfied or can be satisfied by backward chaining [3]. The activity, if any, of this rule is then executed. Afterwards, one of the effects is selected according to a status code returned by the activity, and Marvel forward chains to any other rules that are implications of this effect. If none of the conditions can be satisfied, however, then it is ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
....provides automated assistance by applying forward and backward chaining among the rules in order to automatically invoke activities that are parts of the development process. One distinguishing feature of Marvel is its integration of object oriented data modeling and rule based process modeling [2]. Each development activity on the components of the project under development is modeled as a rule that specifies the condition for invoking the activity and the effect of the activity on the components. The project s components are modeled as objects and stored in a persistent object database. ....
Naser S. Barghouti and Gail E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert, 5(6):15--27, December 1990.
.... opaque hidden file system that should not be accessed except through Oz) composite attributes in an aggregation hierarchy, reference attributes allowing arbitrary 1 to N relations among objects, and one or more superclasses from which it inherits attributes (and rules treated as multimethods [7]) Ad hoc and embedded (in rules) queries may combine navigational and associative 4 We mechanically upgraded our document authoring environment from Marvel to Oz, but devised a new software development process to better support componentization as explained in [37] client client client ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
....of activities after evaluating the read only conditions but prior to initiating the actual activities. Read locks are obtained during the evaluation of the condition, as needed. This behavior may in MARVEL version 3. 1, which is planned to incorporate many of Naser Barghouti s thesis results [Barghouti 90, Barghouti 9x] In contrast, MARVEL permits any concurrency relationship among edit(X) and proof(Y) assuming there is no containment relation between X and Y (MARVEL automatically places intention locks on enclosing objects) so that they could in fact overlap in time and are thus non atomic. ....
Naser S. Barghouti and Gail E. Kaiser. Modeling Concurrency in Rule-Based Development Environments. IEEE Expert 5(6):15-27, December, 1990.
.... file system that should not be accessed except through the PCE) composite attributes in an aggregation hierarchy, and reference attributes allowing arbitrary 1 to N relations among objects, and one or more superclasses from which it inherits attributes (and rules treated as multi methods [1]) Ad hoc and embedded (in rules) queries may combine navigational and associative clauses in a declarative style. Rules perform all data manipulation. Commercial off the shelf tools and other external application programs are interfaced to an environment instance through shell script envelopes, ....
Naser S. Barghouti and Gail E. Kaiser. Modeling concurrency in rule-based development environments. IEEE Expert, 5(6):15--27, December 1990.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC