DEVELOPING LANGUAGES IN GENETICA A general and effective approach to domain-specific problem-solving is to use a high-level language specialized on the.

Slides:



Advertisements
Similar presentations
SOLUTION 1 The configuration of the objects within an apartment does not allow a small apartment area, due to the positioning of the beds. The almost linear.
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
GENETICA’S BASIC SYNTACTIC AND SEMANTIC PROPERTIES In order to answer these questions we should start from GENETICA's syntax and semantics.
Architecture Representation
Giving a formal meaning to “Specialization” In these note we try to give a formal meaning to specifications, implementations, their comparisons. We define.
GENETICA The problem-solving approach proposed here, largely based on the previous remarks, is implemented through the computer language GENETICA. GENETICA.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
1 Relational Algebra & Calculus. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.  Relational.
Geometric aspects of variability. A simple building system could be schematically conceived as a spatial allocation of cells, each cell characterized.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Temporal Specification Chris Patel Vinay Viswanathan.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Chapter 14 (Web): Object-Oriented Data Modeling
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
INTRODUCTION TO JAVA PROGRAMMING Chapter 1. What is Computer Programming?
Data Evolution in General Formal Problem Statement A General Approach to Evolutionary Problem Solving, Implemented in the Computer Language GENETICA.
Chapter 14: Object-Oriented Data Modeling
Genetic Programming.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
1 Relational Algebra and Calculus Chapter 4. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.
An Introduction to Software Architecture
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
CS 360 Lecture 6.  A model is a simplification of reality  We build models to better understand the system being developed.  We build models of complex.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Chapter 6 Programming Languages. © 2005 Pearson Addison-Wesley. All rights reserved 6-2 Chapter 6: Programming Languages 6.1 Historical Perspective 6.2.
Database Management Systems, R. Ramakrishnan1 Relational Calculus Chapter 4.
Chapter 6 Programming Languages © 2007 Pearson Addison-Wesley. All rights reserved.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
18 April 2005CSci 210 Spring Design Patterns 1 CSci 210.
1 Relational Algebra & Calculus Chapter 4, Part A (Relational Algebra)
1 Relational Algebra and Calculas Chapter 4, Part A.
Relational Algebra.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
CONCLUSION The conclusion of this work is that it is possible to develop a problem-solving method providing evolutionary computational support to general.
Introduction to Object-Oriented Programming Lesson 2.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Domain Driven Design Day 2. DDD | Supple Design Inviting to change Reveals a deep model But … has no formula “… when complexity is holding back progress,
Pattern Recognition. What is Pattern Recognition? Pattern recognition is a sub-topic of machine learning. PR is the science that concerns the description.
1 Software Requirements Descriptions and specifications of a system.
 System Requirement Specification and System Planning.
Chapter 5 – Design and Implementation
Web Ontology Language for Service (OWL-S)
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
Software Connectors – A Taxonomy Approach
VISUAL BASIC – CHAPTER ONE NOTES An Introduction to Visual Basic
Lec 3: Object-Oriented Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
An Introduction to Software Architecture
Chapter 6: Programming Languages
Chapter 2: Intro to Relational Model
Principles of Programming Languages
Relational Algebra & Calculus
Appendix A Object-Oriented Analysis and Design
Chapter 15 Functional Programming 6/1/2019.
Relational Calculus Chapter 4, Part B
Presentation transcript:

DEVELOPING LANGUAGES IN GENETICA A general and effective approach to domain-specific problem-solving is to use a high-level language specialized on the problem’s domain. High-level formal languages can be expressed in lower-level ones if the latter languages satisfy a minimum of expressive capabilities. For instance, any computer language can be expressed in the computer’s machine language. GENETICA, supports development of high-level formal languages. The benefit is that GENETICA’s evolutionary computational system becomes available in the latter languages. Genetic Programming (GP) versions of high-level languages become possible if programs in these languages are treated as evolving data structures in GENETICA.

P L can be modified or even developed during the execution of P G, since it is treated as a data structure in P G. Specifically, L formulas referenced but not defined in P L can be constructed at run-time, while L formulas defined but not referenced in P L can be referenced by L formulas emerging at run-time. Data processing in P G, resulting in the development of P L, would be controlled by GENETICA’s computational system. This makes possible GP methods, where domain-specific knowledge can be encoded in incomplete L programs which can be fully developed by evolution. Depending on the degree of completeness of the L program, L could range from a GENETICA-like language, where the code is fixed whereas data evolve, to a GP language where both the entire code and the data evolve. … where the output of the latter execution is included in the output of the former one. … having input values both an arbitrary L program, labelled as P L, and the input values for P L. Terms GENETICAL Atomic Terms FormulasAtomic Formulas High Order FormulasConnectives PGPG ( P L, x 1, … x n ) P L ( x 1, … x n ) ( … y 1, … y k, … ) ( y 1, … y k ) Let L be a language which is to be developed in GENETICA. L terms can be constructed as—potentially composite—GENETICA terms. Atomic L formulas can be constructed as—potentially non atomic—GENETICA formulas. L connectives can be constructed as non atomic high-order GENETICA formulas having as input the L formulas connected by the L connective. L itself can be realized as a GENETICA program, labeled as P G, … Then a P G execution can be interpreted as a P L execution, …

- General knowledge representation - Knowledge encapsulation - Context sensitive behavior - Interactions - Selfassembly G-CAD The architectural design language G-CAD, which stands for GENETICA-CAD, is a case study of a computer language developed in GENETICA. G-CAD is a GENETICA-like language where the code is fixed while data structures evolve. G-CAD has the following features: G-CAD inherits from GENETICA the potential of general knowledge representation which combines predicate logic and high-order logic. A G-CAD specific feature is knowledge encapsulation in design objects. This feature, as well as the following ones, is not inherited from GENETICA. Design objects are enabled with context sensitive behavior … … based on object-to-object interactions. Context sensitive behavior triggers selfassembly procedures: design objects adapt to each other, composing higher level objects.

G-CAD atomic formulas allow both construction and instancing of assemblies of rectangles, where each assembly represents the plan of an architectural object. Each rectangle within an assembly is assigned a list of spatial attributes. Dimensions of a rectangle are either fixed or subjected to specific geometrical constraints. Here we can see assemblies that represent openings. Each assembly is assigned graphic attributes that support the architectural representation. Different overlapping conditions, either required or prohibited, can be specified for dark and light rectangles.

These assemblies represent furniture: a bed, two types of sitting group and a wardrobe. Dark rectangles represent the physical region occupied by an object while light rectangles represent the functional region (i.e. a region that should be free so that the physical object can be used). Distinction between physical and functional regions has been used before in a PROLOG design method named CADRAM (Constantin Kyriazopoulos: diploma thesis). In the G-CAD application, a physical region is not allowed to overlap either a functional region, another physical region or the region of an "opening".

These assemblies represent bathroom fittings. Physical and functional regions are defined as before.

This assembly, which represents the floorplan of a small hotel apartment, consists of three rectangles, respectively assigned the attributes "Room", "WC" and "Corridor".

A stairwell assembly. All rectangles should be included in a region having no other spatial attributes, while the light rectangle should be adjacent to a region having the property "Corridor".

ELEMENTARY OBJECTS APARTMENT ARCHITECTURAL SOLUTION The problem formulation includes both the definition of elementary objects of a solution, i.e. openings, furniture and bathroom fittings …... and specifications for a higher- level object, as the apartment. These specifications include references to elementary objects. A design problem can be formulated as a composite G-CAD formula that includes specifications for a complex object described in terms of simpler objects. Anything not determined by specifications is by definition allowed to evolve. A solution, i.e. a complex object satisfying the specifications, can be created by GENETICA's computational system. The solution, having the form of a G-CAD composite term, can be converted to an architectural drawing through a CAD interface. Conversion is based on both the graphic attributes of primitive objects and specifications for different types of walls which should be drawn at the boundaries between regions specified by attributes.

Here we can see an evolved apartment having openings, furniture and bathroom fittings. The G ‑ CAD statement, which represents here a confirmation problem, requires positioning of an entrance-door and a balcony-door in the main room, as well as positioning of a door and a window in the WC. Also requires positioning of two beds, one sitting group (no matter of what type) and a wardrobe in the main room, and positioning of bathroom fittings in the WC. Each object is subjected to different positioning, orientation and potentially dimensioning specifications.

Here are some more solutions evolved according to the same G-CAD formula.

ELEMENTARY OBJECTS APARTMENTHOTEL ARCHITECTURAL SOLUTION Now, consider a G-CAD formula that includes specifications for a small hotel having several apartments. This formula includes references to lower-level objects (apartments)... … where each lower-level object includes its own references. This is a self-replication procedure, which makes possible a developmental growth of the solution.

The "Hotel" formula describes an eight-apartment hotel, while includes rules of composition of apartment assemblies (schematically presented here), as well as a stairway assembly. Additional confirmation goals occur as the "Hotel" formula allows only corridor-to-corridor overlapping within a "Hotel" object. An optimization goal, also included in the "Hotel" formula, concerns the minimization of the hotel area. Now we are going to see “Hotel” solutions produced during successive phases of the evolution.

Continued in Section_6.PPS