A New Problem Solving Framework inspired by bioinformatics
A New Problem Solving Framework (inspired by bioinformatics) Gopal Gupta UT Dallas & Interoperate LLC Joint work with Enrico Pontelli (NMSU) & Arlin Stoltzfus (UMBI) Brian De. Vries (UTD) & Srividya Kona (UTD) Gopal Gupta Dept. of Computer Science
Software Development n Task of software development (solving a problem on a computer): Come up with a solution (problem solving) n Express the solution using a formal notation so that the computer can execute it (program). n Both steps are cognitively challenging n Goal: Reduce cognitive challenge via automation n Not much can be done about part I. n Can we do something about part II? n 9/25/2020
Software Development (Cont’d) n Typical scenario: n Problem solving done by domain experts n Programming done by programmers/computer scientists 9/25/2020
Software Development (Cont’d) n Further: n n n Domain experts (e. g. , biologists) think and solve problem at a very high level of abstraction. Programmers program solutions in low level computer languages. Large “semantic gap” between level at which domain experts think and level at which programmers program. Someone has to make the leap to fill this semantic gap (usually the programmer) Leads to errors and bugs 9/25/2020
Domain Specific Languages n How can we bridge this gap? : (make this leap easy) n n n Empower end-users (domain experts): Bring programming to the end user Proposed solution: n n Devise high level domain specific languages that domain experts understand can easily express their solutions in DSLs that allow, for example n n n 9/25/2020 Biologists to program applications that process genetic data Network engineers to program protocols Control engineers to program controllers … at their level of abstraction
Domain Specific Languages (Cont’d) n Challenges: Design of the DSL n Implementation infrastructure for the DSL n n DSL design Involves domain experts and computer scientists n Involves experimentation with various features n 9/25/2020
Domain Specific Languages (Cont’d) n n n Major obstacle in design: the turnaround time in implementing new features is quite large (if traditional compiler technology used) Fast prototyping of the implementation is crucial (and has held progress in DSL based approach) Our goal: a methodology for rapidly obtaining implementation infrastructure( interpreter, compiler, debugger, profiler) in a provably correct manner. (Already reached) 9/25/2020
Semantics-based Approach Specify Semantics of the DSL n Executable Semantics impl. infrastructure n We use denotational semantics: n Syntax: specified using BNF n Semantic Algebras: Value Spaces for Semantics n Valuation Functions: n n Maps from Parse Tress to Semantic Algebras n Past work: Phi-Log 9/25/2020
Software Development n Task of software development Step 1: Come up with a solution (problem solving) n Step 2: Code the solution (program). n n Goal: Reduce cognitive challenge via automation Not much can be done about part I. n Can we do something about part II? n 9/25/2020
Problem Solving Can something be can be done about part I? n Insight: Use Web Services model and Automatic Service Composition to ease the burden of problem solving. n Bioinformatics: n Collection of programs available. n Researchers work by putting these programs together along with glue code. n 9/25/2020
Web service Ø Executable programs accessible over the web that effects some action or change in the world (i. e. causes some side-effect) Example: Customer. Name Flight. Number Start. Date Start. City Destination. City 9/25/2020 creates Flight Reservation Service Reservation. Code
Web services Web Documents Webservices Web services (Executable. Programs (Executable Programs Accessible overweb) Accessible over web) 9/25/2020
Web service tasks Matching service found Web service Request Directory of registered services S 1 S 2 S 3 9/25/2020 Composed into requested service (workflow)
Discovery and Composition Ø Discovery Problem: Given a repository of Web services, and a query with requirements of the requested service, finding a service from the repository that matches these requirements. Ø Composition Problem: Given a repository of Web services, and a query with requirements of the requested service, finding a set of services that can be put together in correct order of execution to obtain the desired service. 9/25/2020
Representation of Composite Service Ø Composite service as an Directed Acyclic graph Ø Composite service description = Workflow 9/25/2020
Non-Sequential Conditional Composition Example Confirm Hotel Confirm Flight Reserve Flight Quer y Input s YES Process. Visa Reserve Hotel Reserve Car Visa Approved ? Query. Outputs NO Cancel Flight SERVICE TO MAKE INTERNATIONAL TRAVEL ARRANGEMENTS 9/25/2020 Cancel Hotel
Application: Automatic Workflow Generation in Bioinformatics Input: Gene Sequence BLAST Blast. Nexus CLUSTAL Nexus. Clustal. Nexus PAUP Nexus. Paup PHLYOGENETIC INFERENCE TASK (Sequential Composition) 9/25/2020 Output: Evolution Tree
Application: Automatic Workflow Generation in Bioinformatics Create. Moby. Dat a Query Inputs (Gene. Input) MIPSBlast Better. E 13 Extract. Best. Hit MOBYSHound. Ge t. Gen. Bank. Gene. Sequence Extract. Accession PHLYOGENETIC INFERENCE TASK (Non-Sequential Composition) 9/25/2020 Query. Outputs (Gene. Identity, AGI, Accession. Num)
Application: Automatic Workflow Generation in Bioinformatics MEGA BLAST Quer y Input s PAUP BLAST Nexus CLUSTAL PAU P Format(Aligned Sequence. Set) ? PHYLIP Nexus CLUSTA L PHYLIP PHLYOGENETIC INFERENCE TASK (Non-Sequential Conditional Composition) 9/25/2020 Query. Outputs
Combining the 2 Steps Composite service description = Workflow n Generate a description of the workflow in a domain specific language that a domain expert can understand modify n New Problem Solving Framework: n Generate initial solution via composition n Modify resulting code if more sophistication needed n n Framework caters to all levels of expertise: novice, semi-expert, expert 9/25/2020
Demo Website http: //godel. utdallas. edu/Composition. Demo. html 9/25/2020
THANK YOU Gopal Gupta Dept. of Computer Science
- Slides: 22