SlideShare a Scribd company logo
Using viewpoints to derive object-
oriented frameworks: a case study
in the web-based education
domain
Intro to object-oriented frameworks
● Viewpoint-based design method is a new approach for domain analysis
that generates an object-oriented framework from a set of concrete
applications.
● These applications are defined as viewpoints, since they provide different
perspectives of the framework domain.
● Examples of application domains that can be classified in this category
include web-based education (WBE), electronic commerce, and
computational biology. An interesting strategy for constructing new
applications for these domains is the development of object-oriented
frameworks.
Why object-oriented frameworks?
● An object-oriented framework can reduce the costs of developing
applications since it allows designers and implementers to reuse their
previous experience on problem solving at design and code levels.
● Prior research has shown that high levels of software reuse can be
achieved through the use of frameworks (Hamu and Fayad, 1998)
● A framework is defined as a generic software for a domain (Johnson,
1997). It provides a reusable semi finished software architecture that
allows both single building blocks and the design of subsystems to be
reused.
object-oriented frameworks
 Techniques such as design patterns , meta-object protocols , refactoring
and class reorganization , used to support framework design.
 However, none of them addresses the problem of helping the framework
designer to find and structure, framework similarities (frozen spots) and
flexible points (hot-spots).
 It di€ffers from a standard application because some of its parts, which are the
hot-spots or flexible points, may have a diff€erent implementation for each
framework instance, and are left incomplete during design.
viewpoint-based design method
 viewpoints will be represented as standard object-oriented design
 perspectives, or viewpoints, are usually partial or incomplete
 The viewpoint-based design method allows the definition of frameworks
through the analysis of concrete application
 Unification rules are defined as a way of describing how applications, or
viewpoints, can be combined to compose a framework.
Unification rules
 use of unification rules highlights the relationship between the kernel (frozen
spots) and the hot-spot elements in the framework design
Viewpoint unification
 This process imposes some pre-conditions on the viewpoints that are going
to be unified:
1. Same concepts must be represented by the same names.
2. Orthogonal concepts.
3. Attribute types must be consistent.
4. Cyclic hierarchies must be avoided.
 The verification of the above preconditions and the application of
restructuring transformations to solve the inconsistency have to be
supported by human actors.
Viewpoint unification
 When the set of viewpoints is consistent, unification rules can be applied.
The result of the unification process is a template-hook model.
 The unification process is based on the following rules:
1. Every class that belongs to the set of viewpoints has a corresponding
class, with same name, in the template-hook model.
2. If a method has the same signature and implementation in all the
viewpoints it appears, it has a corresponding method, with same name,
signature, and implementation, in the template-hook model.
3. If a method exists in more than one viewpoint with different signature
it has a corresponding hook method in the template-hook model, with same
name but undefined signature and implementation.
Viewpoint unification
 The framework design is generated from the template-hook model. It
eliminate all hotspot relationships from the template-hook model.
 replacing them by the most appropriate meta-pattern. Hot-spot cards are
used to assist this process.
 Flexibility properties:
adaptation without restart and recursive combination
combination of these properties is used to select which meta-pattern should be
applied
Applying meta-patterns
Supporting environment
Supporting environment
 A supporting environment has been defined to assist the viewpoint-based
design method.
 The environment allows the use of refactoring procedures before performing
the viewpoint unification.
 The environment has been defined as a meta-environment to allow for the
configuration of new unification rules, new refactoring rules, and the object-
oriented model used to describe the viewpoints
 its inputs (meta information and viewpoints) and outputs (refactored
viewpoints and frameworks).
The WBE domain case study
 Environments was based on three criteria: (i) their popularity and
importance; (ii) the availability of documentation; and (iii) their underlying
concepts, so that environments that do not model new concepts have been
discarded.
WBE
 Two aspects must be considered when analyzing models.
 First ,models specified by the use of the environments.
 Second, same structure should be represented once
 Following are selected environments:
1. AulaNet
2. LiveBOOKs
3. Web course in a box
4. Web-CT
5. LearningSpace
6. Virtual-U
AulaNet
LiveBOOKs
Web Course in Box
Web-CT
LearningSpace and Virtual-U
The viewpoint unification
Aladin Template-hook Model
Validating the generated
framework
 ALADIN has been implemented and tested in the creation of WBE
applications.
 Two domain specific languages (DSLs) have been defined to assist its
instantiation: 1. Educational language: used in the definition of the
educational components (courses, actors, services, institutions and
departments). 2. Navigational language: used in the definition of the
language (e.g. English, French), interface (e.g. background images,
buttons), and navigational structure.
 We estimate that the use of ALADIN increases the productivity by a factor of
three. A WBE system that would take six months to be developed may be
instantiated from ALADIN in approximately two months
Conclusions
 unification rules can be used to generate frameworks from an initial set of
viewpoints
 We believe that this approach leads to a more explicit definition of the
collaboration between the framework elements and helps the designer to
better implement the framework hot-spots through the use of meta-patterns.
 Another advantage is that teachers and education researchers can develop
their own environments, with little help from software engineers.

More Related Content

What's hot

OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGTail-f Systems
 
Algorithms
AlgorithmsAlgorithms
Algorithms
Liam Dunphy
 
Slide 6 Activity Diagram
Slide 6 Activity DiagramSlide 6 Activity Diagram
Slide 6 Activity DiagramNiloy Rocker
 
Transactions and Concurrency Control
Transactions and Concurrency ControlTransactions and Concurrency Control
Transactions and Concurrency Control
Dilum Bandara
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieee
शैली शर्मा
 
CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV
pkaviya
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Sudarsun Santhiappan
 
Uml package diagram
Uml package  diagramUml package  diagram
Uml package diagram
Vedaraj M
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
Pratik Tambekar
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
Amith Tiwari
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
fahad_uaar
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communicationAbDul ThaYyal
 
Wired LANs
Wired LANsWired LANs
Wired LANs
Meenakshi Paul
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
AMITJain879
 
Concurrent transactions
Concurrent transactionsConcurrent transactions
Concurrent transactions
Sajan Sahu
 
HDLC and Point to point protocol
HDLC and Point to point protocolHDLC and Point to point protocol
HDLC and Point to point protocol
Kinza Razzaq
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
 
Layered Architecture
Layered ArchitectureLayered Architecture
Layered Architecture
Dr Anjan Krishnamurthy
 
Ooad
OoadOoad

What's hot (20)

OpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANGOpenFlow Switch Management using NETCONF and YANG
OpenFlow Switch Management using NETCONF and YANG
 
Algorithms
AlgorithmsAlgorithms
Algorithms
 
Slide 6 Activity Diagram
Slide 6 Activity DiagramSlide 6 Activity Diagram
Slide 6 Activity Diagram
 
Transactions and Concurrency Control
Transactions and Concurrency ControlTransactions and Concurrency Control
Transactions and Concurrency Control
 
Srs template ieee
Srs template ieeeSrs template ieee
Srs template ieee
 
CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV CS8592 Object Oriented Analysis & Design - UNIT IV
CS8592 Object Oriented Analysis & Design - UNIT IV
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Uml package diagram
Uml package  diagramUml package  diagram
Uml package diagram
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
Chapter 4 a interprocess communication
Chapter 4 a interprocess communicationChapter 4 a interprocess communication
Chapter 4 a interprocess communication
 
Wired LANs
Wired LANsWired LANs
Wired LANs
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Concurrent transactions
Concurrent transactionsConcurrent transactions
Concurrent transactions
 
HDLC and Point to point protocol
HDLC and Point to point protocolHDLC and Point to point protocol
HDLC and Point to point protocol
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Layered Architecture
Layered ArchitectureLayered Architecture
Layered Architecture
 
Ooad
OoadOoad
Ooad
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
 

Viewers also liked

03 Object Relational Mapping
03 Object Relational Mapping03 Object Relational Mapping
03 Object Relational MappingRanjan Kumar
 
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)Meenakshi Devi
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven Design
Bradley Holt
 
Domain object model
Domain object modelDomain object model
Domain object model
university of education,Lahore
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling IntroductionDang Tuan
 
From object oriented to functional domain modeling
From object oriented to functional domain modelingFrom object oriented to functional domain modeling
From object oriented to functional domain modeling
Mario Fusco
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
Harsh Jegadeesan
 

Viewers also liked (8)

03 Object Relational Mapping
03 Object Relational Mapping03 Object Relational Mapping
03 Object Relational Mapping
 
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
Mapping Problem Domain Objects to Object-Persistence Formats(OOAD)
 
ZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven DesignZendCon 2011 UnCon Domain-Driven Design
ZendCon 2011 UnCon Domain-Driven Design
 
Domain object model
Domain object modelDomain object model
Domain object model
 
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction  Object-Oriented Analysis & Design (OOAD)  Domain Modeling Introduction
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
 
From object oriented to functional domain modeling
From object oriented to functional domain modelingFrom object oriented to functional domain modeling
From object oriented to functional domain modeling
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 

Similar to Object oriented framework

SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
B.T.L.I.T
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh Soni
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Luis Valencia
 
kuyper_instructionalscience29
kuyper_instructionalscience29kuyper_instructionalscience29
kuyper_instructionalscience29Michiel Kuijper
 
Design patterns
Design patternsDesign patterns
Design patterns
Ahmed Elharouny
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9Ian Sommerville
 
MVC
MVCMVC
Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...
ijccsa
 
UNIT V TESTING.pptx
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptx
anguraju1
 
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
acijjournal
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
Dr. C.V. Suresh Babu
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
Kuwait10
 
Migration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based systemMigration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based system
ijfcstjournal
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
cscpconf
 
System design process.pptx
System design process.pptxSystem design process.pptx
System design process.pptx
NajibMuhammad16
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15Jay van Zyl
 
Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...
Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...
Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...
Martin Chapman
 
Ch7
Ch7Ch7
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
Ahmad karawash
 

Similar to Object oriented framework (20)

SADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdfSADP PPTs of all modules - Shanthi D.L.pdf
SADP PPTs of all modules - Shanthi D.L.pdf
 
Sub1583
Sub1583Sub1583
Sub1583
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
Typescript design patterns applied to sharepoint framework - Sharepoint Satur...
 
kuyper_instructionalscience29
kuyper_instructionalscience29kuyper_instructionalscience29
kuyper_instructionalscience29
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Ch7-Software Engineering 9
Ch7-Software Engineering 9Ch7-Software Engineering 9
Ch7-Software Engineering 9
 
MVC
MVCMVC
MVC
 
Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...Cobe framework cloud ontology blackboard environment for enhancing discovery ...
Cobe framework cloud ontology blackboard environment for enhancing discovery ...
 
UNIT V TESTING.pptx
UNIT V TESTING.pptxUNIT V TESTING.pptx
UNIT V TESTING.pptx
 
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTSFRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
FRAMEWORKS BETWEEN COMPONENTS AND OBJECTS
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10Software Engineering with Objects (M363) Final Revision By Kuwait10
Software Engineering with Objects (M363) Final Revision By Kuwait10
 
Migration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based systemMigration strategies for object oriented system to component based system
Migration strategies for object oriented system to component based system
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
 
System design process.pptx
System design process.pptxSystem design process.pptx
System design process.pptx
 
PLA and the SC 2002-04-15
PLA and the SC 2002-04-15PLA and the SC 2002-04-15
PLA and the SC 2002-04-15
 
Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...
Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...
Phenoflow: A Microservice Architecture for Portable Workflow-based Phenotype ...
 
Ch7
Ch7Ch7
Ch7
 
From use case to software architecture
From use case to software architectureFrom use case to software architecture
From use case to software architecture
 

More from balamurugan.k Kalibalamurugan

Problem definition
Problem definitionProblem definition
Problem definition
balamurugan.k Kalibalamurugan
 
Description logic
Description logicDescription logic
Software testing
Software testingSoftware testing
Window ce
Window ceWindow ce
Radius1
Radius1Radius1
A multi criteria evaluation of environmental databases using hasse
A multi criteria evaluation of environmental databases using hasseA multi criteria evaluation of environmental databases using hasse
A multi criteria evaluation of environmental databases using hasse
balamurugan.k Kalibalamurugan
 
Simple object access protocol(soap )
Simple object access protocol(soap )Simple object access protocol(soap )
Simple object access protocol(soap )
balamurugan.k Kalibalamurugan
 
Tamil OCR using Tesseract OCR Engine
Tamil OCR using Tesseract OCR EngineTamil OCR using Tesseract OCR Engine
Tamil OCR using Tesseract OCR Engine
balamurugan.k Kalibalamurugan
 
Security monitoring and auditing
Security monitoring and auditingSecurity monitoring and auditing
Security monitoring and auditing
balamurugan.k Kalibalamurugan
 
Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency control
balamurugan.k Kalibalamurugan
 

More from balamurugan.k Kalibalamurugan (10)

Problem definition
Problem definitionProblem definition
Problem definition
 
Description logic
Description logicDescription logic
Description logic
 
Software testing
Software testingSoftware testing
Software testing
 
Window ce
Window ceWindow ce
Window ce
 
Radius1
Radius1Radius1
Radius1
 
A multi criteria evaluation of environmental databases using hasse
A multi criteria evaluation of environmental databases using hasseA multi criteria evaluation of environmental databases using hasse
A multi criteria evaluation of environmental databases using hasse
 
Simple object access protocol(soap )
Simple object access protocol(soap )Simple object access protocol(soap )
Simple object access protocol(soap )
 
Tamil OCR using Tesseract OCR Engine
Tamil OCR using Tesseract OCR EngineTamil OCR using Tesseract OCR Engine
Tamil OCR using Tesseract OCR Engine
 
Security monitoring and auditing
Security monitoring and auditingSecurity monitoring and auditing
Security monitoring and auditing
 
Distributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency controlDistributed datababase Transaction and concurrency control
Distributed datababase Transaction and concurrency control
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

Object oriented framework

  • 1. Using viewpoints to derive object- oriented frameworks: a case study in the web-based education domain
  • 2. Intro to object-oriented frameworks ● Viewpoint-based design method is a new approach for domain analysis that generates an object-oriented framework from a set of concrete applications. ● These applications are defined as viewpoints, since they provide different perspectives of the framework domain. ● Examples of application domains that can be classified in this category include web-based education (WBE), electronic commerce, and computational biology. An interesting strategy for constructing new applications for these domains is the development of object-oriented frameworks.
  • 3. Why object-oriented frameworks? ● An object-oriented framework can reduce the costs of developing applications since it allows designers and implementers to reuse their previous experience on problem solving at design and code levels. ● Prior research has shown that high levels of software reuse can be achieved through the use of frameworks (Hamu and Fayad, 1998) ● A framework is defined as a generic software for a domain (Johnson, 1997). It provides a reusable semi finished software architecture that allows both single building blocks and the design of subsystems to be reused.
  • 4. object-oriented frameworks  Techniques such as design patterns , meta-object protocols , refactoring and class reorganization , used to support framework design.  However, none of them addresses the problem of helping the framework designer to find and structure, framework similarities (frozen spots) and flexible points (hot-spots).  It di€ffers from a standard application because some of its parts, which are the hot-spots or flexible points, may have a diff€erent implementation for each framework instance, and are left incomplete during design.
  • 5. viewpoint-based design method  viewpoints will be represented as standard object-oriented design  perspectives, or viewpoints, are usually partial or incomplete  The viewpoint-based design method allows the definition of frameworks through the analysis of concrete application  Unification rules are defined as a way of describing how applications, or viewpoints, can be combined to compose a framework.
  • 6. Unification rules  use of unification rules highlights the relationship between the kernel (frozen spots) and the hot-spot elements in the framework design
  • 7. Viewpoint unification  This process imposes some pre-conditions on the viewpoints that are going to be unified: 1. Same concepts must be represented by the same names. 2. Orthogonal concepts. 3. Attribute types must be consistent. 4. Cyclic hierarchies must be avoided.  The verification of the above preconditions and the application of restructuring transformations to solve the inconsistency have to be supported by human actors.
  • 8. Viewpoint unification  When the set of viewpoints is consistent, unification rules can be applied. The result of the unification process is a template-hook model.  The unification process is based on the following rules: 1. Every class that belongs to the set of viewpoints has a corresponding class, with same name, in the template-hook model. 2. If a method has the same signature and implementation in all the viewpoints it appears, it has a corresponding method, with same name, signature, and implementation, in the template-hook model. 3. If a method exists in more than one viewpoint with different signature it has a corresponding hook method in the template-hook model, with same name but undefined signature and implementation.
  • 9. Viewpoint unification  The framework design is generated from the template-hook model. It eliminate all hotspot relationships from the template-hook model.  replacing them by the most appropriate meta-pattern. Hot-spot cards are used to assist this process.  Flexibility properties: adaptation without restart and recursive combination combination of these properties is used to select which meta-pattern should be applied
  • 12. Supporting environment  A supporting environment has been defined to assist the viewpoint-based design method.  The environment allows the use of refactoring procedures before performing the viewpoint unification.  The environment has been defined as a meta-environment to allow for the configuration of new unification rules, new refactoring rules, and the object- oriented model used to describe the viewpoints  its inputs (meta information and viewpoints) and outputs (refactored viewpoints and frameworks).
  • 13. The WBE domain case study  Environments was based on three criteria: (i) their popularity and importance; (ii) the availability of documentation; and (iii) their underlying concepts, so that environments that do not model new concepts have been discarded.
  • 14. WBE  Two aspects must be considered when analyzing models.  First ,models specified by the use of the environments.  Second, same structure should be represented once  Following are selected environments: 1. AulaNet 2. LiveBOOKs 3. Web course in a box 4. Web-CT 5. LearningSpace 6. Virtual-U
  • 22. Validating the generated framework  ALADIN has been implemented and tested in the creation of WBE applications.  Two domain specific languages (DSLs) have been defined to assist its instantiation: 1. Educational language: used in the definition of the educational components (courses, actors, services, institutions and departments). 2. Navigational language: used in the definition of the language (e.g. English, French), interface (e.g. background images, buttons), and navigational structure.  We estimate that the use of ALADIN increases the productivity by a factor of three. A WBE system that would take six months to be developed may be instantiated from ALADIN in approximately two months
  • 23. Conclusions  unification rules can be used to generate frameworks from an initial set of viewpoints  We believe that this approach leads to a more explicit definition of the collaboration between the framework elements and helps the designer to better implement the framework hot-spots through the use of meta-patterns.  Another advantage is that teachers and education researchers can develop their own environments, with little help from software engineers.