research paper on framework comparison.pdf

Closed abstraction points no new features can be

This preview shows page 20 - 21 out of 78 pages.

Closed abstraction points, no new features can be added. 4.3.3 Subtypes of features Besides the general types we mentioned earlier, mandatory and optional, there are three more subtypes of features. Mandatory and optional describe how and if the feature is present in the product, while these sub types define, what the feature is composed of and how it can be used. These types used are: Composite Atomic Alternate variant Composite features: In [Deu02] composite features are defined as: “Features that are defined in terms of other features are composite features.” This indicates that a composite features value comes from it children. We can conclude that for composite features, we determine the value by evaluating its children. Atomic features: In [Deu02] composite features are defined as: “Atomic features are features which cannot be further subdivided in other features.” For atomic features, we have to make a distinction between mandatory and optional features. Optional features require and additional step which is how do we enable this feature. After that step, we can treat all atomic feature the same and the question lies in the customisability of the feature. Alternate variants: In [Bat05] alternates are defined as: “Only one feature can be selected of this group.” Alternate variants are sub features of a feature of which only one can be selected. The question of customisability with alternate variants lies in how we can enable the variants. We can record this information in feature diagrams [Bat05].
Image of page 20

Subscribe to view the full document.

Anton Gerdessen, Master thesis Page 21 of 78 This results in the following diagram: Feature type Composite or atomic Mandatory Optional Has alternates Composite Determine the steps to enable an alternate Yes Determine if the feature can be customized and which steps to do so Atomic Determine the steps to enable the feature Goto next feature No = Decision = Action = Result Key: Composite or atomic Atomic Composite Figure 4: Steps for customisation per feature type If we take the definition for customisability, again we can conclude: Customisability is changing features or the behaviour of features without changing the source code. Change of feature -> Alternate variants, or optional features Change in behaviour -> Customizing features. 4.3.4 Abstraction types The question remains, how can we identify open and closed abstractions. This can be done based upon if the applications architects designed the application in such a way that new features can be added. Abstraction creates a layer between the features and the rest of the applications. As mentioned in [Lin02]: “Providing more stability than using the components directly; often enabling different implementations of the same functionality.” Since both frameworks are build on the Java general purpose language, abstractions layers can be identified by a set of abstract classes and/or interfaces with an optional base implementation.
Image of page 21
You've reached the end of this preview.
  • Winter '19
  • jollet
  • Domain-specific language, Domain-specific modeling, domain analysis, general-purpose programming language, Anton Gerdessen

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern