Modeling Approach Comparison Criteria for the CMA Workshop at MODELS 2012

Size: px
Start display at page:

Download "Modeling Approach Comparison Criteria for the CMA Workshop at MODELS 2012"

Transcription

1 Modeling Approach Comparison Criteria for the CMA Workshop at MODELS 2012 Geri Georg 1, Shaukat Ali 2, Betty H.C. Cheng 3, Benoit Combemale 4, Robert France 1, Jörg Kienzle 5, Jacques Klein 6, Philippe Lahire 7, Markus Luckey 8, Ana Moreira 9, Gunter Mussbacher 10 1 Computer Science Department, Colorado State University, Fort Collins, Colorado, USA 2 Simula Research Laboratory, Norway 3 Dept. of Computer Science and Engineering, Michigan State University, East Lansing, Michigan, USA 4 Ecole Supérieure d Ingénieurs de Rennes, Université de Rennes, Rennes, France 5 School of Computer Science, McGill University, Montreal, Canada 6 Computer Science and Communications Research Unit, Université du Luxembourg, Luxembourg 7 Département d Informatique, Université de Nice - Sophia Antipolis, Nice, France 8 Institut für Informatik, Universität Paderborn, Paderborn, Germany 9 CITI/Departamento de Informática, FCT, Universidade Nova de Lisboa, Lisbon, Portugal 10 Dept. of Systems and Computer Engineering, Carleton University, Ottawa, Canada October, 2012 The comparison criteria described in this document represent a work-in-progress, begun at the Bellairs AOM 1 workshop in April 2011, continued at the first CMA 2 workshop in October 2011, and further discussed at the Bellairs AOM 3 workshop in April/May The purpose of the criteria is to provide a basis for understanding, analyzing, and comparing various modeling approaches. Two groups of criteria are presented: Criteria related to general modeling dimensions (see Section 1) and those related to key modeling concepts (see Section 2). The modeling dimensions criteria characterize a modeling approach by (i) the development phases and activities for which it is most applicable and (ii) the languages or notations used. The key modeling concepts criteria are used to classify a modeling approach in terms of the modeling building blocks, attributes, or qualities targeted for optimization or improvement by the approach. These criteria are intended to play a particularly important role in situating existing approaches in the current body of work, and in identifying the considerations that must be made when developing new modeling approaches. In order to fulfil their role, it is important that the criteria be defined in terms that are widely and precisely understood by the modeling community. We have identified the following as central key modeling concepts: modularity, first class entities including units of encapsulation, and composability including composition rules and composition operators. The key modeling concepts criteria can be applied to either an approach or to the models that are produced using the approach. The focus of this document, however, is the assessment of modeling approaches, and not the models they produce. Furthermore, key modeling concepts can conceivably be interpreted differently depending on which modeling dimension is being considered. While we recognize this fact, we present the modeling dimensions and key modeling concepts in a more orthogonal view. August, and

2 Figure 1 Metamodel for Modeling Approaches Where possible, the description of a modeling dimension or key concept contains generally agreed-upon definitions. In cases where such definitions are not available, we have 2

3 included examples that demonstrate our intent. Each description is followed by a set of questions that aim to assess a modeling approach against the modeling dimension or key modeling concept. Figure 1 structures modeling dimensions and key modeling concepts discussed in this document in a metamodel that can be used to characterize and instantiate modeling approaches. The main classes in the metamodel are ModelingApproach, Language, FirstClassEntity, EncapsulationUnit, and CompositionSpecification. Each of the following sections and subsections explains the applicable portion of the metamodel in more detail (indicated by sans serif italic font). Several additional key modeling concepts have been identified but have not yet been adequately discussed to be included in the metamodel. These key modeling concepts have been placed into a parking lot (see Section 3). Our goal is to continue to refine this document in order to address all key modeling concepts with a similar level of detail. Operator 1. Modeling Dimensions 1.1 General Questions: A. What is the name of the modeling approach? B. Which documents related to the modeling approach (e.g., standards, publications, technical documentation) and tools related to the modeling approach were used for this assessment? Provide references and version numbers wherever possible. C. What is the purpose of the modeling approach, why is the approach used, and what problem(s) does the modeling approach address? D. What are the usage scenarios for the modeling approach? What are the processes or methodologies that define the application of the modeling approach? Provide references wherever possible. is y s 1.2 Phase/activity Modeling approaches (ModelingApproach) may be applicable during certain phases of software development (DevelopmentPhase, PhaseType), or for specific activities of software development (Activity, ActivityType). They may also be useful during multiple phases or for multiple activities. For example, the early requirements phase focuses on stakeholder goals and the description and assessment of alternatives. During the architecture or high-level design phase, an architecture is created that describes the overall system structure as well as general rules and constraints imposed on that structure. Examples of architectures are 3-tier, layered, event-based, distributed client-server, distributed peer-to-peer, etc. Activities such as specification/modeling, analysis, validation, verification, and evolution tend to crosscut across development phases, although their purpose and targets may differ from one phase to another. For example, model checking can be used as a high-level design analysis technique, whereas performance analysis may be targeted towards low-level design or even implementation phases. Validation ensures that the system is what the stakeholder wants, while verification ensures that the system is built as specified in an artifact. Trade-off analysis investigates the 3

4 effect of simultaneous changes in one or more key factors in a decision, design, or project [1]. Trade-off analysis offers the ability to choose between a set of alternatives, based on a set of potentially conflicting criteria. Note that a modeling approach is applicable to a software development phase or a specific activity only if the modeling approach directly supports the phase or activity, e.g., indirect support by transforming a model of the modeling approach into a different model that does not belong to the modeling approach and is subsequently used for an activity during a phase does not count. Furthermore, note that in the metamodel the development phases (/phase) addressed by a modeling approach are a derived attribute, because the development phases can be deduced from the development phases of the activities of the modeling approach. Questions: A. During which software development phases is the modeling approach applicable? Early requirements Late requirements Architecture/High-level design Detailed/Low-level design Implementation Integration Deployment B. In which software development activities is the modeling approach applicable? Specification/Modeling describe what is modeled and in which phase: Validation describe what is validated and in which phase: Verification describe what is verified and in which phase: Evolution describe what is evolved and in which phase: Analysis describe what is analyzed and in which phase: Trade-off Analysis describe what trade-off is analyzed and in which phase: 1.3 Language/notation A model must be defined in a well-defined language or notation (Language). Models may be expressed in a single, general-purpose language, but there are certainly situations that can benefit from the use of languages that are specific to the model viewpoint (e.g., a domainspecific language to define security policies or other system-wide properties). A language for 4

5 an approach may be able to express the functional elements of a model or it may be able to specifically express quality or other non-functional attributes that are used as criteria to judge the quality of a system, rather than its specific behavior. This ability can aid the modeler when analyzing specific quality attributes. An example of an approach for specifying and measuring such quality attributes is one that uses the UML MARTE profile to model performance qualities and then uses the model as a means to perform system design performance analysis. A language of a modeling approach is based on a paradigm (SupportedParadigm), which is defined as the theories, rules, concepts, abstractions, and practices that constrain how activities and development artifacts are handled or represented. A paradigm imposes a decomposition criterion, which is then used to decompose and analyze a problem into smaller problems. Examples are the object-oriented, aspect-oriented, procedural, service-oriented, component-based, feature-oriented, goal-oriented, and logic-based paradigms. The choice of paradigm affects other concepts and dimensions, including tools. For example, in the objectoriented paradigm, modules are classes/abstract data types, while in the procedural paradigm modules are functional abstractions. Tools must be able to perform activities on these modules. A view (View, ViewType) is a projection of a model for a particular reason. For many models, while both structural and behavioral specifications are part of the model, there can be separate structural and behavioral views of the model, and these perspectives may be described using different languages (e.g., the structural perspective may be described using class diagrams while the behavioral perspective may be described using state machines or activity diagrams). A modeling approach may also use specific languages and their associated views for quality attributes such as performance, reliability, and safety to support focused modeling and analysis of these qualities. Furthermore, an intentional view shows the goals that are to be achieved by a system for its stakeholders. A language may be applicable or not applicable to a specific domain (Domain). Note that in the metamodel the attribute for general purpose (/generalpurpose) of a language is a derived attribute, because a language is general purpose if it does not have any supported or avoided domains (supporteddomain or avoideddomain, respectively). A language may use textual, or graphical, or both types of representational elements (ConcreteSyntax). A language may have formal semantics (Semantics), i.e., the language is based upon a formal domain that is well-understood and that allows proofs to be performed, e.g., mathematical logic or Petri nets, or it is possible to map the language to mathematical logic expressions, Petri nets, etc. A language with formal semantics is entirely expressed in mathematical terms. Such a language is machine analyzable, but this does not mean that all aspects of the language are machine analyzable (as there are theoretical limitations to theorem proving and model-checking). A language with a rigorous semantics is a language with semantics expressed in a form that allows language statements to be mechanically analyzed in a limited way (i.e., not all aspects of the language are formalized just enough to perform the types of analysis needed). Executable modeling languages fall into this category as they can be used to support simulations and testing, but one cannot use them to prove that all behaviors satisfy certain properties. Often, languages with a rigorous semantics are based on a welldefined metamodel. While this is usually sufficient to qualify as being rigorous, a welldefined metamodel by itself is insufficient to qualify as being formal. Finally, a language that is informal has none of the above characteristics (in particular, it is not machine analyzable). 5

6 Questions (Repeat B H for each language identified in A): A. List the language(s) used by the modeling approach: B. What is the standardization status of the language? Language is a standard. Language is based on standard(s) list standard(s): Language is not a standard and is not based on standard(s). C. For which application domains is the language applicable? Language is specific to application domain(s) list domain(s): Which application domains should be avoided? Language is general purpose. D. What are the paradigms supported by the language? Object-oriented Aspect-oriented Procedural Service-oriented Goal-oriented Component-based Feature-oriented Logic-based E. The semantics of the language is: Formal Rigorous None of the above (Informal) F. If the language is formal or rigorous, it is assumed to be executable, or machine analyzable, or both. What applies to the language? Executable Analyzable describe what can be analyzed (e.g., which quality attributes) 6

7 G. What views are supported by the language? Structural Behavioral Intentional Quality-based describe which quality attributes are supported: H. What types of concrete syntax are used by the language? Textual Graphical 2. Key Modeling Concepts 2.1 Modularity/first class entities/units of encapsulation/types of concerns The Separation of Concerns principle states that a good way of managing the complexity of developing an artifact associated with many different kinds of concerns, is to break it up into parts that can be handled in relative isolation. The parts may reflect one or more concerns and thus proper separation of concerns allows developers to focus on a subset of concerns at any given time. Effective support for the Separation of Concerns principle can lead to software systems that achieve required engineering quality factors such as robustness, adaptability, maintainability, and reusability. The ideal decision regarding which concerns must be separated from each other requires finding the right compromise for satisfying multiple (quality) factors. A multi-dimensional decomposition, or as it is called multidimensional separation of concerns [2], permits the clean separation of multiple, potentially overlapping and interacting concerns simultaneously, with support for on-demand remodularization to encapsulate new concerns at any time. A language of a modeling approach, however, is not required to support (or indeed may not need to support) the encapsulation of crosscutting concerns through advanced decomposition and composition mechanisms, but may rather be restricted to basic forms of composability suitable for non-crosscutting concerns. A language consists of first class entities (FirstClassEntity) that constitute the building blocks of the language. These first class entities may be combined with each other in various ways as specified in composition specifications (CompositionSpecification). A first class entity may be a module, i.e, a software unit of encapsulation (EncapsulationUnit) with welldefined interfaces which express the services that are provided by the module for use by other modules [3]. A module promotes information hiding by separating its interfaces from its internal design (often referred to as its implementation). Examples of well-defined interfaces are public/private OO-type interfaces, protocol state machines, or service-level agreements. Modularization [4] is decomposition into modules according to decomposition criteria imposed by the paradigm. A language of a modeling approach encapsulates some concepts as units, in order to easily reason about them, manipulate them, analyze them, etc. Examples of encapsulation units are activities, services, aspects, features, themes, concerns, classes, etc. For example, an aspect is a crosscutting unit of encapsulation. A feature is (usually) a functional unit of encapsulation, as in a feature model. A concern is a functional or non-functional unit of encapsulation. A theme [5] is an encapsulation of some functionality or crosscutting concern Modularization [3] is decomposition into modules according to decomposition criteria imposed by the paradigm. A is 7

8 in a system and is considered more general than an aspect. A class is the designated unit of encapsulation in the object-oriented paradigm. A file may also be considered a first class entity or a unit of encapsulation but only if it contains several other units, e.g., if the file contains several classes and a composition mechanism uses the whole file as input. Furthermore, the units may differ depending on the phase of software development. For example, units for a requirements phase could be use cases, quality attributes, and stakeholders, units for design could be classes, aspects, data definitions, and states, and units for implementation could be classes and packages. Finally, a first class entity may be shown in one or more views (see section 1.3). Questions (Repeat B G for each first class entity identified in A): A. List the first class entities used by a language of the modeling approach: B. If the modeling approach uses more than one language, to which language does the first class entity belong? unit of encapsulation F E unit of encapsulation unit(s) of encapsulation unit of encapsulation C. Which software development phases and their activities does the first class entity support? unit of encapsulation D. In which view(s) is the first class entity shown? unit of encapsulation E. Is the first class entity a unit of encapsulation? Yes No F. If the first class entity is a unit of encapsulation, which type of well-defined interface, if any, does the unit of encapsulation have? Public/private OO-type interface Protocol state machine Service level agreement E W No well-defined interface G. If the first class entity is a unit of encapsulation, what is hidden by the unit of encapsulation? 2.2 Composability: composition rules and composition operators In the context of this document, we are interested in composability in a rather general way. Composition is the act of creating new building blocks (i.e., first class entities) by using existing ones (e.g., by putting together several units of encapsulation). A composition is specified in some way (CompositionSpecification), may result in some output (outputs), and encompasses a wide array of composition rules (iscompositionrule) and composition operators (iscompositionoperator) that combine existing first class entities. A composition rule provides the specification of a composition but does not actually perform the / modules/units of encapsulation In the context of this document and assessment, the term composition applies to units of encapsulation 8

9 composition. A composition operator, on the other hand, results in a composed model. If the composed model only contains model elements that can also be found in the source models, then we consider this a particularly strong form of composition. However, composition rules and operators that introduce new model elements in the result of the composition, i.e., model elements that cannot be found in the source models, are still considered as a form of composition. Some composition rules and composition operators enable the structuring of modules through traditional means (e.g., association, generalization (inheritance), aggregation, and composition (as defined by UML), hierarchical decomposition (e.g., sub-activity diagrams), as well as grouping mechanism (e.g., a package)). More advanced forms of composition rules and composition operators are used for (i) the composition of crosscutting concerns through pattern matching, superimposition, aspect weaving, or other means and (ii) model transformations. For example, UML Generalization combines two classes with each other. UML Generalization is a composition rule as it defines which two classes from one or two models should be used to establish generalization between them but the composition is not actually performed at the time of specification. The signature of the composition rule is M x C 1 x M x C 2 M (where M are models that may or may not be the same, C 1 is the parent class, and C 2 is the child class that cannot be the same as C 1 ; the result is a new model M with a new model element for generalization added). Any analysis of the model has to take this new model element into account. However, there also exists a UML Generalization composition operator that is synonymous with the composition rule and performs the actual composition (i.e., adding elements and constraints to the classes so that the generalization composition rule is respected). Its signature is hence M x C 1 x C 2 M' (where C 1 is the parent class, C 2 is the child class that cannot be the same as C 1, and both are connected in the model M by a generalization as specified by the composition rule; the result is a new model M ). Just as the composition rule introduces a new model element (i.e., the generalization), the composition operator also introduces new model elements that are necessary to express the semantics of the generalization composition rule. The composition operator takes the composition rule and applies it. Therefore, there is no need for the composition rule anymore (i.e., it is not in the resulting model anymore). Because there exists a dedicated composition operator used only for the composition rule UML Generalization, UML Generalization is categorized as both, a rule and an operator. The second example is UML Association, combining two classes with each other. UML Association takes as input two classes from one or two models and adds the association between them. It is also a composition rule like UML Generalization with a synonymous composition operator the association is actually not implemented when the "line" is drawn. The rule s signature is M x C x M x C M (where M are models that may or may not be the same and C are classes that may or may not be the same; the result is a new model M with a new model element for association added). The operator's signature is M x C x C M' (where C are classes that may or may not be the same but are connected in the model M by an association; the result is a new model M ). As with UML Generalization, the UML Association rule and operator introduce new model elements, i.e., the association (which does not exist in either of the two source models) and those model elements necessary to express the semantics of the association composition rule, respectively. Another example is Control Flow Construct in a scenario notation such as UCM [6] which combines the building blocks of the scenario notation (i.e., responsibilities in UCM) in, e.g., sequence, parallel, or as alternatives. Control Flow Construct is only a composition s s Basic the composition specification Inheritance The Inheritance composition specification inheritance Inheritance child or any other way of implementing inheritance C 2 and that cannot be the same as C 1 This does not Inheritance the composition specification Inheritance the composition specification The composition specification Inheritance. M. are models that conform to the metamodel for UML class diagrams and C are classes; the two Ms may or may not be the same; the two Cs may or may not be the same In contrast to Inheritance s a, as it the composition specification 9

10 operator as the act of specifying the operator immediately results in the composition being performed. The inputs of the Control Flow Construct are a responsibility of a UCM map and another responsibility (optionally on the same UCM map). The operator results in an updated UCM map where both responsibilities have been connected. Hence, the signature of the Control Flow Construct is M x R x R M' (where M is a map and R are responsibilities which may or may not be the same). Control Flow Construct does add new model elements, i.e., those representing the control flow construct. Note that the distinction between Control Flow Construct (i.e., not a composition rule with a synonymous composition operator but rather just a composition operator) and UML Generalization (i.e., a composition rule with a synonymous composition operator) is not as clear as desired. We acknowledge this and have designed the questionnaire to further crystallize the differences, if any. At this point, a distinction is that the latter can be expressed by a set of other model elements, while the former cannot. In other words, generalization can be expressed in UML with already existing language concepts such as class attributes and constraints while the control flow construct cannot be expressed in UCM with other existing language concepts. Finally as an example of the second group of compositions, the RAM approach [7] uses Instantiation which is a composition rule as it only defines which model elements from two source models need to be composed together. Its signature is M x E 1 x M x E 2 M' (where M are models that may or may not be the same and E are model elements that are not the same; the result is a new model M that includes a new model element for instantiation). Instantiation is not a composition operator, as the composition operator used to realize Instantiation is the composition operator Merge and this operator is not specific to Instantiation. Merge, on the other hand, is only a composition operator. Its signature is M 1 x M 2 M' (where M are models) and it does not introduce any new modeling elements. The result of this composition operator contains only elements that exist in the source models. Merge is also a binary composition operator for which algebraic properties can be considered. For a composition to occur, one or more first class entities must first be identified as input to the composition. Input identification (InputSpecificationMethod) can be done explicitly (e.g., class A inherits from class B), by pattern matching (e.g., a regular expression identifies the model elements that need to be composed), or through a binding (i.e., a type of explicit input identification that maps one model element to another model element). Second, the composition operator needs to be defined. Implicit composition does not require the specification of a specific composition operator (e.g., the RAM [7] weaver assumes that the desired composition operator is merge ). On the other hand, explicit composition requires the specification of a composition operator, e.g., add, replace, wrap, merge, etc. A composition rule or composition operator may also be classified by whether it supports symmetric or asymmetric composition (InputInterpretation). A composition rule or composition operator is typically applied to two input models to specify how to create another model or to actually create another model. If both inputs are of the same type, then it is possible that symmetric composition is supported, in which case commutativity holds as the order of the inputs does not matter. If the input models are of different types (e.g., class and aspect), then asymmetric composition is probably supported by the approach, i.e., composition works if A is applied to B but does not work if B is applied to A. Furthermore, composition may be syntax-based or semantics-based [8] (DomainType). In syntax-based composition, the composition is based on syntactic references to the input models. In the context of the composition of crosscutting concerns, this may lead to the wellknown fragile pointcut problem, where structural changes in the base concerns may invalidate the compositions. This problem is tackled in semantics-based composition by relying on the. the composition specification It units of encapsulation probably and this 10

11 meaning of the input models and the relationships to be captured by the composition rather than the structure of the input models or specific naming conventions. Semantics-based composition may be applied to the identification of locations where composition is supposed to occur (e.g., identification of semantically equivalent patterns) or the composition itself (e.g., in simplifying complex results by recognizing redundant model elements; an example is composing inheritance classes that also have a direct relation simple composition will result in multiple direct relations, all except the first of which are redundant). The rules that govern semantics-based composition cannot be inferred by a machine unless the formalization of an approach goes beyond its abstract grammar, e.g., if an execution semantics is formally described then behavior equivalence may be determined. The precision of a composition rule or composition operator may be deterministic, probabilistic, or fuzzy [9] (PrecisionType). Probabilistic compositions are required if there are uncertainties in the specification of problems. Here, it may be preferable to define and optimize the solutions and the composition of solutions with respect to the probabilistic problem definitions [9]. Fuzzy compositions are required if a problem can be solved in a number of alternative ways, and it is not possible (or desired) to commit to a single alternative. Here, each alternative may be assigned to a fuzzy set that expresses the degree of relevancy of a solution. Special composition rules or composition operators are required, which can reason about fuzzy sets. Regardless of whether more advanced composition mechanisms are supported by a language or not, assessing the algebraic properties of binary composition operators (BinaryCompositionOperator) such as commutativity, associativity, and transitivity makes it possible to predict what the result of a composition will be. A language treats models uniformly if it facilitates decomposing a model into a set of cooperating, structurally compatible concerns, and it provides composition operators that manipulate such concerns without affecting their compatibility. The uniform treatment of the concerns helps to fulfil the closure property in the models. If a composition operator applied to any member of a set produces a model that is also in the set, then the set of models is closed under that operation [9]. For example, a language defined by a metamodel is closed under the operation if that operation applied to a model that conforms to the metamodel produces a model that again conforms to the metamodel. However, the set could also be a set of metamodels. Or quite differently, the set could be the set of regular languages and the operation might change the regular language. If the set of regular languages is closed under that operation, then the resulting language again is regular. The closure property is a way to standardize the decomposition mechanism and composition operators that are provided by a language. In addition, it helps to increase the abstraction level of concerns by forming a hierarchy of concerns in which the concerns at the higher levels of the hierarchy abstract from their lower level concerns. Whenever several composition rules or composition operators can be applied, one needs to consider interactions between these rules or operators. At a minimum, languages may support an explicit ordering of composition rules and composition operators (e.g., through precedence). A more detailed assessment of interactions, however, is deferred (see parking lot in Section 3). Finally, a composition rule or operator may be an intrinsic part of a first class entity or may be encapsulated in its own unit. Hence, the modularity of the composition rule or operator is also of interest, i.e., whether or not it is separated from the first class entities that are being composed. Questions (Repeat C U for each composition identified in B; A and B need to be answered only once): basic or some approaches allow units of encapsulation to be composed with the help of a composition specification. A unit units of encapsulation L T,, M, N, and O 11

12 A. If the modeling approach does not use composition to create new first class entities, how does it create new first class entities from existing first class entities? B. List the composition(s) used by a language of the modeling approach: C. To which language does the composition belong? D. Is the composition a: Composition Rule Composition Operator E. If the composition is a composition rule, what other compositions are used to realize the composition defined by the composition rule? F. To which first class entities can the composition be applied (i.e., what are the inputs of the composition)? G. What is the result of the composition (i.e., what are the outputs of the composition)? H. State the signature of the composition as explained in natural language in questions F and G in the form "input1 x input2 x... output". I. Does the result of the composition contain a modeling element that does not exist in the source models (i.e., does the composition add new model element(s) to the source models)? Yes No J. Does the composition realize one or more composition rules? If yes, list each realized composition rule and state whether the realized composition rule still exists in the resulting composed model. Yes provide details in this case: No K. What is the mechanism for identifying the inputs for the composition? Explicit Pattern Matching Binding s s units of encapsulation units of encapsulation units of encapsulation F D E unit(s) of encapsulation (s) If the composition specification is a composition operator, w E F for composition operators and in the form "input1 x input2 x..." for composition rules If the composition specification is a composition operator, d a J E defining 12

13 L. What is the mechanism for applying the composition? Explicit Implicit provide details in this case: M. Is the composition: Symmetric Asymmetric N. Is the composition: Syntax-based Semantics-based provide details in this case: O. Is the composition: Deterministic Probabilistic Fuzzy Other non-deterministic P. If the composition is a binary composition operator, what algebraic properties does the composition operator provide? Commutativity Associativity Transitivity Q. If the composition specification is a composition operator, does the composition operator produce models that are closed under the operator? Yes No R. Is the intent of the composition to address crosscutting concerns? Yes No S. Is it necessary for a language of the modeling approach to support an explicit ordering of the composition? Yes explain why this is needed: No K F defining L G M H N I f the composition specification is a composition operator, i I O J P K D Q L Can be used R M Does s s state which language(s) and how for each language 13

14 T. Is the composition itself separated from the specification of first class entities? Describe in detail how the composition is or is not separated from first class entities. Yes No Details: U. How is a composed model intended to be presented to the modeler by a tool? The composed model is intended to be shown with automatic layout. The composed model is intended to be shown without automatic layout. The original model is intended to be shown with annotations indicating the composition. The composed model is intended to be not shown. 2.3 Traceability Traceability is (i) the ability to chronologically interrelate uniquely identifiable entities in a way that is verifiable or (ii) the ability to verify the history, location, or application of an entity (e.g., a concern, a process, or an artifact such as a requirements model element or a module) by means of documented recorded identification [10]. Entities that are traced are generally model elements (FirstClassEntity). Traceability can be vertical or horizontal (TraceabilityType). Using requirements as an example, vertical traceability is the ability to trace requirements back and forth through the various layers of development, e.g., through the associated life-cycle work products of architecture specifications, detailed designs, code, unit test plans, integration test plans, system test plans, etc. It is possible to generalize this definition of vertical traceability to refer to abstraction levels above the requirements (e.g., system engineering or business process engineering) and below the requirements (e.g., architecture) [11]. Again using requirements as an example, horizontal traceability refers to the ability to trace requirements back and forth to associated plans such as the project plan, quality assurance plan, configuration management plan, risk management plan, etc. This definition can also be generalized. Horizontal traceability may be required during any phase of software development, e.g., at the design level (tracing across different design documents) and at levels above requirements (system engineering or product family domain analysis). Some traceability links may cross the boundaries of software development phases, while other links remain within such boundaries. From a composition point of view, traceability includes being able to identify elements in the composed model with their sources in the original models. More traditional uses of traceability include identification of refinements at lower levels of abstractions if not directly supported by the modeling language (e.g., through hierarchical decomposition). It may be argued that traceability is the concern of tools, however, some entities may be explicit in the modeling approach that are, or could be, targeted for traceability. Furthermore, modeling concepts may exist in the languages of the modeling approach primarily for the purpose of supporting traceability. S N the unit of encapsulation the unit of encapsulation T O If the composition specification is a composition operator, h H If the composed model is presented in a different way depending on the used composition operator, state the composition operator and explain the different approach: can either be units of encapsulations or ModelElementType within such units 14

15 Questions: A. What types of traceability are supported? (For each type, describe (i) the entities that are traced either in the modeling approach (i.e., as part of the process of applying the modeling approach or in models produced by the modeling approach), (ii) the purpose of the type of traceability, and (iii) whether the type of traceability spans more than one software development phase) Horizontal Vertical B. Which language concepts of the modeling approach exist primarily to support traceability? 2.4 Mapping from the previous and to the next phase of software development This property is about whether the concepts of one approach are compatible with another approach that precedes or follows the approach. It is hence not purely a traceability issue but rather a compatibility issue. The property describes the support of a modeling approach for the transition from one development phase to another. It may be necessary to coerce the concepts of one approach into those of another or to extend one approach to make it interface properly with another approach. Mappings may exist with first class entities, at the level of units of encapsulation, or at finer granularity, i.e., model elements within a unit of encapsulation (these model elements may be other first class entities or units of encapsulation). If a modeling approach supports more than one development phase, this question is about the handover to preceding and succeeding modeling approaches. Section 2.3 on traceability should cover the links between more than one development phase within the same modeling approach. Questions: A. How does the modeling approach address moving from the previous phase of software development and which model elements are connected? (ModelElementType) B. How does the modeling approach address moving to the next phase of software development and which model elements are connected? 2.5 Tool support Features (Feature) of tools (Tool) automate formalized parts of one or more activities within and across software development phases (e.g., requirements, design, code, verification & validation, deployment, runtime management, evolution). Questions: A. List the tool(s) that support the modeling approach: 15

16 B. Which features are supported by the tool(s) and by what degree? Specification/Modeling: Full Partial None Application of Composition Operators: Full Partial None Incremental Composition: Full Partial None Analysis: Full Partial None Trade-Off Analysis: Full Partial None Validation: Full Partial None Verification: Full Partial None Evolution: Full Partial None Model Consistency: Full Partial None Other: C. How is a composed model presented to the modeler by the tool(s)? The composed model is shown with automatic layout. The composed model is shown without automatic layout. The original model is shown with annotations indicating the composition. The composed model is not shown. D. How do tools help users understand relationships across first class entities? Which relationships are covered (e.g., unwanted interactions or conflicts, dependencies between units of encapsulation)? Unwanted interactions or conflicts describe how the tool(s) help: units of encapsulation Dependencies describe how the tool(s) help: 2.6 Empirical studies/evaluation Empirical studies are broadly classified into controlled experiments, case studies, and surveys [12]. A case study is an in-depth observational study, whose purpose is to examine projects or evaluate a system under study. Case studies are mostly used to demonstrate the application of an approach in a particular context. For example, in the context of software modeling, the goal of a case study could be to demonstrate the applicability of modeling non-functional behavior (e.g., security) of an industrial case study and reporting lessons learnt during this process. Surveys are normally conducted to evaluate a tool, methodology, or approach, which has been in use for a while. Usually, data is collected using questionnaires and interviews from a representative population. Once the data is collected, it is analyzed using appropriate descriptive statistics and possibly using statistical tests. Based on the analysis of results, conclusions are drawn and generalized. 16

17 A controlled experiment is performed in a controlled environment with the aim to manipulate one or more variables and maintain other variables at fixed values to measure the effect of change (outcome). Experiments usually have two or more treatments, whose outcomes are to be compared. For example, in the context of software modeling, an example of a controlled experiment could be to measure effort required by two approaches, which are developed to solve a particular modeling problem, such as modeling non-functional properties. Questions: A. Briefly describe empirical studies or evaluations that have been performed for the modeling approach (provide references wherever possible). B. How does the modeling approach measure the quality of a composition? Resulting model modularity Resulting model coupling/cohesion Quality of composition is not measured 3. Additional Key Modeling Concepts ( parking lot ) Several other potential comparison criteria have been identified but at this point have not been adequately discussed to be included in the assessment. During the workshops we ranked these criteria in order of importance. They are, in that order: reusability, scalability, inter-module dependency and interaction, abstraction, usability (readability, understandability), ease of evolution, reduction of modeling effort, completeness, and finally expressiveness. 4. References 1. Business Dictionary, Harold Ossher and P. Tarr: Multi-Dimensional Separation of Concerns and the Hyperspace Approach. In Software Architectures and Component Technology, M. Aksit (Ed.), Kluwer Academic Publishers, pp , Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, and Reed Little: Documenting Software Architectures: Views and Beyond. Addison-Wesley Professional, David Parnas: On the Criteria To Be Used in Decomposing Systems into Modules. In Communications of the ACM, vol. 15, pp , Siobhán Clarke and Elisa Baniassad: Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley Professional, International Telecommunication Union (ITU-T), Recommendation Z.151 (11/08): User Requirements Notation (URN) - Language Definition, Geneva, Switzerland, November Jörg Kienzle, Wisam Al Abed, and Jacques Klein: Aspect-oriented multiview modeling. Proc. 8th ACM International Conference on Aspect-oriented Software Development (AOSD 09), ACM, pp , March 2009, doi: /

18 8. Ruzanna Chitchyan, Phil Greenwood, Americo Sampaio, Awais Rashid, Alessandro Garcia, and Lyrene Fernandes da Silva: Semantic vs. syntactic compositions in aspect-oriented requirements engineering: an empirical study. In Proceedings of the 8th ACM international conference on Aspect-oriented software development, pp , Mehmet Aksit: The 7 C's for Creating Living Software: A Research Perspective for Quality- Oriented Software Engineering. In Turkish Journal of Electrical Engineering and Computer Sciences, vol. 12, pp , no. 2, ISO 9001:2008, Quality management systems Requirements, Tim Kasse: Practical Insight into CMMI, Artech House Publishers, ISBN: , pp , Claes Wohlin, Per Runeson, and Martin Höst: Experimentation in Software Engineering: An Introduction, Springer,

Concern Driven Software Development

Concern Driven Software Development Concern Driven Software Development Omar Alam School of Computer Science, McGill University, Montreal, Canada [email protected] Abstract Model Driven Engineering (MDE) has achieved success in many

More information

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns. Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional

More information

Generating Aspect Code from UML Models

Generating 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 [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Verifying Semantic of System Composition for an Aspect-Oriented Approach

Verifying Semantic of System Composition for an Aspect-Oriented Approach 2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? 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 information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

How to Model Aspect-Oriented Web Services

How to Model Aspect-Oriented Web Services How to Model Aspect-Oriented Web Services Guadalupe Ortiz Juan Hernández [email protected] [email protected] Quercus Software Engineering Group University of Extremadura Computer Science Department Pedro

More information

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, [email protected] 2 ABB Corporate Research,

More information

Aspect-Oriented Programming

Aspect-Oriented Programming Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering

More information

Engineering Process Software Qualities Software Architectural Design

Engineering Process Software Qualities Software Architectural Design Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

More information

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction

Acknowledgement. Software Engineering. CS 3141: Team Software Project Introduction CS 3141: Team Software Project Introduction Ali Ebnenasir Department of Computer Science Michigan Technological University Acknowledgement Betty H.C. Cheng Software Engineering Systematic approach for

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

An 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 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 information

The Concern-Oriented Software Architecture Analysis Method

The Concern-Oriented Software Architecture Analysis Method The Concern-Oriented Software Architecture Analysis Method Author: E-mail: Student number: Supervisor: Graduation committee members: Frank Scholten [email protected] s0002550 Dr. ir. Bedir Tekinerdoǧan

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool 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 information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]

More information

Unification of AOP and FOP in Model Driven Development

Unification of AOP and FOP in Model Driven Development Chapter 5 Unification of AOP and FOP in Model Driven Development I n this chapter, AOP and FOP have been explored to analyze the similar and different characteristics. The main objective is to justify

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

VAIL-Plant Asset Integrity Management System. Software Development Process

VAIL-Plant Asset Integrity Management System. Software Development Process VAIL-Plant Asset Integrity Management System Software Development Process Document Number: VAIL/SDP/2008/008 Engineering For a Safer World P u b l i c Approved by : Ijaz Ul Karim Rao Revision: 0 Page:2-of-15

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

Integration of Application Business Logic and Business Rules with DSL and AOP

Integration 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 [email protected]

More information

2. MOTIVATING SCENARIOS 1. INTRODUCTION

2. MOTIVATING SCENARIOS 1. INTRODUCTION Multiple Dimensions of Concern in Software Testing Stanley M. Sutton, Jr. EC Cubed, Inc. 15 River Road, Suite 310 Wilton, Connecticut 06897 [email protected] 1. INTRODUCTION Software testing is an area

More information

Business-Driven Software Engineering Lecture 3 Foundations of Processes

Business-Driven Software Engineering Lecture 3 Foundations of Processes Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary

More information

Run-time Variability Issues in Software Product Lines

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, [email protected] 2 Dep.

More information

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1 The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

More information

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Engineering. Component-Based. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Component-Based Software Engineering Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain that CBSE is concerned with developing standardised components

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs. CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

More information

EA-Analyzer: Automating Conflict Detection in Aspect-Oriented Requirements

EA-Analyzer: Automating Conflict Detection in Aspect-Oriented Requirements 2009 IEEE/ACM International Conference on Automated Software Engineering EA-Analyzer: Automating Conflict Detection in Aspect-Oriented Requirements Alberto Sardinha, Ruzanna Chitchyan, Nathan Weston, Phil

More information

A Variability Viewpoint for Enterprise Software Systems

A 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 information

Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g

Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g Systems Integration: Component-based software engineering Objectives To explain that CBSE is concerned with developing standardised components and composing these into applications To describe components

More information

The SPES Methodology Modeling- and Analysis Techniques

The SPES Methodology Modeling- and Analysis Techniques The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München [email protected] Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT

More information

A Business Process Services Portal

A 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 information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Managing Variability in Software Architectures 1 Felix Bachmann*

Managing Variability in Software Architectures 1 Felix Bachmann* Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA [email protected] Len Bass Software Engineering Institute Carnegie

More information

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach

Reusable Knowledge-based Components for Building Software. Applications: A Knowledge Modelling Approach Reusable Knowledge-based Components for Building Software Applications: A Knowledge Modelling Approach Martin Molina, Jose L. Sierra, Jose Cuena Department of Artificial Intelligence, Technical University

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

i. Node Y Represented by a block or part. SysML::Block,

i. Node Y Represented by a block or part. SysML::Block, OMG SysML Requirements Traceability (informative) This document has been published as OMG document ptc/07-03-09 so it can be referenced by Annex E of the OMG SysML specification. This document describes

More information

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

An Integrated Quality Assurance Framework for Specifying Business Information Systems

An Integrated Quality Assurance Framework for Specifying Business Information Systems An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany

More information

Object-Oriented Systems Analysis and Design

Object-Oriented Systems Analysis and Design Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS

More information

A Methodology for the Development of New Telecommunications Services

A Methodology for the Development of New Telecommunications Services A Methodology for the Development of New Telecommunications Services DIONISIS X. ADAMOPOULOS Centre for Communication Systems Research School of Elec. Eng., IT and Mathematics University of Surrey Guildford

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2007 Vol. 6, No. 1, January-February 2007 CM Configuration Change Management John D.

More information

3SL. Requirements Definition and Management Using Cradle

3SL. Requirements Definition and Management Using Cradle 3SL Requirements Definition and Management Using Cradle November 2014 1 1 Introduction This white paper describes Requirements Definition and Management activities for system/product development and modification

More information

Component Based Software Engineering: A Broad Based Model is Needed

Component Based Software Engineering: A Broad Based Model is Needed Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

11 Tips to make the requirements definition process more effective and results more usable

11 Tips to make the requirements definition process more effective and results more usable 1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to

More information

Data Modeling Basics

Data 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 information

Design Patterns for Complex Event Processing

Design Patterns for Complex Event Processing Design Patterns for Complex Event Processing Adrian Paschke BioTec Center, Technical University Dresden, 01307 Dresden, Germany adrian.paschke AT biotec.tu-dresden.de ABSTRACT Currently engineering efficient

More information

Software Architecture

Software Architecture Software Architecture Lecture 2 Basic Concepts Rob Pettit George Mason University What is Software Architecture?! Definition:! A software system s architecture is the set of principal design decisions

More information

A Process View on Architecture-Based Software Development

A Process View on Architecture-Based Software Development A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany

More information

Chapter 7 Application Protocol Reference Architecture

Chapter 7 Application Protocol Reference Architecture Application Protocol Reference Architecture Chapter 7 Application Protocol Reference Architecture This chapter proposes an alternative reference architecture for application protocols. The proposed reference

More information

Change Management: Modeling Software Product Lines Evolution

Change Management: Modeling Software Product Lines Evolution Change Management: Modeling Software Product Lines Evolution Samuel A. Ajila, Ph.D. MIEEE Department of Systems & Computer Engineering, Carleton University, 25 Colonel By Drive, Ottawa, Ontario, KS 5B6,

More information

Implementation of hybrid software architecture for Artificial Intelligence System

Implementation of hybrid software architecture for Artificial Intelligence System IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.1, January 2007 35 Implementation of hybrid software architecture for Artificial Intelligence System B.Vinayagasundaram and

More information

Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study

Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study Aspect-Oriented Software Development based Solution for Intervention Concerns Problems:Case Study Farhad Soleimanian Gharehchopogh Department of Computer Engineering, Science and Research Branch, Islamic

More information

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions Announcements SE 1: Software Requirements Specification and Analysis Lecture 4: Basic Notations Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445 Send your group

More information

The Software Development Process

The Software Development Process Systeme hoher Qualität und Sicherheit Universität Bremen WS 2015/2016 Lecture 03 (26.10.2015) The Software Development Process Christoph Lüth Jan Peleska Dieter Hutter Your Daily Menu Models of software

More information

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology [email protected] Beate List Vienna University of Technology [email protected]

More information

22C:22 (CS:2820) Object-Oriented Software Development

22C:22 (CS:2820) Object-Oriented Software Development The University of Iowa 22C:22 (CS:2820) Object-Oriented Software Development Fall 2012 Software Complexity by Cesare Tinelli Complexity Software systems are complex artifacts Failure to master this complexity

More information

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Int'l Conf. Software Eng. Research and Practice SERP'15 225 Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert Fraunhofer Institute of Optronics, System Technologies and

More information

A Service Modeling Approach with Business-Level Reusability and Extensibility

A Service Modeling Approach with Business-Level Reusability and Extensibility A Service Modeling Approach with Business-Level Reusability and Extensibility Jianwu Wang 1,2, Jian Yu 1, Yanbo Han 1 1 Institute of Computing Technology, Chinese Academy of Sciences, 100080, Beijing,

More information

An MDA Approach for the Development of Web applications

An MDA Approach for the Development of Web applications An MDA Approach for the Development of Web applications Santiago Meliá Beigbeder and Cristina Cachero Castro {santi,ccachero}@dlsi.ua.es Univesidad de Alicante, España Abstract. The continuous advances

More information

SysML Modelling Language explained

SysML Modelling Language explained Date: 7 th October 2010 Author: Guillaume FINANCE, Objet Direct Analyst & Consultant UML, the standard modelling language used in the field of software engineering, has been tailored to define a modelling

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

II. TYPES OF LEVEL A.

II. TYPES OF LEVEL A. Study and Evaluation for Quality Improvement of Object Oriented System at Various Layers of Object Oriented Matrices N. A. Nemade 1, D. D. Patil 2, N. V. Ingale 3 Assist. Prof. SSGBCOET Bhusawal 1, H.O.D.

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj

A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement. Systems Engineering. Ali M. Hodroj A Case Study of the Systems Engineering Process in Healthcare Informatics Quality Improvement By Ali M. Hodroj Project Report submitted to the Faculty of the Maseeh School of Engineering and Computer Science

More information

New Generation of Software Development

New Generation of Software Development New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 [email protected] ABSTRACT In this paper, I present a picture of what software development

More information

Introduction to Service Oriented Architectures (SOA)

Introduction to Service Oriented Architectures (SOA) Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction

More information

CS314: Course Summary

CS314: Course Summary CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need

More information

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS Hasni Neji and Ridha Bouallegue Innov COM Lab, Higher School of Communications of Tunis, Sup Com University of Carthage, Tunis, Tunisia. Email: [email protected];

More information

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

Lecture 9: Requirements Modelling

Lecture 9: Requirements Modelling A little refresher: What are we modelling? Lecture 9: Requirements Modelling Requirements; Systems; Systems Thinking Role of Modelling in RE Why modelling is important Limitations of modelling Brief overview

More information

How To Write Software

How To Write Software Overview of Software Engineering Principles 1 Software Engineering in a Nutshell Development of software systems whose size/ complexity warrants a team or teams of engineers multi-person construction of

More information

[Refer Slide Time: 05:10]

[Refer Slide Time: 05:10] Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture

More information

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,

More information

Service-Oriented Architectures

Service-Oriented Architectures Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems

More information

Goals and Scenarios to Software Product Lines: the GS2SPL Approach

Goals and Scenarios to Software Product Lines: the GS2SPL Approach Goals and Scenarios to Software Product Lines: the GS2SPL Approach Gabriela Guedes, Carla Silva, Jaelson Castro Centro de Informática Universidade Federal de Pernambuco (UFPE) CEP 50740-540, Recife/ PE

More information

An Overview of Challenges of Component Based Software Engineering

An Overview of Challenges of Component Based Software Engineering An Overview of Challenges of Component Based Software Engineering Shabeeh Ahmad Siddiqui Sr Lecturer, Al-Ahgaff University, Yemen Abstract Nowadays there is trend of using components in development of

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

Semantic Search in Portals using Ontologies

Semantic Search in Portals using Ontologies Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br

More information

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE

More information

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Alain Abran a,b, Kenza Meridji b, Javier Dolado a a Universidad del País Vasco/Euskal Herriko Unibertsitatea b Ecole de technologie

More information

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

More information

KNOWLEDGE FACTORING USING NORMALIZATION THEORY

KNOWLEDGE FACTORING USING NORMALIZATION THEORY KNOWLEDGE FACTORING USING NORMALIZATION THEORY J. VANTHIENEN M. SNOECK Katholieke Universiteit Leuven Department of Applied Economic Sciences Dekenstraat 2, 3000 Leuven (Belgium) tel. (+32) 16 28 58 09

More information

Meta-Model specification V2 D602.012

Meta-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 information