the rpi semantic development methodology: use cases as starting points for assessing semantic web...

71
The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’) September 21, 2011, Woods Hole, MA Peter Fox (RPI* and WHOI**) [email protected] and OTHERS!! *Tetherless World Constellation, ** AOP&E

Upload: nelson-may

Post on 26-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project

goals (aka ‘sheesh’)September 21, 2011, Woods Hole, MA

Peter Fox (RPI* and WHOI**) [email protected] and OTHERS!!*Tetherless World Constellation, ** AOP&E

Page 2: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

What’s ahead

• Start with a vision

• What’s the goal?

• Attributes in collaboratories/ networks

• Matching with a development methodology– Use cases, and more…– Scale

• Jumping off point … to …

2Tetherless World Constellation

Page 3: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Vision?

• “Our vision is to develop, facilitate, and maintain sustained multi-way engagement of natural and social (?) scientists and practitioners in multi-scale local to global networks” [for X]. – Organization is required so participants (3) can

carry out mission(s)– Those participants (by defn.) may never be in

a single organization -> virtual organization (1)

Page 4: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Goal (2)

• We want to perform X involving all (or as many) stakeholders and we want robust science data presented in forms that various end-users can consume…

• Or similar – a point of discussion – now or later (13)

Page 5: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

(1) Virtual Organization

• Outcomes/ values (4)

• Dynamic versus static (5)

• Evolvable/ ecosystem-like (6)

• Heterogenetic tolerance (7)

• Attributes of the organization (8)

• Roles/ responsibilities (9)

• Scale (10) or scalability

Page 6: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Virtual organizations – many defn.

• ‘ …a geographically distributed organization whose members are bound by a long-term common interest or goal, and who communicate and coordinate their work through information technology’ (Ahuja)

Page 7: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Roles and relationships

• ‘These members assume well defined roles and status relationships within the context of the virtual group that may be independent of their role and status in the organization employing them’ (Ahuja et al., 1998).

Page 8: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Virtual organizations as Socio-Technical Systems

Technology

Communication Patterns

OrganizationalStructure

Page 9: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Communication patterns

A key feature of virtual organizations is a high degree of informal communication

Because of a lack of formal rules, procedures, clear reporting relationships, and norms, more extensive informal communication is required

Page 10: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Credit: B. Rouse (BEVO) 2008

Page 11: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Credit: B. Rouse (BEVO) 2008

Page 12: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Credit: B. Rouse (BEVO) 2008

Page 13: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Mapping

• (2) goal -> use case• (3) participation -> team(s), vetting,

acceptance• (4) outcomes/ vaue -> goals, metrics,

evaluation, incentives, data/information/ knowledge projects, responses, decisions

• (5) dynamic -> agile working format, small iterations

• (6) evolution -> rapid development, evaluation and iteration (open)

Page 14: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Mapping (ctd.)

• (7) heterogeneity -> information modeling approach

• (8) organizational attributes -> networks (10)• (9) roles/ responsibilities -> actors in the use

case

• Application of social-technical (and socio-ecological) understandings leads to an informatics methodology … but 1st….

Page 15: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

(10) Scale(s)

• Multiple modes – spatial, temporal, discipline, etc.

• Scale-free networks– Citation networks– The Web– Semantic networks– Depend on super nodes (11)

• Semantic networks are ones where the nodes and relations are ‘named and typed’

Page 16: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Scale free?

Page 17: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

(11) Super nodes

• People (you!)

• Organizations

• Computational infrastructure

• Data and information services

• Roles/ responsibilites and resulting delegation to the smaller nodes around the super nodes

Page 18: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

• Ecosystems need diversity, many types

• SO … partnerships, coordination, networks, work, ongoing, etc.

(12) Stimulating the network

Page 19: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

What about meaning?

• Sustained?

• Evolved?

Named and typed relationships

Page 20: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

And more…

Page 21: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

(13) Method

• We also get a lot of other stuff for ‘free’– Provenance (explanation…)– Extensibility– Application integration– Terminology mediation

• Usually at this stage, we start on …– Use case(s), including activity diagram– Information modeling– Evaluation and iteration

Page 22: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Modern informatics enables a new scale-free** framework approach

• Use cases• Stakeholders• Distributed

authority• Access control• Ontologies• Maintaining

Identity

Page 23: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

NEFSC ESR

• Goal: Efficient generation of figures and tables representing ecosystem data and information products for the bi-annual (or annual) North-east Fisheries Science Center = NEFSC Ecosystem Status Report (ESR).

• Let’s look at that use case

Page 24: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

NEFSC ESR

Page 25: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Systems v. Frameworks

• Rough definitions– Systems have very well-define entry and

exit points. A user tends to know when they are using one. Options for extensions are limited and usually require engineering

– Frameworks have many entry and use points. A user often does not know when they are using one. Extension points are part of the design

Tetherless World Constellation 25

Page 26: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Questions so far?

Page 27: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Team

Page 28: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Team: Roles and skill-sets needed

• Facilitator *** (usual key skills, knows method)• Domain experts (literate, knows resources; data,

applications, tools, etc.)• Modelers (to extract concepts, etc.)• Software engineers (architecture, technology)• Scribe (to write everything down)• The social aspect is key - it is a team effort

Page 29: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Analysis

Page 30: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Model

Page 31: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Information Modeling

• Conceptual

• Logical

• Physical

31

Page 32: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Information Models

• Conceptual models, sometimes called domain models, are typically used to explore domain concepts and often created – as part of initial requirements envisioning efforts

as they are used to explore the high-level static business or science or medicine structures and concepts

– as the precursor to logical models or as alternatives to them

• Followed by logical and physical models

32

Page 33: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Object oriented design

• Object-oriented modeling is a formal way of representing something in the real world (draws from traditional set theory and classification theory). Some basics to keep in mind in object-oriented modeling are that:– Instances are things.– Properties are attributes.– Relationships are pairs of attributes.– Classes are types of things.– Subclasses are subtypes of things.

33

Page 34: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Logical models

• A logical entity-relationship model is provable in the mathematics of data science. Given the current predominance of relational databases, logical models generally conform to relational theory.

• Thus a logical model contains only fully normalized entities. Some of these may represent logical domains rather than potential physical tables.

34

Page 35: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Logical models

• For a logical data model to be normalized, it must include the full population of attributes to be implemented and those attributes must be defined in terms of their domains or logical data types (e.g., character, number, date, picture, etc.).

• A logical data model requires a complete scheme of identifiers or candidate keys for unique identification of each occurrence in every entity

35

Page 36: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Physical models

• A physical model is a single logical model instantiated in a specific information system (e.g., relational database, RDF/XML document, etc.) in a specific installation.

• The physical model specifies implementation details which may be features of a particular product or version, as well as configuration choices for that instance.

36

Page 37: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Tools

Page 38: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Tools

• CMAP Ontology Editor (concept mapping tool from IHMC - http://cmap.ihmc.us/coe )– Drag/drop visual development of classes, subclass

and property relationship– Read and writes OWL– Formal convention (OWL/RDF tags, etc.)

• Mindmapping– http://en.wikipedia.org/wiki/

List_of_mind_mapping_software

• White board• Piece of paper … you get the idea…

38

Page 39: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Review

Page 40: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

These come later

• Technology assessment

• Leverage infrastructure

• Rapid prototyping

• Evaluation

• Open world, iteration

Page 41: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Use case!

Page 42: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Use Case• … is a collection of possible sequences of

interactions between the system under discussion and its actors, relating to a particular goal.

• The collection of Use Cases should define all system behavior relevant to the actors to assure them that their goals will be carried out properly.

• Any system behavior that is irrelevant to the actors should not be included in the use cases.– is a prose description of a system's behavior when

interacting with the outside world.– is a technique for capturing functional requirements of

business systems and, potentially, of an ICT system to support the business system.

– can also capture non-functional requirements

Page 43: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Use Case

• Must be documented (or it is useless)• Should be implemented (or it is not well

scoped)• Is used to identify: concepts ~ resources,

processes, roles (aka actors), relations, requirements, etc.

• Should iterate with your end-user on wording and details at least once

Page 44: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Use case myths

• Need lots (10s - 100s) of use cases to build what is needed

• Need to be very general to get general functionality

• Need to know ‘computer science’ to create them, or the diagrams

• Have to get them perfect the first time

• Are only used for software development

• Many more …

Page 45: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Use Cases Expose System Requirements

• Exposes goals, outcomes, actors/ roles, resources, preconditions, process flow, artifacts

• And … semantics, terms, concepts and their relations

Page 46: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Real use cases:Marine habitat - change

Scallop,number,density

Scallop, size,shape, color,place

Scallop,shellfragment

Rock

What is this?

Flora or fauna?

Dirt/ mud; one person’s noise is another person’s signal

Several disciplines; biology, geology, chemistry, oceanography

Several applications; science, fishing, habitat change, climate and environmental change, data integration

Complex inter-relations, questions

Use case: What is the temperature and salinity of the water and are these marine specimens usual or part of an ecosystem change?

Src: WHOI and the HabCam group

Page 47: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

NEFSC ESR

• Goal: Efficient generation of figures and tables representing ecosystem data and information products for the bi-annual (or annual) NEFSC Ecosystem Status Report (ESR).

• Let’s look at that use case

Page 48: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Use case format

• Use case name• Goal• Summary• Triggers• Basic flow• Alternate flow• Post conditions• Activity diagram• Preconditions in tabular form• Notes

Page 49: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Use case format?

• Short (in document) format for:– Exploratory phase of a project

where you want to collect a lot of use cases

– An example for others to use– Including in a proposal– For activities like this!

Page 50: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Scoping

• Focus initially on:• Core functionality• What it takes to implement the use case, resist

early generalizations• May (will) have to iterate on use case and

requirements

• Acknowledge other important issues such as:• Required vs. optional• Non-functional requirements• Available personnel (skills) and resources

Page 51: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Actors• The initial analysis will often have many

human actors• Begin to see where these can be replaced

with machine actors – may require additional encoding

• If you are doing this in a team, take steps to ensure that actors know their role and what inputs, outputs and preconditions are expected of them

• Often, you may be able to ‘run’ the use case (really the model) before you build anything

51

Page 52: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Actors

• Real people (round heads) and computers (block heads)

• E.g. Data provider, end-user, data manager, alert service

• Primary – initiate (act on)• Secondary – respond (acted upon)

Page 53: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

What’s a pre-condition?

• defines all the conditions that must be true (i.e., describes the state of the system) for the trigger to meaningfully cause the initiation of the use case.

Page 54: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Preconditions

• Often the preconditions are very syntactic and you may not understand how they fit in the implementation

• Some level of modeling of these preconditions may be required (often this will not be in your first pass encoding which focuses on the main process flow, goal, description, etc.)

• Beware of using another entities data and services: policies, access rights, registration, and ‘cost’

54

Page 55: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Preconditions - data/model

Page 56: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Preconditions - event/application

Page 57: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Post-condition?

• describes what the change in state of the system will be after the use case completes. Post-conditions are guaranteed to be true when the use case ends.

Page 58: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Success scenarios

• A re-statement of how the use case via its flows and actors and resources results in achieving the result

• Describe artifacts produced

• Describe impacts and metric values

Page 59: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Failure scenarios

• A statement of how the use case via its flows and actors and resources did not result in achieving the result

• Describe role of actors in failure

• Describe role of resources in failure

• Describe what artifacts were and were not produced

• Describe impacts of failure and any metric values

Page 60: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Normal (process) flows

• A basis step of (usually) distinct steps that result when the use case is triggers (commences)

• Steps are often separated by actor intervention or represent modular parts of the flow (can encapsulate activities)

• Can have loops

• Should end with the final goal achieved

Page 61: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Process flow• Each element in the process flow usually denotes

a distinct stage in what will need to be implemented

• Often, actors mediate the process flow• Consider the activity diagram (and often a state

diagram) as a means to turn the written process flow into a visual one that your experts can review

• Make sure the artifacts and services have an entry in the resources section

• This is often the time you may do some searching (no, not soul searching – web searching…)

61

Page 62: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Alternate (process) flows

• Variations from the main flow, often invoked by valid but non-usual (or rules)

• Activity diagrams are useful in representing this part of the document

• Do not usually represent exceptions/ error flows

• Can often help to identify general patterns in the use case via similarities with the normal flow

• While many are possible, usually only include one - illustrative

Page 63: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Non-Functional requirements

• (from Wikipedia): Non-functional requirements which specify criteria that can be used to judge the operation of a system, rather than specific behaviors.

• This should be contrasted with functional requirements that specify specific behavior or functions.

• In general, functional requirements define what a system is supposed to do whereas non-functional requirements define how a system is supposed to be.

Page 64: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Functional/ non-functional

• (from Wikipedia): Non-functional requirements are often called qualities of a system. Other terms for non-functional requirements are "constraints", "quality attributes", "quality goals" and "quality of service requirements".

• Qualities, (non-functional requirements), can be divided into two main categories.– Execution qualities, such as security and usability, are

observable at run time.– Evolution qualities, such as testability, maintainability,

extensibility and scalability, are embodied in the static structure of the software system.

Page 65: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Artifacts

• Add artifacts that the use case generates to the resources list in the table

• It is often useful to record which artifacts are critical and which are of secondary importance

• Be thinking of provenance and the way these were produced, i.e. what went into them and produce suitable metadata or annotations

• Engage the actors to determine the names of these artifacts and who should have responsibility for them (usually you want the actors to have responsibility for evolution)

65

Page 66: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

When someone asks: “What is your use case”?

• Treat it like your ‘elevator pitch’

• Know them, especially the ones you have implemented

• Tell them how you used it to develop a solution FOR use

Page 67: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

If you have not developed one

• Try reverse engineering • Start with a personal example

e.g. balancing your checkbook

67

Page 68: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Developed for NASA TIWG

Resources• http://alistair.cockburn.us/index.php/Use_cases,_ten_years_later• http://www.digilife.be/quickreferences/pt/functional%20requirements

%20and%20use%20cases.pdf• http://alistair.cockburn.us/index.php/

Resources_for_writing_use_cases• http://alistair.cockburn.us/Usecasesintheoryandpractice180.ppt• http://alistair.cockburn.us/Agileusecases1dy.ppt• http://alistair.cockburn.us/index.php/

Structuring_use_cases_with_goals• http://www.foruse.com/publications/bibliographies/usecases.htm• http://en.wikipedia.org/wiki/Use_case• http://www.ddj.com/dept/architect/184414701

• Omnigraffle (Mac) www.omnigroup.com/applications/omnigraffle/ or

• Cmap http://cmap.ihmc.us/coe

Page 69: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Questions?

Page 70: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Now

• You start on use cases, i.e. filling in the document

• Idea is to get a rough draft of the full document – proceeding ~ linearly through the sections, with moderate detail

• Complete accuracy is nice but optional

• Generate 2 or 3 use cases

Page 71: The RPI semantic development methodology: Use cases as starting points for assessing semantic web technologies that achieve project goals (aka ‘sheesh’)

Tomorrow

• We’ll review some of your use cases and conduct a ‘few’ of the next steps– Use case scoping and refactoring– Generating activity diagrams– Analysis and information modeling

(depending on how far we get)