Staged Configuration Using Feature Models
|
|
- Arnold Bishop
- 8 years ago
- Views:
Transcription
1 Staged Coniguration Using Feature Models Krzyszto Czarnecki 1, Simon Helsen 1, and Ulrich Eisenecker 2 1 University o Waterloo, Canada 2 University o Applied Sciences Kaiserslautern, Zweibrücken, Germany Abstract. Feature modeling is an important approach to capturing commonalities and variabilities in system amilies and product lines. In this paper, we propose a cardinality-based notation or eature modeling, which integrates a number o existing extensions o previous approaches. We then introduce and motivate the novel concept o staged coniguration. Staged coniguration can be achieved by the stepwise specialization o eature models. This is important because in a realistic development process, dierent groups and dierent people eliminate product variability in dierent stages. We also indicate how cardinality-based eature models and their specialization can be given a precise ormal semantics. 1 Introduction Feature modeling is a key approach to capturing and managing the common and variable eatures o systems in a system amily or a product line. In the early stages o sotware amily development, eature models provide the basis or scoping the system amily by recording and assessing inormation such as which eatures are important to enter a new market or remain in an existing market, which eatures incur a technological risk, what is the projected development cost o each eature, and so orth [1]. Later, eature models play a central role in the development o a system amily architecture, which has to realize the variation points speciied in the eature models [2, 3]. In application engineering, eature models can drive requirements elicitation and analysis. Knowing which eatures are available in the sotware amily may help customers decide which eatures their system should support. Knowing which desired eatures are provided by the system amily and which have to be custom-developed helps to better estimate the time and cost needed or developing the system. A sotware pricing model could also be based on the additional inormation recorded in a eature model. Feature models also play a key role in generative sotware development [2,4 7]. Generative sotware development aims at automating application engineering based on system amilies: a system is generated rom a speciication written in one or more textual or graphical domain-speciic languages (DSLs). In this context, eature models are used to scope and develop DSLs [2, 8], which may range rom simple parameter lists or eature hierarchies to more sophisticated DSLs with graph-like structures. Feature modeling was proposed as part o the Feature-Oriented Domain Analysis (FODA) method [9], and since then, it has been applied in a number o domains including telecom systems [10,11], template libraries [2], network
2 protocols [12], and embedded systems [13]. Based on this growing experience, a number o extensions and variants o the original FODA notation have been proposed [10, 11, 13 17]. 1.1 Contributions and Overview In this paper, we make the ollowing contributions: we present a cardinalitybased notation or eature models, which integrates and adapts our existing extensions to the FODA notation namely eature cardinalities, group cardinalities, eature diagram reerences, and attributes. We also propose the novel concept o staged coniguration based on specializing eature models and illustrate how specialization can be achieved in a sound way. Finally, we briely indicate how a cardinality-based eature model can be ormalized. The details o this ormalization are elaborated elsewhere [18]. The remainder o the paper is organized as ollows. Section 2 reviews background concepts and related work on eature modeling. Our cardinality-based notation or eature modeling is presented in Section 3. Staged coniguration is described in Section 4. Section 5 gives a glimpse o an approach to ormalize eature models. Appendix A gives a comparison o three dierent notations or eature modeling. 2 Background and Related Work 2.1 Features, Feature Diagrams, and Feature Models A eature is a system property that is relevant to some stakeholder and is used to capture commonalities or discriminate between systems. Features are organized in eature diagrams. A eature diagram is a tree with the root representing a concept (e.g., a sotware system), and its descendent nodes are eatures. In the FODA eature diagram notation (see the letmost column o Table 1 in Appendix A), eatures can be mandatory, optional, or alternative. Feature models are eature diagrams plus additional inormation such as eature descriptions, binding times, priorities, stakeholders, and so orth. Feature diagrams oer a simple and intuitive notation to represent variation points in a way that is independent o implementation mechanisms such as inheritance or aggregation. It is important not to conuse eature diagrams with part-o hierarchies or decompositions o sotware modules. Features may or may not correspond to concrete sotware modules. In general, we distinguish the ollowing our cases: Concrete eatures such as data storage or sorting may be realized as individual components. Aspectual eatures such as synchronization or logging may aect a number o components and can be modularized using aspect technologies. Abstract eatures such as perormance requirements usually map to some coniguration o components and/or aspects.
3 Grouping eatures may represent a variation point and map to a common interace o plug-compatible components, or they may have a purely organizational purpose with no requirements implied. 2.2 Summary o Existing Extensions Since its initial introduction in the technical report by Kang and associates [9], several extensions and variants o the original FODA notation have been proposed. In the ollowing summary, we abstract rom variations in concrete syntax and ocus on the conceptual extensions. eature cardinalities. Features can be annotated with cardinalities, such as [1.. ] or [3..3]. Mandatory and optional eatures can be considered special cases o eatures with the cardinalities [1..1] and [0..1], respectively. Feature cardinalities were motivated by a practical application [13] (ater they were initially rejected [2]). groups and group cardinalities. Alternative eatures in the FODA notation can be viewed as a grouping mechanism. Two urther kinds o groups were proposed in Czarnecki s thesis [14]: the inclusive-or group and the inclusiveor group with optional subeatures (see the middle column o Table 1 in Appendix A). 3 The concept o groups was urther generalized in [17] as a set o eatures annotated with a cardinality speciying an interval o how many eatures can be selected rom that set. The previous kinds o groups become special cases o groups with cardinalities (see the rightmost column o Table 1 in Appendix A). attributes. Attributes were introduced by Czarnecki and associates [13] as a way to represent a choice o a value rom a large or ininite domain such as integers or strings. An elegant way to model attributes proposed by Bednasch [19] is to allow a eature to be associated with a type (such as integer or string). A collection o attributes can be modeled as a number o subeatures, where each is associated with a desired type. relationships. Several authors [10, 11, 16] proposed to extend eature models with dierent kinds o relationships such as consists-o or is-generalizationo. eature categories and annotations. FODA distinguishes among context, representation, and operational eatures. FeatuRSEB [10] proposes unctional, architectural, or implementation eature categories. Section 2.1 gives yet another categorization. Additional inormation on eatures suggested in FODA include descriptions, constraints, binding time, and rationale. Other examples are priorities, stakeholders, deault selections, and exemplar systems [2, 14]. 3 Inclusive-or eatures were introduced independently by Czarnecki [14] and Griss and associates [10]. However, inclusive-or eatures in Griss and associates work [10] imply reuse-time binding, whereas inclusive-or eatures in Czarnecki s work [14] are independent o binding time.
4 modularization. A eature diagram may contain one or more special lea nodes, each standing or a separate eature diagram [19]. This mechanism allows the breaking up o large diagrams into smaller ones and the reuse o common parts in several places.this is an important mechanism because, in practice, eature diagrams can become too large to be considered in their entirety. 3 Cardinality-Based Feature Modeling This section proposes a cardinality-based notation or eature modeling, which is based on modest changes to the previously introduced concepts o eature cardinalities, group cardinalities, and diagram modularization (see Section 2.2). In particular, a eature cardinality speciication may consist o a sequence o intervals. Furthermore, our notation does not allow eatures that are members o a eature group to be qualiied with eature cardinalities. This is because a eature cardinality is a property o the relationship between a single subeature and its parent. Similarly, a group cardinality is a property o the relationship between a parent and a set o subeatures. Next to cardinalities, we have the notion o eature diagram reerences, which allow us to reuse or modularize eature models in a similar ashion as described by Bednasch [19]. In contrast to Bednasch s work [19], eature diagram reerences allow recursion, which may be either direct or indirect. Direct recursion occurs when a eature diagram reerence reers to the eature diagram in which it resides, while indirect recursion involves more than one diagram. The chosen set o conceptual extensions and their adaptations are motivated both by practical applications and the urge to achieve a balance between simplicity and conceptual completeness. Feature cardinalities and attributes are common in modeling both embedded sotware [13] and enterprise sotware (see our example in Section 3.1). The primary motivation or including group cardinalities is elegance and completeness. Although our experience so ar shows that the vast majority o groups are either exclusive-or or inclusive-or, other group cardinality values may still be useul in more exotic situations (e.g., [17] and the example in Section 3.1). Compared to the more proound semantic implications o eature cardinalities, the addition o group cardinalities is semantically relatively straightorward. In our notation, we do not consider relationships between eatures such as consists-o or is-generalization-o because we think that they are better modeled using other notations such as entity-relationship or class diagrams. In general, we believe that a eature modeling notation should ocus purely on capturing commonality and variability. However, i necessary, a tool with an extensible metamodel [19, 20] may allow the user to introduce additional kinds o relationships. Finally, eature categories and other additional inormation are domain dependent, and as previously argued by Czarnecki and associates [13], we think that they are better handled as user-deined, structured annotations. Such annotations are also supported through an extensible metamodel [19].
5 securityproile [0..*] permissionset(string) passwordpolicy ileio iledialog expiration chars never indays (Int) lowercase uppercase unrestricted <2 4> restricted specialchar digit [0..*] ilepath(string) open environmentvariables close permission <0 2> read write Fig. 1. Security proile example 3.1 A Security Proiling Example As a practical example to demonstrate the expressiveness o our eature modeling language, consider a eature model o an operating system security proile in Fig. 1. The password policy o the security proile has an expiration time and possible requirements on the kind o characters to be used. Passwords can be set to never expire, or to expire only ater a given number o days. The number o days a password remains valid can be set in the integer attribute o the indays eature. Generally, whenever a eature has an attribute, we indicate its type within parentheses ater the eature name; or example, myfeature (Int). Itisalso possible to speciy a value o the associated type immediately with the type; myfeature (5 : Int) or example,. The constraints on the kind o characters required in a password are speciied by a eature group with cardinality 2 4. This means that any actual password policy must speciy between two and our (dierent) requirements on the kind o characters. In our example, since no cardinality was speciied or the group o expiration policies, the cardinality 1 1 is assumed (i.e., the expiration policies orm an exclusive-or group). The security proile also has zero or more permission sets. This is indicated with the eature cardinality [0.. ]. I a eature cardinality is [1..1], we draw a little illed circle above the eature. Observe that eatures belonging to a group do not have a eature cardinality. A permission set determines various permissions or executing code. In our simple model, a permission set has a string attribute to speciy its name, and
6 FeatureGroup groupcardinality Attribute type TypedValue * ContainableByFG ContainableByF * Feature name StringValue value IntValue value FeatureModel FDReerence * GroupedFeature SolitaryFeature eaturecardinality RootFeature 1 * Fig. 2. UML metamodel or cardinality-based eature models allows us to speciy permissions with respect to ile IO, ile dialogs, and environment variables. (Other examples would be permissions to access a database, invoke relection, access a Web address, etc.) According to our model, ile IO can be restricted to a list o ile paths, or it is unrestricted. For each ile path, we can speciy its name and associated read/write permissions. Notice that we use a eature diagram reerence or the permission model because we want to reuse it or environment variables. In this paper, we use a dashed line to represent a eature diagram reerence, but it should be noted that, in practice, a dierent representation may be necessary to avoid a convoluted diagram. This is especially important i the purpose o the eature diagram reerence is to modularize a large eature model over dierent diagrams. Finally, the permission to open a ile dialog and to close it can be selected independently. The empty circle above the eatures open and closed indicates that those eatures are optional (i.e., they have the eature cardinality [0..1]). 3.2 A Metamodel Now that we have seen an example o a cardinality-based eature model, we explain the available concepts more accurately by means o an abstract syntax model, where we will reer to the example in Fig. 1 or clariication. Consider the Uniied Modeling Language (UML) metamodel or cardinalitybased eature models in Fig. 2. A eature model consists o any number o root eatures, which orm the root o the dierent eature diagrams in the model. In the security proile example, both the eatures securityproile and permission are root eatures. A root eature is only one o three dierent kind o eatures. The other two are the grouped eature and the solitary eature. The ormer is a eature which can only occur in a eature group. For example, the eature never is a grouped eature in a eature group, which is contained by the eature expiration. A solitary eature is a eature which is, by deinition, not grouped in a eature group. Many eatures in a typical eature model are solitary; or example, the eature passwordpolicy and permissionset.
7 Features can have an optional attribute o a certain type, and those attributes can have an optional value. In this simpliied model, we only have integer and string attributes. Fig. 2 also has a class named FDReerence that stands or a eature diagram reerence. It can reer to only one root eature, but a root eature can be reerred to by several reerences. In the example, the eature permission is reerred to by two reerences. The abstract classes ContainableByFG and ContainableByF stand or those kind o objects that can be contained by a eature group and a eature, respectively. A eature group can contain only grouped eatures or eature diagram reerences, whereas a eature can contain only solitary eatures, eature groups, and reerences. A solitary subeature o a eature is qualiied by a eature cardinality. 4 It speciies how oten the solitary subeature (and any possible subtree) can be duplicated as a child o. A eature cardinality I is a sequence o intervals o the orm [n 1..n 1 ]...[n l..n l ], where we assume the ollowing invariants: i {1,...,l 1} : n i,n i N n l N n l N { } n N : n< 0 n 1 i {1,...,l} : n i n i i {1,...,l 1} : n i <n i+1 An empty sequence o intervals is denoted by ε. An example o a valid speciication o a eature cardinality is [0..2][6..6], which says that we can take a eature 0, 1, 2, or 6 times. Note that we allow the last interval in a eature cardinality to have as an upper bound the Kleene star. Such an upper bound denotes the possibility o taking a eature an unbounded number o times. For example, the eature cardinality [1..2][5.. ] requires that the associated eature is taken 1, 2, 5, or any number greater than 5 times. Semantically, the eature cardinality ε is equivalent to [0..0] and implies that the subeature can never be chosen in a coniguration. A eature group expresses a choice over the grouped eatures in the group. This choice is restricted by the group cardinality n n, which speciies that one has to select at least n and at most n distinct grouped eatures in the group. Given that k>0 is the number o grouped eatures, we assume that the ollowing invariant on group cardinalities holds: 0 n n k. At this point, we ought to mention that, theoretically, we could generalize the notion o group cardinality to be a sequence o intervals as we did or eature cardinalities. However, we have ound no practical applications o this usage, and it would only clutter the presentation. Grouped eatures do not have eature cardinalities because they are not in the solitary subeature relationship. This avoids redundant representations or groups and the need or group normalization that was necessary or the notation in Czarnecki s work [14]. For example, in that notation, an inclusive-or group 4 More precisely, a eature cardinality is attached to the solitary subeature relationship. This relationship is implicit in the metamodel.
8 with both optional and mandatory subeatures (corresponding to eature cardinalities [0..1] and [1..1] respectively), would be equivalent to an inclusive-or group in which all the subeatures were optional. Keeping eature cardinalities out o groups also avoids problems during specialization (see Section 4.3). For example, the duplication o a subeature with a eature cardinality [n..n ], where n > 1, within a group could potentially increase its size beyond the upper bound o the group cardinality. Even without the redundant representations or groups, there is still more than one way to express the same situation in our notation. For example, the ollowing two dierent diagrams are identical in their semantics. permission permission <0 2> read write [0..1] read [0..1] write Conceptually, we keep these two diagrams distinct and leave it up to a tool implementer to decide how to deal with them. For instance, it might be useul to provide a conversion unction or such diagrams. Alternatively, one could decide on one type o preerred orm which is shown by deault. In Appendix A, we discuss a comparison o the new cardinality-based notation with the FODA notation and the notation introduced in [2, 17]. For the sake o readability, we will keep using the latter notation whenever an appropriate equivalent exists. However, because the cardinality-based notation has no eature cardinality in groups, we will not use the illed circle on top o grouped eatures. 4 Staged Coniguration 4.1 Motivation A eature model describes the coniguration space o a system amily. An application engineer may speciy a member o a system amily by selecting the desired eatures rom the eature model within the variability constraints deined by the model (e.g., the choice o exactly one eature rom a group o alternative eatures). The process o speciying a amily member may also be perormed in stages, where each stage eliminates some coniguration choices. We reer to this process as staged coniguration. Each stage takes a eature model and yields a specialized eature model, where the set o systems described by the specialized model is a proper subset o the systems described by the eature model to be specialized. The need or staged coniguration arises in the context o sotware supply chains [7]. Let us take a look at an example based on a real scenario involving the coniguration and generation o basic services or electronic control units (ECUs) embedded in an automobile. Basic services such as tasking support, network drivers, network management, lash support, diagnosis, and so orth, are
9 implemented as components by dierent sotware vendors. A sotware vendor may deliver dierent conigurations o its component to dierent car manuacturers to relect the diering requirements o the individual manuacturers (such as dierent terminologies or provided interaces). Doing so constitutes the irst coniguration stage. In a second stage, each car manuacturer has to urther conigure the components or each dierent ECU in a car, depending on the needs o the control unctions (such as break control or engine management) to be installed on the given ECU. The second coniguration stage may be even more complex, as some global settings and available options may be determined by the manuacturer, while other settings may be provided by the suppliers o the control unctions. Finally, given a concrete coniguration, the code implementing the basic services is generated. Based on the outlined requirements, it should be possible to perorm coniguration in stages and to compose (possibly specialized) eature models. In general, supply chains require staged coniguration o platorms, components, and services. However, staged coniguration may be required even within one organization. For example, security policies could be conigured in stages or an entire enterprise, its divisions, and the individual computers. The enterpriselevel coniguration would determine the choices available to the divisions, and the divisions would determine the choices available to the individual computers. 4.2 Coniguration vs. Specialization A coniguration consists o the eatures that were selected according to the variability constraints deined by the eature diagram. The relationship between a eature diagram and a coniguration is comparable to the one between a class and its instance in object-oriented programming. The process o deriving a coniguration rom a eature diagram is also reerred to as coniguration. Specialization is a transormation process that takes a eature diagram and yields another eature diagram, such that the set o the conigurations denoted by the latter diagram is a true subset o the conigurations denoted by the ormer diagram. We also say that the latter diagram is a specialization o the ormer one. A ully specialized eature diagram denotes only one coniguration. Finally, staged coniguration is a orm o coniguration achieved by successive specialization ollowed by deriving a coniguration rom the most specialized eature diagram in the specialization sequence. In general, we can have the ollowing two extremes when perorming coniguration: a) deriving a coniguration rom a eature diagram directly and b) specializing a eature diagram down to a ull specialization and then deriving the coniguration (which is trivial). Please note that sometimes we might not be interested in arriving at one speciic coniguration. For example, a eature diagram that still contains unresolved variability could be used as an input to a generator. This could be useul when generating a specialized version o a ramework (which still contains variability) or when generating an application that should support the remaining variability at runtime.
10 4.3 Specialization Steps In Section 4.1, we described the process o staged coniguration as the removal o possible coniguration choices. In this section, we discuss in more detail what kind o coniguration choices can be eliminated. We will call the removal o a certain coniguration choice a specialization step. There are six categories o specialization steps: a) reining a eature cardinality, b) reining a group cardinality, c) removing a grouped eature rom a eature group, d) assigning a value to an attribute which only has been given a type, e) cloning a solitary subeature, and ) unolding a eature reerence. We discuss each o these possibilities in more detail below. Reining eature cardinalities. A eature cardinality is a sequence o intervals representing a (possibly ininite) set o distinct natural numbers. Each natural number in the cardinality stands or an accepted number o occurrences or the solitary subeature. Reining a eature cardinality means to eliminate elements rom the subset o natural numbers denoted by the cardinality. This can be achieved as ollows: 1. remove an interval rom the sequence; or 2. i an interval is o the orm [n i..n i ]wheren i <n i, (a) reduce the interval by increasing n i to n i or decrease the n i to n i as long as n i n i.in i =, then it is possible to replace with a number m such that n i m; or (b) split the interval in such a way that the new sequence still obeys the eature cardinality invariant and then reduce the split intervals. A special case o reining a eature cardinality is to reine it to [0..0] or ε. In either case, it means we have removed the entire subeature and its descendents. We leave it up to a tool to decide whether to visually remove eatures with eature cardinality [0..0] or ε. Reining group cardinalities. A group cardinality n 1 n 2 is an interval indicating a minimum and maximum number o distinct grouped eatures to be chosen rom the eature group. Its orm is a simpliication o a eature cardinality and can only be reined by reducing the interval (i.e., by increasing n 1 to n 1 and decreasing n 2 to n 2 as long as n 1 n 2 ). Currently, we do not allow splitting an interval because we have no representation or such a cardinality. O course, such an operation should be incorporated whenever we allow sequences o intervals or group cardinalities. Removing a grouped eature rom a eature group. A eature group o size k with group cardinality n 1 n 2 combines a set o k grouped subeatures and indicates a choice o at least n 1 and at most n 2 distinct grouped eatures. A specialization step can alter a eature group by removing one o the grouped
11 subeatures with all its descendents, provided that n 1 <k. The new eature group will have size k 1, and its new group cardinality will be n 1 min(n 2,k 1), where min(n, n ) takes the minimum o the two natural numbers n and n.the ollowing is an example specialization sequence where each step removes one grouped subeature rom the group: <2 3> <2 3> <2 2> It is not possible to remove grouped subeatures rom a eature group once n 1 = k. In that case, all subeatures have to be taken, and all variability is eliminated. Assigning an attribute value. An obvious specialization step is to assign a value to an uninitialized attribute. The value has to be o the type o the attribute. Cloning a solitary subeature. This operation makes it possible to clone a solitary subeature and its entire subtree, provided the eature cardinality allows it. Moreover, the cloned eature may be given an arbitrary, but ixed, eature cardinality by the user, as long as it is allowed by the original eature cardinality o the solitary subeature. Unlike the other specialization operations, cloning may change the diagram without removing variabilities. However, the new diagram will generally be more amenable to specialization, so we consider it a specialization step nonetheless. We explain this process with an example: 0 [2..2][4..*] [3..3] [1..*] 0 0 The eature cardinality [2..2][4.. ] o the original subeature 0 indicates that 0 must occur at least two times or more than three times in a coniguration. In the specialized diagram above, we have cloned 0 (to the let) and assigned it a new eature cardinality [3..3]. The original eature 0 (to the right) has a new cardinality that guarantees the new diagram does not allow conigurations
12 previously orbidden. In the example, because we have chosen to give the let 0 the ixed eature cardinality [3..3], the eature cardinality o the rightmost 0 has to be [1.. ]. Specialization has occurred since the new diagram does not allow a user to select only 0 two times. Consider another example: 1 [2..*] [2..2] [0..*] 1 1 In this case, no actual specialization took place. The cloned eature 1 to the let has been given the ixed cardinality [2..2]. However, because the original eature cardinality was [2.. ], the rightmost 1 now has cardinality [0.. ]. More generally, suppose I =[n 1..n 1 ]...[n l..n l ]and0<m.providedwehave (n l = ) (m n l < ), it is possible to clone the solitary subeature o with eature cardinality I as ollows: I [m..m] L(m,I) Given that we always have n = or any n N, we can deine the unction L (m, I) as ollows: L (m, ε) =ε i (m n) : [(n m)..(n m)]l (m, I) L (m, [n..n ]I) = i (n <m) (m n ) : [0..(n m)]l (m, I) i n <m : L (m, I) The reader may wonder why we only allow the cloned eature to be given a ixed eature cardinality. This is because, in general, it is impossible to construct a correct eature diagram by cloning a eature and giving it an arbitrary interval or sequence o intervals without some more expressive orm o additional constraints. However, there are a ew useul special cases or this situation that we do not consider in this paper and leave or uture work. Unolding a eature diagram reerence. Finally, we have a specialization step that allows the user to unold a eature diagram reerence. This basically means that we substitute the reerence or the entire eature diagram it reers to by means o its root eature. Although this operation never removes variability, we consider it a specialization step or the same reasons as mentioned above or
13 securityproile permissionset( Internet :String) passwordpolicy [0..*] permissionset(string) iledialog ileio expiration chars ileio iledialog <1 1> <1 1> <3 4> unrestricted environmentvariables indays (30:Int) open specialchar restricted close restricted lowercase digit [0..*] uppercase ilepath(string) environmentvariables open permission <0 1> read permission <0 2> read write Fig. 3. Sample specialization o the security proile the cloning o a solitary eature: it makes the new eature model potentially more amenable or specialization because each unolded eature diagram can now be specialized dierently. 4.4 Security Proiling Example Revisited Let us now apply the notion o staged coniguration to the security proile example rom Section 3.1. Assume, or instance, that the IT inrastructure o a company supports the security proile rom Fig. 1. The company then decides to specialize this proile to deine a standard enterprise-level security proile as depicted in Fig. 3. The specialization is achieved by a combination o steps rom Section 4.3. In the eature passwordpolicy, we have eliminated the ability to have a nonexpiring password and set the expiry time at 30 days. On top o that, the company requires at least three dierent kind o characters to be used instead o two. Moreover, we clone the eature permissionset and assign it the name Internet because we want to speciy a speciic permission set or programs running rom the Internet. In particular, we want ile IO to be restricted and allow no access to local ile paths. Moreover, ile dialogs may be allowed only to be opened, but Internet programs may be given the permission to read environment variables. Observe that we unolded the permission eature diagram reerence under the environmentvariables eature. I desired, the enterprise-level security proile could be urther specialized by individual departments and then or individual computers within the departments.
14 5 Feature Models as Context-Free Grammars The semantics o a eature model can be deined by the set o all possible conigurations. A coniguration itsel is denoted by a structured set o eatures chosen according to the inormal rules o interpretation o eature diagrams. Although this description is suicient in practice, it is helpul to provide a ormal semantics to improve the understanding o some o the intricacies o eature modeling. For example, a ormal semantics allows us to deine exactly what it means when two apparently dierent eature models are equivalent (i.e., denote the same set o conigurations). More interestingly, i eature model specialization maps to the semantic interpretation o a eature model, it would be possible to ormally establish that eature model specialization reduces the set o possible conigurations. Our approach to obtaining such a semantics is to cast eature models back into a well-known ormalism: context-ree grammars. The semantic interpretation o a eature diagram then coincides with a natural interpretation o the sentences recognized by the grammar. It is beyond the scope o this paper to provide a detailed account o exactly how a eature model can be translated into a context-ree grammar, but the interested reader is invited to examine the details in an accompanying technical report [18]. We have to mention that eature diagrams, as they are presented in this paper, can actually be modeled as regular grammars 5 and do not require the additional expressiveness o context-ree grammars. The main reason to use contextree grammars instead is purely or convenience. It is not only possible to speciy cardinality-based eature models as a contextree grammar. Feature model specialization can be mapped onto a set o operations on the context-ree grammar. Those operations are such that it is possible to determine that the set o all conigurations o a specialized eature model is never greater than the set o conigurations o the original eature model. 6 Conclusion and Future Work Cardinality-based eature modeling provides an expressive way to describe eature models. Staged coniguration o such cardinality-based eature models is a useul and important mechanism or sotware supply chains based on product lines. AmiEddi [21,22] was the irst editor supporting the eature modeling notation rom [2]. As a successor o the irst prototype, CaptainFeature [19,20] implements a cardinality-based notation that is similar to the one described in this paper. In uture work, we plan to extend our model with external constraints and reerence attributes [13]. Meanwhile, commercial tools supporting variant coniguration or product lines are starting to emerge (e.g., GEARS [23] and Pure::Consul [24, 25]). Pure::Consul is even directly based on FODA-like eature modeling. More 5 Regular grammars require that the right-hand side o a production can only have one terminal possibly ollowed by a nonterminal.
15 advanced capabilities such as staged coniguration and cardinality-based eature modeling still need to be addressed by these tools. The study o specialization at the grammar level [18]) has helped to better understand possible specialization steps at the diagram level. In act, such an analysis has revealed specialization steps other than those described in Section 4.3. Some o them can be quite involved, and some cannot even be translated back into the concrete syntax o the proposed eature diagram notation. The current specialization steps in this paper (Section 4.3) are an attempt to balance simplicity and practical relevance. We think that specialization and direct coniguration should be two distinct procedures. Although any desired coniguration can be achieved through specialization, specialization oers iner grained steps that would be unnecessarily tedious or direct coniguration. We already have experience with tool support or coniguration based on existing tool prototypes: ConigEditor [13] and CaptainFeature [19, 20]. Both support coniguration in a strictly top-down manner. This contrasts with our approach where staged coniguration o a eature model can be achieved in an arbitrary order. Adequate tool support or the newly introduced cardinality-based eature notation as well as its specialization is under way. Acknowledgements We would like to thank Michal Ankiewicz or ruitul discussions about the metamodel presented in this paper. We also would like to thank Thomas Bednasch or his work on CaptainFeature, which helped us to advance our understanding o eature modeling. Reerences 1. DeBaud, J.M., Schmid, K.: A systematic approach to derive the scope o sotware product lines. In: Proceedings o the 21st International Conerence on Sotware Engineering (ICSE), IEEE Computer Society Press (1999) Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley (2000) 3. Bosch, J.: Design and Use o Sotware Architecture: Adopting and evolving a product-line approach. Addison-Wesley (2000) 4. Weiss, D.M., Lai, C.T.R.: Sotware Product-Line Engineering: A Family-Based Sotware Development Process. Addison-Wesley (1999) 5. Cleaveland, C.: Program Generators with XML and Java. Prentice-Hall (2001) 6. Batory, D., Johnson, C., MacDonald, B., von Heeder, D.: Achieving extensibility through product-lines and domain-speciic languages: A case study. ACM Transactions on Sotware Engineering and Methodology (TOSEM) 11 (2002) Greenield, J., Short, K.: Sotware Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley (2004) To be published. 8. Deursen, A.v., Klint, P.: Domain-speciic language design requires eature descriptions. Journal o Computing and Inormation Technology 10 (2002) 1 17
16 9. Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) easibility study. Technical Report CMU/SEI-90TR -21, Sotware Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (1990) 10. Griss, M., Favaro, J., d Alessandro, M.: Integrating eature modeling with the RSEB. In: Proceedings o the Fith International Conerence on Sotware Reuse (ICSR), IEEE Computer Society Press (1998) Lee, K., Kang, K.C., Lee, J.: Concepts and guidelines o eature modeling or product line sotware engineering. In Gacek, C., ed.: Sotware Reuse: Methods, Techniques, and Tools: Proceedings o the Seventh Reuse Conerence (ICSR7), Austin, USA, Apr.15-19, LNCS 2319, Springer-Verlag (2002) Barbeau, M., Bordeleau, F.: A protocol stack development tool using generative programming. In Batory, D., Consel, C., Taha, W., eds.: Proceedings o the ACM SIGPLAN/SIGSOFT Conerence on Generative Programming and Component Engineering (GPCE 02), Pittsburgh, October 6-8, LNCS 2487, Springer- Verlag (2002) Czarnecki, K., Bednasch, T., Unger, P., Eisenecker, U.W.: Generative programming or embedded sotware: An industrial experience report. In Batory, D., Consel, C., Taha, W., eds.: Proceedings o the ACM SIGPLAN/SIGSOFT Conerence on Generative Programming and Component Engineering (GPCE 02), Pittsburgh, October 6-8, LNCS 2487, Springer-Verlag (2002) Czarnecki, K.: Generative Programming: Principles and Techniques o Sotware Engineering Based on Automated Coniguration and Fragment-Based Component Models. PhD thesis, Technical University o Ilmenau, Ilmanau, Germany (1998) Available rom Hein, A., Schlick, M., Vinga-Martins, R.: Applying eature models in industrial settings. In Donohoe, P., ed.: Proceedings o the Sotware Product Line Conerence (SPLC1), Kluwer Academic Publishers (2000) Svahnberg, M., van Gurp, J., Bosch, J.: On the notion o variability in sotware product lines. In: Proceedings o The Working IEEE/IFIP Conerence on Sotware Architecture (WICSA). (2001) Riebisch, M., Böllert, K., Streiterdt, D., Philippow, I.: Extending eature diagrams with UML multiplicities. In: 6th Conerence on Integrated Design & Process Technology (IDPT 2002), Pasadena, Caliornia, USA. (2002) 18. Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing cardinality-based eature models and their staged coniguration. Technical Report 04-11, Departement o Electrical and Computer Engineering, University o Waterloo, Canada (2004) Bednasch, T.: Konzept und implementierung eines konigurierbaren metamodells ür die merkmalmodellierung. Diplomarbeit, Fachbereich Inormatik, Fachhochschule Kaiserslautern,Standort Zweibrücken, Germany (2002) Available rom dt_bednasch.pd (in German). 20. Bednasch, T., Endler, C., Lang, M.: CaptainFeature ( ) Tool available on SourceForge at Selbig, M.: A eature diagram editor analysis, design, and implementation o its core unctionality. Diplomarbeit, Fachbereich Inormatik, Fachhochschule Kaiserslautern,Standort Zweibrücken, Germany (2000) 22. Mario Selbig: AmiEddi ( ) Tool available at generative-programming.org. 23. Krueger, C.W.: Sotware mass customization. White paper. Available rom http: // (2001)
17 24. pure-systems GmbH: Variant management with pure::consul. Technical White Paper. Available rom (2003) 25. Beuche, D.: Composition and Construction o Embedded Sotware Families. PhD thesis, Otto-von-Guericke-Universität Magdeburg, Germany (2003) Available rom A Overview o Feature Modeling Notations The cardinality-based eature modeling notation o this paper is a continuation o existing modeling notations [2, 17]. Table 1 compares the current proposal with the extended notation rom [2, 17] and the FODA notation. Table 1 compares three dierent notations or eature diagrams. The letmost column shows the FODA notation [9] which has mandatory ( 1 ), optional ( 2 ), and alternative subeatures ( k... 1 ). In the extended notation [2,14], depicted in the middle column, alternative groups come in two lavors: inclusive-or and exclusive-or groups. Moreover, an exclusive-or group can also have optional subeatures. The right column shows some possibilities o the cardinality-based notation that have an equivalent diagram in the extended notation. O course, the cardinality-based notation allows or many additional eatures and eature groups that cannot be expressed in either the FODA notation or the extended notation. However, to improve readability, we suggest using the extended notation o the middle column whenever possible, except or the use o illed circles above grouped eatures that belong to a eature group. A eature modeling tool may provide the appropriate syntactic sugar or those cases.
18 Table 1. Comparison o eature modeling notations FODA notation Extended notation Cardinality-based in [9] in [2, 14] notation mandatory and optional mandatory and optional mandatory and optional subeatures subeatures subeatures [1..1] [0..1] alternative subeatures exclusive-or group group with cardinality 1 1 <1 1> k 1 k 1 n/a inclusive-or group group with k 1 cardinality 1 k <1 k> k 1 k 1 n/a exclusive-or group with group with optional subeatures cardinality 0 1 <0 1> k 1 k 1
Run-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.
More informationImproving Decision Making in Software Product Lines Product Plan Management
Improving Decision Making in Software Product Lines Product Plan Management Pablo Trinidad, David Benavides, and Antonio Ruiz-Cortés Dpto. de Lenguajes y Sistemas Informáticos University of Seville Av.
More informationDevelopment of a Feature Modeling Tool using Microsoft DSL Tools.
Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report 2009-1.ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer
More information2. Getting Started with the Graphical User Interface
May 2011 NII52017-11.0.0 2. Getting Started with the Graphical User Interace NII52017-11.0.0 The Nios II Sotware Build Tools (SBT) or Eclipse is a set o plugins based on the Eclipse ramework and the Eclipse
More informationAn eclipse-based Feature Models toolchain
An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo luca.gherardi@unibg.it, brugali@unibg.it Abstract.
More informationtoday 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
More information1. Overview of Nios II Embedded Development
May 2011 NII52001-11.0.0 1. Overview o Nios II Embedded Development NII52001-11.0.0 The Nios II Sotware Developer s Handbook provides the basic inormation needed to develop embedded sotware or the Altera
More information1. Overview of Nios II Embedded Development
January 2014 NII52001-13.1.0 1. Overview o Nios II Embedded Development NII52001-13.1.0 The Nios II Sotware Developer s Handbook provides the basic inormation needed to develop embedded sotware or the
More information!!! Technical Notes : The One-click Installation & The AXIS Internet Dynamic DNS Service. Table of contents
Technical Notes: One-click Installation & The AXIS Internet Dynamic DNS Service Rev: 1.1. Updated 2004-06-01 1 Table o contents The main objective o the One-click Installation...3 Technical description
More informationSeparating Concerns in Software Logistics
Separating Concerns in Software Logistics Danny Greefhorst Software Engineering Research Centre PO Box 424, 3500 AK The Netherlands greefhor@serc.nl Software logistics deals with the storage, administration,
More informationtoday 1,700 special programming languages used to communicate in over 700 application areas.
today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin
More informationA Methodological Approach to Domain Engineering for Software Variability Enhancement
A Methodological Approach to Domain Engineering for Software Variability Enhancement Alexandre Bragança 1,2 and Ricardo J. Machado 3 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal,
More informationA Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development
A Knowledge-based Product Derivation Process and some Ideas how to Integrate Product Development (Position paper) Lothar Hotz and Andreas Günter HITeC c/o Fachbereich Informatik Universität Hamburg Hamburg,
More informationFinancial Services [Applications]
Financial Services [Applications] Tomáš Sedliačik Institute o Finance University o Vienna tomas.sedliacik@univie.ac.at 1 Organization Overall there will be 14 units (12 regular units + 2 exams) Course
More informationA performance analysis of EtherCAT and PROFINET IRT
A perormance analysis o EtherCAT and PROFINET IRT Conerence paper by Gunnar Prytz ABB AS Corporate Research Center Bergerveien 12 NO-1396 Billingstad, Norway Copyright 2008 IEEE. Reprinted rom the proceedings
More informationUsing Ontologies in the Domain Analysis of Domain-Specific Languages
Using Ontologies in the Domain Analysis of Domain-Specific Languages Robert Tairas 1, Marjan Mernik 2, Jeff Gray 1 1 University of Alabama at Birmingham, Birmingham, Alabama, USA {tairasr,gray}@cis.uab.edu
More informationA FRAMEWORK FOR AUTOMATIC FUNCTION POINT COUNTING
A FRAMEWORK FOR AUTOMATIC FUNCTION POINT COUNTING FROM SOURCE CODE Vinh T. Ho and Alain Abran Sotware Engineering Management Research Laboratory Université du Québec à Montréal (Canada) vho@lrgl.uqam.ca
More informationFIXED INCOME ATTRIBUTION
Sotware Requirement Speciication FIXED INCOME ATTRIBUTION Authors Risto Lehtinen Version Date Comment 0.1 2007/02/20 First Drat Table o Contents 1 Introduction... 3 1.1 Purpose o Document... 3 1.2 Glossary,
More informationA SURVEY ON THE AUTOMATED ANALYSES OF FEATURE MODELS
XV Jornadas de Ingeniería del Software y Bases de Datos JISBD 2006 José Riquelme - Pere Botella (Eds) c CIMNE, Barcelona, 2006 A SURVEY ON THE AUTOMATED ANALYSES OF FEATURE MODELS David Benavides, Antonio
More informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More information2. Developing Nios II Software
2. Developing Nios II Sotware July 2011 ED51002-1.4 ED51002-1.4 Introduction This chapter provides in-depth inormation about sotware development or the Altera Nios II processor. It complements the Nios
More informationManaging Variability in Software Architectures 1 Felix Bachmann*
Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA fb@sei.cmu.edu Len Bass Software Engineering Institute Carnegie
More informationAnalysis of Crosscutting across Software Development Phases based on Traceability
Analysis o Crosscutting across Sotware Development Phases based on Traceability Klaas van den Berg Sotware Engineering Group University o Twente P.O. Box 217 7500 AE Enschede the Netherlands +31 53 4893783
More informationObject-Oriented Software Specification in Programming Language Design and Implementation
Object-Oriented Software Specification in Programming Language Design and Implementation Barrett R. Bryant and Viswanathan Vaidyanathan Department of Computer and Information Sciences University of Alabama
More informationCarrying Ideas from Knowledge-based Configuration to Software Product Lines
Carrying Ideas from Knowledge-based Configuration to Software Product Lines Juha Tiihonen 1, Mikko Raatikainen 2, Varvana Myllärniemi 2, and Tomi Männistö 1 1 {firstname.lastname}@cs.helsinki.fi, University
More informationModeling Dependent Software Product Lines
Modeling Dependent Software Product Lines Marko Rosenmüller, Norbert Siegmund, Christian Kästner, Syed Saif ur Rahman School of Computer Science, University of Magdeburg, Germany {rosenmue, nsiegmun, kaestner,
More informationSection II. Hardware Abstraction Layer
Section II. Hardware Abstraction Layer This section describes the Nios II hardware abstraction layer (HAL). It includes the ollowing chapters: Chapter 5, Overview o the Hardware Abstraction Layer Chapter
More informationA Variability Viewpoint for Enterprise Software Systems
2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,
More informationCOCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
More informationOverview of Generative Software Development
Overview of Generative Software Development Krzysztof Czarnecki University of Waterloo, Canada czarnecki@acm.org Abstract. System family engineering seeks to exploit the commonalities among systems from
More informationDevelopment models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
More informationA Configuration Management Model for Software Product Line
A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA ligyu@iusb.edu 2 Computer
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 3, March-April 2004 Software Product Lines John D. McGregor, Clemson
More informationQuestions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements
Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements
More informationModeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
More informationA Meeting Room Scheduling Problem
A Scheduling Problem Objective Engineering, Inc. 699 Windsong Trail Austin, Texas 78746 512-328-9658 FAX: 512-328-9661 ooinfo@oeng.com http://www.oeng.com Objective Engineering, Inc., 1999-2007. Photocopying,
More informationSPLConfig: Product Configuration in Software Product Line
SPLConfig: Product Configuration in Software Product Line Lucas Machado, Juliana Pereira, Lucas Garcia, Eduardo Figueiredo Department of Computer Science, Federal University of Minas Gerais (UFMG), Brazil
More informationProceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)
Electronic Communications of the EASST Volume 34 (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Position Paper: m2n A Tool for Translating
More informationGenerating Web Applications from Process Models
Generating Web Applications from Process Models Jan Schulz-Hofen, Silvan Golega Hasso-Plattner-Institute for Software Systems Engineering Prof.-Dr.-Helmert-Str. 2-3 D-14482 Potsdam, Germany {jan.schulz-hofen,
More informationTHE MODELING AND CALCULATION OF SOUND RADIATION FROM FACILITIES WITH GAS FLOWED PIPES INTRODUCTION
THE MODELING AND CALCULATION OF SOUND ADIATION FOM FACILITIES WITH GAS FLOWED PIPES INTODUCTION Analysis o the emission caused by industrial acilities like chemical plants, reineries or other production
More informationConcern Driven Software Development
Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada Omar.Alam@mail.mcgill.ca Abstract Model Driven Engineering (MDE) has achieved success in many
More informationSoftware Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication
01PC-422 Software Development for Multiple OEMs Using Tool Configured Middleware for CAN Communication Pascal Jost IAS, University of Stuttgart, Germany Stephan Hoffmann Vector CANtech Inc., USA Copyright
More informationDevelopment of Tool Extensions with MOFLON
Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de
More informationA Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
More informationAccommodating Transient Connectivity in Ad Hoc and Mobile Settings
Accommodating Transient Connectivity in Ad Hoc and Mobile Settings Radu Handorean, Christopher Gill and Gruia-Catalin Roman Department o Computer Science and Engineering Washington University in St. Louis
More informationA Business Process Services Portal
A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru
More informationDomain Modeling of Software Process Models
Domain Modeling of Software Process Models Hassan Gomaa, Larry Kerschberg, and Ghulam A. Farrukh George Mason University and The MITRE Corporation hgomaa@gmu.edu, kersch@gmu.edu, and farrukh@mitre.org
More informationData Modeling Basics
Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy
More informationMaturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization
Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization Jan Bosch University of Groningen Department of Computing Science PO Box 800, 9700 AV, Groningen The Netherlands
More information8. Exception Handling
8. Exception Handling February 2011 NII52006-10.1.0 NII52006-10.1.0 Introduction This chapter discusses how to write programs to handle exceptions in the Nios II processor architecture. Emphasis is placed
More informationMODEL-DRIVEN DEVELOPMENT OF SOFTWARE CONFIGURATION MANAGEMENT SYSTEMS A Case Study in Model-driven Engineering
MODEL-DRIVEN DEVELOPMENT OF SOFTWARE CONFIGURATION MANAGEMENT SYSTEMS A Case Study in Model-driven Engineering Thomas Buchmann, Alexander Dotor and Bernhard Westfechtel Angewandte Informatik 1, Universität
More informationGenerating Highly Customizable SQL Parsers
Generating Highly Customizable SQL Parsers Sagar Sunkle, Martin Kuhlemann, Norbert Siegmund, Marko Rosenmüller, Gunter Saake School of Computer Science University of Magdeburg 39106 Magdeburg, Germany
More informationBridging Programming Productivity, Expressiveness, and Applicability: a Domain Engineering Approach
Bridging Programming Productivity, Expressiveness, and Applicability: a Domain Engineering Approach Oded Kramer and Arnon Sturm Department of Information Systems Engineering, Ben-Gurion University of the
More informationAn Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications
An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,
More informationUsing quantum computing to realize the Fourier Transform in computer vision applications
Using quantum computing to realize the Fourier Transorm in computer vision applications Renato O. Violin and José H. Saito Computing Department Federal University o São Carlos {renato_violin, saito }@dc.uscar.br
More informationTOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES
TOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES R. Bashroush, I. Spence, P. Kilpatrick, T.J. Brown Queen s University Belfast School of Computer Science 18 Malone Road, Belfast BT7 1NN,
More informationIntegration of Application Business Logic and Business Rules with DSL and AOP
Integration of Application Business Logic and Business Rules with DSL and AOP Bogumiła Hnatkowska and Krzysztof Kasprzyk Wroclaw University of Technology, Wyb. Wyspianskiego 27 50-370 Wroclaw, Poland Bogumila.Hnatkowska@pwr.wroc.pl
More informationA Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.
More informationWhy focus on assessment now?
Assessment in th Responding to your questions. Assessment is an integral part o teaching and learning I this sounds amiliar to you it s probably because it is one o the most requently quoted lines rom
More informationMining Complex Feature Correlations from Large Software Product Line Configurations
Technical Report of AGSE April 3, 2013 Mining Complex Feature Correlations from Large Software Product Line Configurations Bo Zhang Software Engineering Research Group University of Kaiserslautern Kaiserslautern,
More informationHow To Combine Feature-Oriented And Aspect-Oriented Programming To Support Software Evolution
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science Otto-von-Guericke-University
More informationOptions on Stock Indices, Currencies and Futures
Options on Stock Indices, Currencies and utures It turns out that options on stock indices, currencies and utures all have something in common. In each o these cases the holder o the option does not get
More informationSoftware Product Lines
Software Product Lines Software Product Line Engineering and Architectures Bodo Igler and Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Questions:
More informationA Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
More informationProGUM-Web: Tool Support for Model-Based Development of Web Applications
ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de
More informationTextual Modeling Languages
Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics
More informationAutomatic Generation of Consistency-Preserving Edit Operations for MDE Tools
Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools Michaela Rindt, Timo Kehrer, Udo Kelter Software Engineering Group University of Siegen {mrindt,kehrer,kelter}@informatik.uni-siegen.de
More informationInternational Journal of Pure and Applied Sciences and Technology
Int. J. Pure Appl. Sci. Technol., 18(1) (213), pp. 43-53 International Journal o Pure and Applied Sciences and Technology ISS 2229-617 Available online at www.iopaasat.in Research Paper Eect o Volatility
More informationTime-Optimal Online Trajectory Generator for Robotic Manipulators
Time-Optimal Online Trajectory Generator or Robotic Manipulators Francisco Ramos, Mohanarajah Gajamohan, Nico Huebel and Raaello D Andrea Abstract This work presents a trajectory generator or time-optimal
More informationPatch management is a crucial component of information security management. An important problem within
MANAGEMENT SCIENCE Vol. 54, No. 4, April 2008, pp. 657 670 issn 0025-1909 eissn 1526-5501 08 5404 0657 inorms doi 10.1287/mnsc.1070.0794 2008 INFORMS Security Patch Management: Share the Burden or Share
More informationMapping between Levels in the Metamodel Architecture
Mapping between Levels in the Metamodel Architecture José Álvarez, Andy Evans 2, Paul Sammut 2 Dpto. de Lenguajes y Ciencias de la Computación, University Málaga, Málaga, 2907, Spain alvarezp@lcc.uma.es
More informationMeta-Model specification V2 D602.012
PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR
More informationEMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS
EMBEDDED SOFTWARE DEVELOPMENT: COMPONENTS AND CONTRACTS David URTING, Stefan VAN BAELEN, Tom HOLVOET and Yolande BERBERS {David.Urting, Stefan.VanBaelen, Tom.Holvoet, Yolande.Berbers}@cs.kuleuven.ac.be
More informationSimulation-Based Security with Inexhaustible Interactive Turing Machines
Simulation-Based Security with Inexhaustible Interactive Turing Machines Ralf Küsters Institut für Informatik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany kuesters@ti.informatik.uni-kiel.de
More informationCombining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution
Combining Feature-Oriented and Aspect-Oriented Programming to Support Software Evolution Sven Apel, Thomas Leich, Marko Rosenmüller, and Gunter Saake Department of Computer Science University of Magdeburg,
More informationEfficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest
Efficient Management of Tests and Defects in Variant-Rich Systems with pure::variants and IBM Rational ClearQuest Publisher pure-systems GmbH Agnetenstrasse 14 39106 Magdeburg http://www.pure-systems.com
More informationOverview of Generative Software Development
Overview of Generative Software Development Krzysztof Czarnecki University of Waterloo Overview Motivation Generative Software Development Examples Summary & Outlook 2 Scaling Up Software Development New
More informationBuilding a Flexible Software Factory Using Partial Domain Specific Models
Building a Flexible Software Factory Using Partial Domain Specific Models Jos Warmer 1, Anneke Kleppe 2 3 1 Ordina SI&D, The Netherlands Jos.Warmer@ordina.nl 2 University Twente, Netherlands a.kleppe@utwente.nl
More informationManaging Variability in Software Product Lines
Managing Variability in Software Product Lines Jilles van Gurp, Jan Bosch, Mikael Svahnberg 1 University of Groningen POBOX 800 9700 AV Groningen The Netherlands [jilles jan.bosch]@cs.rug.nl, msv@ipd.hk-r.se
More information7. Mentor Graphics PCB Design Tools Support
June 2012 QII52015-12.0.0 7. Mentor Graphics PCB Design Tools Support QII52015-12.0.0 This chapter discusses how the Quartus II sotware interacts with the Mentor Graphics I/O Designer sotware and the DxDesigner
More informationIntroduction to Generative Software Development
Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo czarnecki@acm.org www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative
More informationBUSINESS RULES AND GAP ANALYSIS
Leading the Evolution WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Discovery and management of business rules avoids business disruptions WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Business Situation More
More information1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.
* ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes
More informationWeb Service E-contract Establishment Using Features
Web Service E-contract Establishment Using Features Marcelo Fantinato, Itana Maria de S. Gimenes 2, Maria Beatriz F. de Toledo Institute of Computing, University of Campinas, Brazil 2 Department of Computer
More informationVariability in Service-Oriented Systems: An Analysis of Existing Approaches
Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University
More informationUNIVERSITY OF MICHIGAN
UNIVERSITY OF MICHIGAN JOHN M. OLIN CENTER FOR LAW & ECONOMICS BANKRUPTCY AND THE MARKET FOR MORTGAGE AND HOME IMPROVEMENT LOANS EMILY Y. LIN AND MICHELLE J. WHITE PAPER #-13 THIS PAPER CAN BE DOWNLOADED
More informationLinking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?
Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models? Ludmila Penicina Institute of Applied Computer Systems, Riga Technical University, 1 Kalku, Riga, LV-1658,
More informationAutomatic Test Data Generation for TTCN-3 using CTE
Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee
More informationestatistik.core: COLLECTING RAW DATA FROM ERP SYSTEMS
WP. 2 ENGLISH ONLY UNITED NATIONS STATISTICAL COMMISSION and ECONOMIC COMMISSION FOR EUROPE CONFERENCE OF EUROPEAN STATISTICIANS Work Session on Statistical Data Editing (Bonn, Germany, 25-27 September
More informationEvolution in Feature-Oriented Model-Based Software Product Line Engineering
Diploma Thesis Evolution in Feature-Oriented Model-Based Software Product Line Engineering submitted by Christoph Seidl born December 5, 1982 in Freiburg im Br. Technische Universität Dresden Faculty of
More informationIV. The (Extended) Entity-Relationship Model
IV. The (Extended) Entity-Relationship Model The Extended Entity-Relationship (EER) Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of EER Diagrams
More informationRoles in Software Development using Domain Specific Modelling Languages
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,
More informationCompleteness, Versatility, and Practicality in Role Based Administration
Completeness, Versatility, and Practicality in Role Based Administration Slobodan Vukanović svuk002@ec.auckland.ac.nz Abstract Applying role based administration to role based access control systems has
More informationEnterprise Integration: operational models of business processes and workflow systems *
Enterprise Integration: operational models of business processes and workflow systems. 1 Enterprise Integration: operational models of business processes and workflow systems * G.Bruno 1, C.Reyneri 2 and
More informationDEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology bruckner@ifs.tuwien.ac.at Beate List Vienna University of Technology list@ifs.tuwien.ac.at
More informationGenerating Enterprise Applications from Models
Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,
More informationSyntax Check of Embedded SQL in C++ with Proto
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb
More informationVariation Management for Software Production Lines 1
Variation Management for Software Production Lines 1 Charles W. Krueger BigLever Software, Inc. 10500 Laurel Hill Cove Austin TX 78730 USA ckrueger@biglever.com Abstract. Variation in a software product
More informationGenerating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
More informationIs the trailing-stop strategy always good for stock trading?
Is the trailing-stop strategy always good or stock trading? Zhe George Zhang, Yu Benjamin Fu December 27, 2011 Abstract This paper characterizes the trailing-stop strategy or stock trading and provides
More information