Conceptual design of web application families: the BWW approach OOPSLA 2006 6 th Workshop on Domain-Specific Modeling October 22, 2006 Oregon Convention.

Slides:



Advertisements
Similar presentations
Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Lecture # 2 : Process Models
Introduction To System Analysis and Design
Deriving Semantic Description Using Conceptual Schemas Embedded into a Geographic Context Centre for Computing Research, IPN Geoprocessing Laboratory Miguel.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Object Oriented Design. Goals  Levels of abstraction  Workshop: group meeting for Pragmatic Web homework.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Chapter 10: Architectural Design
Object Oriented Analysis and Design Using the UML
Domain-Specific Software Engineering Alex Adamec.
What is Business Analysis Planning & Monitoring?
UML - Development Process 1 Software Development Process Using UML (2)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Advanced Topics in Requirement Engineering. Requirements Elicitation Elicit means to gather, acquire, extract, and obtain, etc. Requirements elicitation.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
Business Analysis and Essential Competencies
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
SOFTWARE DESIGN.
Metadata Models in Survey Computing Some Results of MetaNet – WG 2 METIS 2004, Geneva W. Grossmann University of Vienna.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
A model for designing product-service systems using functional analysis and agent based model Author: Nicolas Laboratory, Grenoble universities – INPG,
1 Introduction to Software Engineering Lecture 1.
Semantic Data & Ontologies CMPT 455/826 - Week 5, Day 2 Sept-Dec 2009 – w5d21.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
LoG: A Methodology for Metadata Registry-based Management of Scientific Data July 5, 2002 Doo-Kwon Baik
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
A modular metadata-driven statistical production system The case of price index production system at Statistics Finland Pekka Mäkelä, Mika Sirviö.
MDA & RM-ODP. Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Software Engineering Lecture 4 System Modeling The Analysis Stage.
UNIT 1.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Kenneth Baclawski et. al. PSB /11/7 Sa-Im Shin
EKT 421 SOFTWARE ENGINEERING
Abstract descriptions of systems whose requirements are being analysed
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Chapter 24 Testing Object-Oriented Applications
Object oriented analysis and design
Chapter 19 Testing Object-Oriented Applications
Chapter 19 Testing Object-Oriented Applications
Software Development Process Using UML Recap
Presentation transcript:

Conceptual design of web application families: the BWW approach OOPSLA th Workshop on Domain-Specific Modeling October 22, 2006 Oregon Convention Center, Portland, Oregon Roberto Paiano – Anna Lisa Guido – Andrea Pandurino –

2 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The scenario When the application domain is very large and several applications can be obtained from the design, it is important to formalize in some way the domain knowledge. To manage this complexity in the design of specific application many methodologies are born; especially in the design of web application. The scenario becomes more and more complex when the designer has to model not a specific application (that solves a specific problem) but a family of applications about a knowledge domain.

3 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon ModelMethodology Domain Layer Conceptual Layer Application Layer Domain Knowledge Application Knowledge Conceptual Domain Model Requirement Elicitation Application Model User Experience Model Conceptual Application Model Technology Model BWW/UML AWARE/ Goal oriented approach IDM P-IDM W2000-UWA JAVA/ MS.NET The overall scenario

4 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The conceptual model experience Many well-known methodologies exist to model and develop the specific application but there isn’t a standard approach to model the whole domain knowledge. The main goal is to introduce an experience in the conceptual model of a specific domain. This experience has been performed into the industrial research project called “Genesis-D” (Global Environmental Network System of Information for Sustainable Development) sponsored by Edinform SpA.

5 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The environment domain It is a very complex application domain Great number of stakeholders The necessity to acquire and to organize the knowledge from different sources Coherent data exchange between the different stakeholders Different objects are used with the same semantic in different contexts

6 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The two approach In detail, we evaluate the objectiveness and usefulness (in order to design and to develop a web information system) two different approaches: The use of classic techniques within software engineering. Due to the domain dimension and complexity, it is too hard to use a fully-compliant UML approach, thus, the UML-like approach adopts the main concepts of Object Oriented customized for the specific purpose. The use of the formal ontology. This approach uses the classification of the concepts proposed by BWW in order to represent the domain concepts and their relationships with a well-known semantics.

7 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The UML-like approach At the conceptual modeling abstraction level it seems unsuitable to use a fully-compliant Object Oriented approach. According to the abstraction level and to the necessity to manage all the information in a few diagram (in order to not have a fragmented design), in the conceptual model we use only the class diagram.

8 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The UML-like approach In the UML-like approach the modeling process is made up through several iterations: each iteration has the goal to refine the analysis and therefore to describe the application domain in a more and more precise way. Because of the conceptual modeling abstraction level, it is not possible to use “object” for which it is necessary to identify the state and behavior of entire domain reality. In the diagram, we use the “Entity” that may contain some attributes.

9 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The UML-like approach steps StepDescriptionExample 1. Analysis of entities Provide a description of the information entities and the relationships among them Alteration biological variety, climatic change, consumption of soils, soil degradation, pollution, wastes radiation, noise, FIA class (Fact of Environmental Interest) For FIA class all the parameters are grouped in the IIP class (Indicator, Index, Parameter) 2. Analysis of entities attributes Entities are refined (through the definition of the attributes, of their type and of the methods) For Features: Name, period of life, Category, status

10 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The UML-like approach example In the UML-like approach the designer describes the phenomena creating the FIA class (Fact of Environmental Interest) and all the parameters are grouped in the IIP class (Indicator, Index, Parameter) strictly related to the Metrics class. Using an analogous procedure, other abstract classes are identified: Objects, Subjects and Structures (OSS) to which each FIA makes reference. FIA, IIP and Metrics are Abstract Classes. The class OSS contains the Subjects (physical or juridical person that can be interested or involved in facts and environmental phenomena), the Objects (any object or territorial structure inside which the characteristic processes of the human social lifetime are based and are developed) and the Structures.

11 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The use of BWW concepts The BWW concepts classification are adapted to our needs: Adding the relationship of a thing with itself; Adding property in order to characterize the events. In detail, using the OWL: first we defined the meta-model of BWW concepts; then using the meta-model, the environment domain model (target of our research work) is modeled.

12 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The BWW approach steps StepDescriptionExample 1. Analysis of things Highlight domain thinks Water Basin, Water Body, Public Corporation 2. Analysis of classes Highlight domain classes The properties shared between Water Basin and Water Body define a class (Hydrographic object) 3. Mutual propertySelect mutual property of each class For Public Corporation: Regulation, dimension, category,.. 4. Intrinsic property Select intrinsic property of each thinks and classes For Public Competence : Name, function,..

13 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The BWW approach steps StepDescriptionExample 5. Characterization of property each mutual / intrinsic property is tied up to both human and natural laws. This characterization of the properties introduced by BWW, has led us to reflect them in the environmental domain. The territorial competences of the Public Corporation are, for instance, defined by decrees. The decrees result, therefore, in a characterization of the Intrinsic Property territorial competences and, particularly they are Human Law: this means that territorial competencies are constraints by the Human Law decree. BWW attributes allow us to take into consideration the correct semantic of a concept (decree).

14 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon The BWW approach steps StepDescriptionExample 6. Events Define what it happens: the events are in partnership with a thing or class and, when they occur, change a well defined property of the Thing or of the class to which they are associated. An OSS creates a FIA that, in turn, is created when the variation of an indicator produces an alarm. The alarm is an events. Using the BWW approach the FIA has been modeled as an history of the value of indicators; thus, the concept of FIA has the correct semantics. 7. SystemSelect different part of the same Conceptual model BWW defines the systems as the joining of things intending that the things belonging to the system influence the properties of each other

15 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon Comparison between the two approaches BWW approach advantages: Objective: the concepts classification helps to represent the application domain without focus on a particular point of view. the domain model is directly expressed using well defined and categorized domain concept through real world concept such as thing, classes, law and so on where the domain concept is easy to map. It supports directly Events and the concept of input and output in relationship with the concept of thing: is coupled with, generate output and so on (intrinsic in BWW) give the right semantics. It is easy to realize and easy to use for those who will deal with the following phases of analysis and implementation. It is technology independent.

16 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon Comparison between the two approaches The UML-like approach allows to describe a domain using an incremental method. Advantages: the designer improves the analysis step by step the output can be directly used through the UML standard notation to create the final product Disadvantages: the output is an Object Oriented model that implements the typical constructs of this paradigm. the process is strongly dependent on the experience of the designer who must analyze the application domain and must be skilled at OO modeling

17 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon Comparison between the two approaches The main UML-like disadvantage is that the semantic is flattened and the concept of entity is used also to model very different concepts; For instance, in the UML-like modeling, the FIA and the indicator are both modeled as entity but the FIA is a set of values (not previously defined) that the indicator can assume at the time: a FIA is registered when some value of an indicator changes.

18 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon Conclusions The case study presented in this research work is very complex, so we think that the considerations made for this case study are also valid for other case studies. To check the BWW domain model, we also studied the WA used by the Authority of basin of PO river that is perfectly represented into the conceptual model designed.

19 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon Conclusions The BWW approach allows the provision of the right semantics and therefore it expresses all the domain details directly using the domain concepts. The model is objective thanks to the classification of the concepts provided by BWW and it is not tied to a specific implementation technology. The UML-like approach appears particularly effective because, being a lot closer to an implementation technology, allows us to directly reach the realization of a family of applications in a particular application domain. The objectivity and the simplicity of the BWW approach encourages the use of this approach for the conceptual modeling of application domains of great dimensions.

20 of 20 Workshop on Domain-Specific Modeling October Portland, Oregon Future trend In order to keep under control the typical aspects of web applications and therefore to manage the user experience, we are designing two web application starting from the conceptual model of the environment domain. Our efforts are focused on the definition of guidelines to obtain an IDM (Interactive Dialog Model) design starting from the domain modeling. As future work we plain to design and implement an editor in order to help the designer to apply the guidelines that we are defining.