43
1 Copyright © 2002-2007. Christian Heller. All rights reserved. http://www.cybop.net <[email protected]> An Investigation on the Applicability of Inter-Disciplinary Concepts to Software System Development LinuxTag 2007, Berlin, Germany Dr. Christian Heller Cybernetics Oriented Programming Cybernetics Oriented Programming (CYBOP) (CYBOP)

Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

1Copyright © 2002­2007. Christian Heller. All rights reserved.http://www.cybop.net <[email protected]>

An Investigation on the Applicability

of Inter­Disciplinary Concepts

to Software System Development

LinuxTag 2007, Berlin, Germany

Dr. Christian Heller

Cybernetics Oriented ProgrammingCybernetics Oriented Programming(CYBOP)(CYBOP)

Page 2: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

2

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 3: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

3

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 4: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

4

introduction

fact or message with recognisable news in semantic context(machine­readable) characters / numbers that may contain informationstructured data which are inter­related (associated)

information

data

knowledge

knowledge

hardwarehuman being

software

Page 5: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

5constructive development – complexity – example

practice theory

monolithic java application

hierarchical universetop­level container

system­knowledge separationbody and mind

universal translator patternhuman communication

physical dimensions

human thinking

structure for states and logic

double­hierarchy knowledge

introduction

Page 6: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

6

introduction

• bundling of attributes and methods – coupling, no flexibility

• reflective meta architectures – bidirectional dependencies

• bidirectional dependencies – complexity, circular references

• global / static data access – untraceable data manipulation

• container inheritance – falsified container content

problems – more in cybop book

Page 7: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

7

dog, dogsold new

copy

dogs, dog, 

Hashtable put(Object key, Object value)

ExtendedHashtable put(Object key, Object value)

falsifying container inheritance [iaq, dr. norvig]

super.put(key, value);super.put(key + “s”, value);

dogs, dogss

introduction

Page 8: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

8

+/­

structureprocedure

classinheritance

traditionalprogramming

newconcept

ideas

scientificdisciplines

statics & dynamicsknowledge schema

state & logic

cybop

introduction

Page 9: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

9

• software engineering = systems engineering• system as a whole gains in importance• biological / human   software system→• physical brain: neural network• logical mind: concepts

relation

introduction

• science of information and control• in living things or machines (norbert wiener)

cybernetics (kybernetes = steersman)

• biological principles applied to• study and design of engineering systems

bionics (bio­cybernetics)

inter­disciplinary

inter­disciplinary

CYBOPCYBOP

Page 10: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

10

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 11: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

11

item(human being)

discrimination

psychologyonline thinking (1st order)offline thinking (2nd order)

self Concept

thinking = association of:­ sensoric signals with­ terms of a language

 category(living thing)

sub

superis­

a

categorisation

plato – aristotle – alexandercategory

living thinghuman, animal, plant

generalisationspecialisation

 

compound(brain)wh

ole

parthas­a

composition

gottfried wilhelm leibnitzmonades

human beingeye, brain, arm

containerelement

statics and dynamics

Page 12: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

12

statics and dynamics

Champus_coverage

handicapped_program_cd : CEnon_avail_cert_on_file_ind : BLretirement_dttm : TSstation_id : II

Referral

authorized_visits_qty : REALdesc : EDreason_txt : ED

Healthcare_finances

Message_control

Acts (Services)

Appointments & scheduling

Roles

HEALTH LEVEL 7 REFERENCE INFORMATION MODEL RIM_0099

released September, 2000 reflects RIM changes through Harmonization on 8/31/2000

Observation

value : ANYderivation_expr : ST

Medication

form_cd : CDroute_cd : CDdose_qty : PQstrength_qty : PQrate_qty : PQdose_check_qty : PQ

Procedure

entry_site_cd : SET<CD>

Supply

qty : PQ

Diet

energy_qty : PQcarbohydrate_qty : PQ

Condition_node

Consent

Enitites

Document_service

completion_cd : CVset_id : IIstorage_cd : CVversion_nbr : INTcopy_dttm : TSorigination_dttm : TS

Billboard produced by:Rochester Outdoor Advertising

Healthcare_provider

specialty_cd : CV

Container

capacty_qty : PQheight_qty : PQdiameter_qty : PQbarrier_delta_qty : PQbottom_delta_qty : PQseperator_type_cd : CDcap_type_cd : CD

Access

gauge_qty : PQentry_site_cd : CDbody_site_cd : CD

Device_slot

Device_request

requested_qty : REALtype_cd : CE

Device_group

id : II

0..*

0..1

requests 0..*

is_requested_by 0..1

Device

slot_size_increment_qty : PQmanufacturer_model_nm : STlast_calibration_dttm : TS

0..*

1

is_scheduleable_unit_for

0..*

is_scheduled_by1

0..*

1

requests0..*

is_requested_by1

0..*

1..*

contains0..*

belongs_to1..*

Notary_public

notary_county_cd : CEnotary_state_cd : CE

Employee_Employer

addr : ADhazard_exposure_txt : EDjob_class_cd : CVjob_title_nm : STtelecom : TELprotective_equipment_txt : EDsalary_qty : MOsalary_type_cd : CVstatus_cd : SET<CS>occupation_cd : CEjob_status_cd : CV

Sample

body_site_cd : CEcategory_cd : CVcontent_category_cd : CVdescription_txt : ED

Living_subject

birth_dttm : TSdeceased_dttm : TSdeceased_ind : BLeye_color_cd : CEqty : REALdiet_category_cd : CS Material_relationship

type_cd : CSinversion_ind : BLeffective_tmr : IVL<TS>position_nbr : LIST<INT>qty : PQ

Material

form_cd : CVdanger_cd : CEdesc : EDqty : SET<PQ>status_cd : SET<CS>effective_tmr : IVL<TS>handling_cd : CEcategory_cd : CE

0..* 1

has_source

0..* is_source_for 1

0..* 1

has_target

0..*

is_target_for

1

Patient_service_location_group

id : II

Patient_service_location_request

type_cd : CV

0..1

0..*

is_requested_by

0..1

requests0..*

Patient_service_location_slot

Facility

mobility_ind : BLaddr : ADdesc : EDlicensed_bed_nbr : REALtelecom : TELstatus_cd : SET<CS>category_cd : CVslot_size_increment_qty : PQ

1..*

0..*

belongs_to

1..*

contains

0..*

1

0..*

is_requested_by

1

requests0..*

0..*

1

is_scheduleable_uni t_for 0..*

is_scheduled_by1

Inpatient_encounter

length_of_stay_qty : PQ

Practitioner_provider

position_cd : CVprimary_care_ind : BLslot_size_increment_qty : PQ

Practitioner_Certifier

board_certification_type_cd : CVcertification_dttm : TSrecertification_dttm : TSresidency_field_cd : CE

Military_person

military_branch_of_service_cd : CVmilitary_rank_nm : STmilitary_status_cd : CV

Location

gps_txt : ST

Software_module

software_version_nm : ST

Logical_entity

logical_entity_type_cd : CSdefinition : ED

Bad_debt_billing_account

bad_debt_recovery_qty : MObad_debt_transfer_qty : MOtransfer_to_bad_debt_dttm : TStransfer_to_bad_debt_reason_cd : CV

Encounter_drg

approval_ind : BLassigned_dttm : TSconfidential_ind : BLcost_outlier_qty : MOdesc : EDgrouper_review_cd : CEgrouper_version_id : IIoutlier_days_nbr : REALoutlier_reimbursement_qty : MOoutlier_type_cd : CV

0..*

1

is_assigned_to0..*

is_assigned 1

Language_ability

mode_cd : CVproficiency_level_cd : CV

Manufactured_material

expiration_dttm : TSlot_nbr : ST

Health_chart

status_cd : SET<CS>

Health_chart_deficiency

assessment_dttm : TSdesc : EDlevel_cd : CVtype_cd : CV

1

0..*

has_an_assessment_of

1

is_assessed_against

0..*

Bad_debt_collection_agency

0..*

1

is_assigned_to0..*

is_assigned

1

Diagnostic_related_group_definition

base_rate_qty : MOcapital_reimbursement_qty : MOcost_weight_qty : MOid : IImajor_diagnostic_category_cd : CEoperating_reimbursement_qty : MOreimbursement_qty : MOstandard_day_qty : PQstandard_total_charge_qty : MOtrim_high_day_qty : PQtrim_low_day_qty : PQ

1

0..*

defines 1

is_defined_by0..*

Guarantor

financial_class_cd : CEhousehold_annual_income_qty : MOhousehold_size_nbr : REAL

Insurance_certification_contact

participation_type_cd : CE

Healthcare_benefit_product_purchaser

Act_collection

name : STdesc : EDeffective_tmr : IVL<TS>

Organization

org_nm : SET<ON>standard_industry_class_cd : CEaddr : SET<AD>telecom : SET<TEL>

0..1

1

is_a_role_of0..1

takes_on_role_of 1

1..1

0..*

establ ishes

1..1

is_establ ished_by

0..*

Billing_information_item

condition_cd : CEoccurrence_cd : CEoccurrence_dttm : TSoccurrence_span_cd : CEoccurrence_span_from_dttm : TSoccurrence_span_thru_dttm : TSquantity_nbr : REALquantity_type_cd : CVvalue_amtvalue_cd : CE

Guarantor_contract

billing_hold_ind : BLbilling_media_cd : CEcharge_adjustment_cd : CEcontract_duration_cd : CEcontract_type_cd : CEeffective_tmr : IVL<TS>interest_rate_nbr : REALperiodic_payment_qty : MOpriority_ranking_cd : CV

1

1..*

guarantees_payment_under

1

has_payment_guaranteed_by

1..*

Patient_Provider

Act_relationship

type_cd : CSinversion_ind : BLsequence_nbr : INTpriority_nbr : INTpause_qty : PQcheckpoint_cd : CSsplit_cd : CSjoin_cd : CSnegation_ind : BLconjunction_cd : CS

Act_act_collection_relationship

sequence_nbr : REALpriority_nbr : REALnote_txt : ED

1

0..*

has_parts

1

is_part_of

0..*

Patient_billing_account

account_id : IIadjustment_cd : CVauthorization_information_txt : EDbilling_status_cd : CVcertification_required_ind : BLcurrent_unpaid_balance_qty : MOdelete_dttm : TSdeleted_account_reason_cd : CVexpected_insurance_plan_qty : REALexpected_payment_source_cd : CVnotice_of_admission_dttm : TSnotice_of_admission_ind : BLpatient_financial_class_cd : CVprice_schedule_id : IIpurge_status_cd : CVpurge_status_dttm : TSreport_of_eligibility_dttm : TSretention_ind : BLsignature_on_file_dttm : TSspecial_program_cd : CVstoploss_limit_ind : BLsuspend_charges_ind : BLtotal_adjustment_qty : MOtotal_charge_qty : MOtotal_payment_qty : MOseparate_bill_ind : BL

0..*

1pertains_to

0..* has

1

0..1

0..1

is_the_prior_account_for

0..1

has_as_a_prior_account

0..1

0..*

0..*

has_payme nt_guaranteed_by0..*

provides_payme nt_guarantee_for

0..*

0..*

1belongs_to

0..*

has 1

Act

id : SET<II>mood_cd : CSservice_cd : CDtxt : EDstatus_cd : SET<CS>activity_time : GTScritical_time : GTSmethod_cd : SET<CV>body_site_cd : SET<CD>interpretation_cd : SET<CS>confidentiality_cd : SET<CV>max_repeat_nmr : IVL<INT>interruptible_ind : BLsubstitution_cd : CVpriority_cd : SET<CV>orderable_ind : BLavailability_dttm : TS

0..* 1

has_source

0..*

is_source_for

1

0..*1

has_target

0..*i s_target_for 1

10..*

is_collected_by

1

col lects

0..*

0..*

0..1

is_charged_to

0..*

has_charges_for

0..1

Participation

type_cd : CStmr : IVL<TS>note_text : EDsignature_cd : CVfunction_cd : CDawareness_cd : CV

0..*

1

for0..*

has1

Role_role_relationship

type_cd : CSeffective_tmr : IVL<TS>id : SET<II>status_cd : SET<CS>responsibility_cd : CS

1..1

0..*

is_root_for

1..1

is_leaf_of

0..*

Transportation

Encounter_facility_association

accommodation_cd : CVeffective_tmr : IVL<TS>status_cd : SET<CS>transfer_reason_cd : CV

1

0..*

is_si te_for

1

is_sited_at

0..*

Person_Language

0..*

1

speci fies_abi lity_in 0..*

i s_speci fied_by1

Person_name

effective_tmr : IVL<TS>nm : PNtype_cd : CV

Patient_appointment_request

Patient_slot

Financial_transaction

alternate_desc : EDdesc : EDextended_qty : MOfee_schedule_cd : CEinsurance_qty : MOposting_dttm : TSqty : MOtransaction_batch_id : IItransaction_cd : CEtransaction_dttm : TStransaction_id : IItransaction_type_cd : CEunit_qty : MOunit_cost_qty : MO

0..1

0..*

categorizes

0..1

is_categorized_by0..*0..*

1

is_associated_wi th 0..*

has 10..*

1

pertains_to

0..*

i s_associated_wi th

1

Healthcare_benefit_coverage_item

service_category_cd : CVservice_cd : CEservice_modifier_cd : CEauthorization_ind : BLnetwork_ind : BLassertion_cd : CEcovered_parties_cd : CEqty : REALquantity_qualifier_cd : CEtime_period_qualifier_cd : CErange_low_qty : PQrange_high_qty : PQrange_units_cd : CVassertion_effective_tmr : IVL<TS>eligibility_cd : CEpolicy_source_cd : CEeligibility_source_cd : CEcopay_limit_ind : BL

0..1

0..*

has_as_components

0..1

is_a_component_of

0..*

1..*

0..*

i s_covered_by

1..*

provides_coverage_for

0..*

Resource_slot

offset_qty : PQallocated_qty : REALresource_type_cd : CVstatus_cd : SET<CS>start_dttm : TS

Schedule

id : II10..*

manages

1is_managed_by0..*

Patient_encounter

discharge_disposition_cd : CVacuity_level_cd : CVadministrative_outcome_txt : EDbirth_encounter_ind : BLcancellation_reason_cd : CVclassification_cd : CVencounter_classification_cd : CVfirst_similar_illness_dttm : TSfollow_up_type_cd : CVpractice_setting_cd : CVvaluables_desc : EDpre_admit_test_ind : BLpublicity_constraint_cd : CVreadmission_ind : BLreason_cd : CVsource_cd : CVreferral_cd : CVspecial_courtesies_cd : CVstatus_cd : SET<CS>triage_classification_cd : CVurgency_cd : CVvaluables_location_desc : ED

0..*

1

is_util ized_during0..*

util izes

1

0..*

1

is_used_by 0..*

uses1

Person

disability_cd : CEethnic_group_cd : CErace_cd : CEadministrative_gender_cd : CEambulatory_status_cd : CVbirth_order_nbr : INTeducation_level_cd : CVliving_arrangement_cd : CVmarital_status_cd : CVmultiple_birth_ind : BLorgan_donor_ind : BLreligious_affiliation_cd : CVstudent_cd : CVstatus_cd : SET<CS>credit_rating_cd : CVaddr : SET<AD>telecom : SET<TEL>special_accommodation_cd : SET<CV>

1

0..*

com municates_in

1

is_communicated_by

0..*

1

0..*

has1

is_for

0..*

1

0..*

is_requested_by

1

requests 0..*

0..*

1

is_a_scheduleable_uni t_for

0..*

is_scheduled_by

1

0..* 1is_entered_by0..* enters 1

1

0..*

has

1

pertains_to0..*

Resource_request

allowable_substitutions_cd : CVduration_qty : PQstart_dttm : TSstart_offset_qty : PQstatus_cd : SET<CS>

Service_scheduling_request

allowable_substitutions_cd : CVduration_qty : PQstart_dttm : TSstart_offset_qty : PQstatus_cd : SET<CS>

Appointment

appointment_duration_qty : PQnotification_reason_cd : CVexpected_service_desc : EDscheduled_time : GTSid : IIstatus_cd : SET<CS>urgency_cd : CE

0..* 0..*is_reserved_by0..* reserves0..*

1..* 0..*

books

1..* is_booked_in0..*

0..1

0..*

is_parent_of

0..1

is_child_of 0..*

0..1

0..1

is_scheduled_by

0..1

schedules

0..1

Entering_person

0..*

1

is_entered_by0..*

enters

1

1

0..1

takes_on_role_of

1

is_a_role_of

0..1

Scheduling_parameter

type_cd : CVnm : STvalue : ANY

Appointment_request

reason_cd : CEadministrative_type_cd : CEid : IIpriority_cd : CVchange_reason_cd : CEduration_qty : PQrequested_time : GTSappointment_rqst_category_cd : CEstatus_cd : SET<CS>dttm : TS

0..*1 is_requested_by 0..*requests1

1

0..*

requests1

is_requested_by 0..*

0..1

0..*

requests

0..1

is_requested_by0..*

0..1

0..*

enters0..1

is_entered_by0..*

0..*

1

parameterizes 0..*

has_as_parameter1

Query_response_message_type

Tabular_row_data

FileorBatch

control_id : IIname : STcreation_dttm : TSreference_control_id : IIsending_application_id : IIreceiving_application_id : IIsecurity : STfile_batch_count : INTfile_comment : SET<ST>

Application_response_message_type

Query_ack

query_tag : IIquery_status_cd : CVmessage_query_name : CVhit_count_total : INThit_count_current : INThit_count_remaining : INT

1

0..*

has_response

1

is_response_with0..*

1

0..*

has_response

1

is_response_wi th0..*

Response_control

quantity_limited : PQresponse_modality : CV

Response_field

field_id : STdata_type : CVlength : INT

TBL_response_control

0..*

1

returns_to 0..*

has 1

TBL_sort_control

name : STdirection : CV

1

0..*

has1

is_for0..*

Element_sort_control

element_name : STdirection : CV

Element_response_control

name : SET<CV>

0..*

1

is_for0..*

has1

Query_by_parameter

Query_spec_message_type

1

1

contains1

appl ies_to1

Non_Person_living_subject

taxonomic_classification_cd : CEbreed_txt : EDstrain_txt : EDcoat_or_feather_coloring_txt : EDeuthanasia_ind : BLproduction_class_cd : CEgender_status_cd : CE

MESSAGE CONTROL

Role

type_cd : CSeffective_tmr : IVL<TS>addr : SET<AD>telecom : SET<TEL>

0..*

0..1

has_as_participant0..*

parti cipates_in

0..1

0..*

1

has_as_target0..*

is_target_for1

1

0..*

is_source_of

1

has_as_source0..*

Entity_relationship

relationship_cd : CS

Attention_line

key_word_txt : STvalue : ST

Batch

control_id : IIname : STcreation_dttm : TSreference_control_id : IIsending_application_id : IIreceiving_application_id : IIsecurity : STmessage_count : INTbatch_totals : SET<INT>batch_comment : SET<ST>

0..10..*

contains

0..1

is_contained_by

0..*

TC_defined_message_type

Acknowledgement

type_cd : CVnote_txt : EDerror_detail_cd : CVexpected_sequence_nbr : INT

1

0..1

occurs_wi th 1

has

0..11

0..1

has

1

occurs_with0..1

Query

message_query_name : CVquery_tag : IIpriority : CVmodify_indicator : CVexecution_and_delivery_time : TS

1

1

has

1

is_for 1

Message

sending_application_id : IIid : SET<II>creation_dttm : TSinteraction_id : IIevent_dttm : TSversion_id : STprofile_id : SET<OID>processing_cd : CVsequence_nbr : INTreply_to_com : TELreceiving_application_id : SET<II>

0..*1

can_accompany

0..*

can_include

1

0..1

0..* contains

0..1is_contained_by

0..*

0..1

1

occurs_with0..1

has1

1..*

1

acknowledges1..*

has 1

0..1

1

occurs_with0..1

has1

0..1

1 occurs_with

0..1has

1

Entity

id : SET<II>type_cd : CSprimary_nm : STdeterminer_cd : CSprimary_name_type_cd : CEimportance_status_txt : ED

10..*

plays_a_role

1

is_played_by

0..*

0..*

1has_as_target

0..* i s_target_for

1

1

0..*

is_source_of

1has_as_source

0..*

0..*

1..*

has_recipient0..*

shall_receive

1..*

0..*

1..1

has_sender

0..*

sends

1..1

Query_by_selection

Selection_criteria

name : STrelational_operator_cd : CVvalue : STrelational_conjunction_cd : CV

1

1..*

contains 1

appl ies_to 1..* 0..1

0..*

is_father_to0..1

is_son_of

0..*

Preauthorization

authorized_encounters_qty : REALauthorized_period_begin_tmr : IVL<TS>id : IIissued_dttm : TSrequested_dttm : TSrestriction_desc : EDstatus_cd : SET<CS>status_change_dttm : TS

1

0..1

is_authorized_by1

authorizes

0..1

Insurance_certification

appeal_reason_cd : CEcertification_duration_qty : PQeffective_tmr : IVL<TS>id : IIinsurance_verification_dttm : TSmodification_dttm : TSnon_concur_cd : CEnon_concur_effective_dttm : TSpenalty_qty : MOreport_of_eligibility_dttm : TSreport_of_eligibility_ind : BL

1

1..*

has_contact

1

is_contact_for 1..*

10..*

has_coverage_affirmed_by

1

affirms_insurance_coverage_for

0..*

0..*

1

provides_validation_for0..*

is_val idated_by1

Insurer1

0..*

issues1

is_issued_by

0..*

1

0..*

issues

1

is_issued_by

0..*

Master_healthcare_benefit_product

assignment_of_benefits_ind : BLbenefit_product_desc : EDid : IIbenefit_product_nm : STbenefit_product_type_cd : CEbenefits_coordination_ind : BLcob_priority_nbr : REALcombine_baby_bill_ind : BLeffective_tmr : IVL<TS>group_benefit_ind : BLmail_claim_party_cd : CErelease_information_cd : CEstatus_cd : SET<CS>coverage_type_cd : CEagreement_type_cd : CEpolicy_category_cd : CEaccess_protocol_desc : ED 0..*

0..1

is_chi ld_of

0..*

i s_parent_of

0..1

1..1

0..*

is_the_purchaser_of 1..1

has_as_purchaser0..*

0..*

0..1

is_covered_by 0..*

cove rs0..1

0..*

1

is_a_instance_of

0..*

is_instantiated_as1

0..*

0..*

insures0..*

is_insured_by

0..*

1

0..*

offers

1

is_offered_by 0..*

Clinical_document_header

availability_status_cd : CVchange_reason_cd : CVcompletion_status_cd : CVconfidentiality_status_cd : CVcontent_presentation_cd : CVdocument_creation_dttm : TSfile_nm : STlast_edit_dttm : TSreporting_priority_cd : CEresults_report_dttm : TSstorage_status_cd : CVtranscription_dttm : TSdocument_change_cd : CVversion_nbr : INTversion_dttm : TS

Clinical_document

1

1

is_part_of1

has_parts1

Individual_healthcare_practitioner_slot

Individual_healthcare_practitioner_pool

id : II

Individual_healthcare_practitioner_request

practitioner_type_cd : CE

0..1

0..*

is_requested_by 0..1

requests 0..*

Certification_additional_opinion

effective_dttm : TSstatus_cd : SET<CS>

0..*

1

provides_opinion_on0..*

includes1

Individual_healthcare_practitioner

fellowship_field_cd : CEgraduate_school_nm : ONgraduation_dttm : TSboard_certified_ind : BLpractitioner_type_cd : CE

1

0..*

is_scheduled_by1

is_scheduleable_unit_for

0..*

1..*

0..*

belongs_to1..*

contains

0..*

1

0..*

i s_requested_by1

requests 0..*

0..*

1

is_provided_by0..*

provides

1

Role-role relationships

entityrole

role­role­relationfinance service

messageschedulingHealth Level 7 ­ RIMReference Information Model

Page 13: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

13

statics and dynamics

discriminationcategorisationcomposition

Page 14: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

14

Living Subject

Person

 birthdate: Calendar set_birthdate(d: Calendar): void get_birthdate(): Calendar

 address: Address set_address(a: Address): void get_address(): Address

java.lang.Object

Address address;

void set_address(Address a) {

    this.address = a;

}

Address get_address() {

    return this.address;

}

code cover

parts: HashMapset(n: String, o: Object): voidget(n: String): Objectremove(n: String): void

0..*

parts

Living Subject

Person

static birthdate: String

static address: String

Address a = (Address) get("address");

Address a = (Address) get(Person.address);

extract knowledge

statics and dynamics

Page 15: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

15

statics and dynamics

system owns knowledge (also: biological cell + dna)

Page 16: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

16

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 17: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

17

propertiesproperties

state structurestate structure

change logicchange logicexternal conceptsexternal concepts

double­hierarchy knowledge

head, eyes, ears, hair

walk, run, limp

arms, legs

black, white

happy, sad, aggressive

food, book

shape, size

clothes, shoes, hat

smell

Page 18: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

18

double­hierarchy knowledge

legshuman beingpart 0..*

parts make up a whole

size

minimum

property

constraint

0..*

0..*

another example:hydrogen (H2) becomeswater (H2O) with a totallydifferent character,when just oneoxygen (O) atom is addedper hydrogen molecule

properties:position, size, colour, order, weight

constraints:minimum, maximum, choice

meta information

double hierarchy – in space, time etc.

Page 19: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

19

human mindstructures world

intodiscrete itemsitem

items maybelong to

a category

1..1

compoundmodel

0..* 0..*

details

abstraction

1..1

name compoundknows about

its parts

parts can becompoundsor primitives

indicated byabstraction

relationsrelationsunidirectionalunidirectional

item+ category

+ compoundschema = schema= schema

double­hierarchy knowledge

Page 20: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

20

double­hierarchy knowledge

runtimestructure

programstructure

traditional

universal memory structure – flexibility

cybop

Page 21: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

21

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 22: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

22

presentationclient

databaseserver

applicationserver

read / write

interact

misleading tiers – inflexible software architecture

state and logic

configure

administer

read / write

read / write

Page 23: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

23

state and logic

remoteserver

corbasoap

mouseguihuman

user

databaseserver

jdbc

applicationserver

communication patterns

model view controller

data transferobject

datamapper

Page 24: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

24remote process

system

database system

user

domain model

controller

view

data mapper

entity relationship model

assembler

data transfer object

domain model

state and logic

state

view

entity relationship model data transfer object

domain model

controller

data mapper assembler

logic

Page 25: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

25

state and logic

gui

hxp

domain

tui wui

gui_translator wui_translator

hxp_translator

tui_translator

xdt_translator

xdt

cda_translator

cda

star­like (not layer­like) translator architecture

Page 26: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

26

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 27: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

27

cybol language

Page 28: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

28

<model>    <part name="title" channel=”inline” abstraction=”character” model="Res Medicinae">        <property name=”size” channel=”inline” abstraction=”integer” model=”600,20,1”>            <constraint name=”minimum” channel=”inline” abstraction=”integer” ... />            <constraint name=”maximum” channel=”inline” abstraction=”integer” ... />        </property>        <property name=”position” channel=”inline” abstraction=”integer” model=”0,0,0”/>        <propertyname="layout"channel="inline"abstraction="character"model="coordinate"/>        <property name="colour" channel="inline" abstraction="character" model="blue"/>    </part>    <part name="menu_bar" ...    <part name="tool_bar” ...    <part name="content” ...    <part name="status_bar” channel=”file” abstraction="compound" model="status.cybol”>        <property name="layout" channel="inline"abstraction="character"model="compass"/>        <property name="cell" channel="inline" abstraction="character" model="north"/>

<model>    <part        <property            <constraint

<model>    <part name="title" channel=”inline” abstraction=”character” model="Res Medicinae">        <property name=”size” channel=”inline” abstraction=”integer” model=”600,20,1”>            <constraint

cybol language

cybol tags + attributes, abstraction principles

<model>    <part name="title" channel=”inline” abstraction=”character” model="Res Medicinae">        <property name=”size” channel=”inline” abstraction=”integer” model=”600,20,1”>            <constraint name=”minimum” channel=”inline” abstraction=”integer” ... />            <constraint name=”maximum” channel=”inline” abstraction=”integer” ... />        </property>        <property name=”position” channel=”inline” abstraction=”integer” model=”0,0,0”/>        <propertyname="layout"channel="inline"abstraction="character"model="coordinate"/>        <property name="colour" channel="inline" abstraction="character" model="blue"/>    </part>    <part name="menu_bar" ...    <part name="tool_bar” ...    <part name="content” ...    <part name="status_bar” channel=”file” abstraction="compound" model="status.cybol”>        <property name="layout" channel="inline"abstraction="character"model="compass"/>        <property name="cell" channel="inline" abstraction="character" model="north"/>    </part>

Page 29: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

29

cybol language

 abstraction character compound

 model Res Medicine /resmedicinae/gui/menu_bar.cybol

 channel name inline file

 compound  /resmedicinae/gui/tool_bar.cybol file compound  /resmedicinae/gui/panel.cybol file compound  /resmedicinae/gui/status_bar.cybol file

title

+ menu_bar

& panel

tool_bar+

­ status_bar

dialogue&

template editor with double hierarchy and triple click

whole­part relation& button

label

meta information­ size

colour&

minimum

Page 30: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

30

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 31: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

31

 knowledge

 control software

 hardware

 cybol

 cyboi

 operating system

 computer

cyboi interpreter

Page 32: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

32

criterion java world cybop world

theory

language

interpreter

oop(object oriented programming)

java

jvm(java virtual machine)

cybop(cybernetics oriented programming)

cybol(cybernetics oriented language)

cyboi(cybernetics oriented interpreter)

cyboi interpreter

Page 33: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

33

 controller

 applicator memoriser

cyboi interpreter

cyboi checker

handler

manager

cyboi control flowcyboi control flowcyboi part dependenciescyboi part dependencies

Page 34: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

34

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 35: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

35

http://www.resmedicinae.orghttp://www.resmedicinae.org

Res MedicinaeRes Medicinae

(Free Software)(Free Software)

electronichealthrecord

Revue

Residenz

Reagenz

Roentgen

Reform

Record

res medicinae

Page 36: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

36

res medicinae

Page 37: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

37

res medicinae

knowledge

domain

partdomain

partdomain

knowledge

residenz.view.partviewresidenz.view.partview

residenz.domain.partdomainresidenz.domain.partdomain

logic partlogic

partlogic

knowledge view partview

partview

residenz

runtime model hierarchywith logic accessing states

Page 38: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

38

contents

introductionreflexions

statics and dynamicsdouble­hierarchy knowledgestate and logic

realisationcybol languagecyboi interpreterres medicinae

summary and future

Page 39: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

39

summary and future

knowledge triumvirate

template schema modelstatics

cybol languagedesign time

domain expert /application developer

structurecybop concepts

analysis timeknowledge architect /information scientist

dynamicscyboi interpreter

runtimesystems developer

influenceinstantiation

influence

Page 40: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

40

software engineering process

analysis design implementation

1a 1b 21

abstraction gaps

requirementsdocument

architecturediagrams

sourcecode

featuremodel

summary and future

state knowledgelogic knowledge

common knowledge abstraction

Page 41: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

41

summary and future

models suffer from complexity

strong coupling / dependencies

inflexible

difficult to maintain

one schema as memory structure

directed acyclic graph (tree)

easily extensible

long­life software system

traditional cybop

limits: only standard­, no real­time applications

Page 42: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

42

summary and future

future workscall for developers

• x windows, linux console, tcp sockets

• database access via sql, graphics with OpenGL/ Mesa 3D

• signalling mechanism, threading, mutexes

• port to ms windows using cygwin

• parser/ serialiser to convert different file formats

• debian package, autoconf/ automake ­­> official GNU

• cybol knowledge templates for various domains

Page 43: Cybernetics Oriented Programming (CYBOP) · 11 item (human being) discrimination psychology online thinking (1st order) offline thinking (2nd order) self Concept thinking = association

43

thank you!

http://www.cybop.net

hardcover: 536 pages

1st edition (January 19, 2007)

language: english

license: gnu fdl

50,00 EUR