• Home
  • Agent Gallery
  • Templates
  • Chat with PDF
  • Literature Review
  • AI Writer
  • Find Topics
  • Paraphraser
  • Citation Generator
  • Extract Data
  • AI Detector
Scispace (Formerly Typeset)
  1. Home
  2. Topics
  3. Fifth-generation programming language
  4. 1990
  1. Home
  2. Topics
  3. Fifth-generation programming language
  4. 1990
Showing papers on "Fifth-generation programming language published in 1990"
Journal Article•10.2307/2234167•
The New S Language, A Programming Environment for Data Analysis and Graphics.

[...]

Gerard Austin, Richard A. Becker, John M. Chambers, Allan R. Wilks
01 Jun 1990-The Economic Journal

451 citations

Journal Article•10.1016/0167-6423(91)90036-W•
On the expressive power of programming languages

[...]

Matthias Felleisen1•
Rice University1
1 May 1990
TL;DR: A formal notion of expressiveness is developed and its properties are investigated to demonstrate the theory's closeness to published intuitions on expressiveness, and the expressive power of several extensions of functional languages is analyzed.
Abstract: The literature on programming languages contains an abundance of informal claims on the relative expressive power of programming languages, but there is no framework for formalizing such statements nor for deriving interesting consequences. As a first step in this direction, we develop a formal notion of expressiveness and investigate its properties. To demonstrate the theory's closeness to published intuitions on expressiveness, we analyze the expressive power of several extensions of functional languages. Based on these results, we believe that our system correctly captures many of the informal ideas on expressiveness, and that it constitutes a good basis for further research in this direction.

356 citations

Journal Article•10.1145/79204.79209•
Constraint logic programming languages

[...]

Jacques Cohen1•
Brandeis University1
01 Jul 1990-Communications of The ACM
TL;DR: A panoramic view of the recent work done in designing and implementing CLP languages is provided, a summary of their theoretical foundations is presented, implementation issues are discussed, compares the majorCLP languages, and directions for further work are suggested.
Abstract: Constraint Logic Programming (CLP) is an extension of Logic Programming aimed at replacing the pattern matching mechanism of unification, as used in Prolog, by a more general operation called constraint satisfaction. This aritcle provides a panoramic view of the recent work done in designing and implementing CLP languages. It also presents a summary of their theoretical foundations, discusses implementation issues, compares the major CLP languages, and suggests directions for further work.

257 citations

Book•
The Semantics of Programming Languages: An Elementary Introduction Using Structural Operational Semantics

[...]

Matthew Hennessy1•
University of Sussex1
1 Aug 1990
TL;DR: This book is based on a course given to second-year computer science undergraduates at the University of Sussex in the spring of 1988 and 1989 and offers an elementary introduction to the semantics of programming languages in a form which is designed to be accessible to students who are not very advanced in their undergraduate career.
Abstract: This book is based on a course given to second-year computer science undergraduates at the University of Sussex in the spring of 1988 and 1989. It offers an elementary introduction to the semantics of programming languages in a form which is designed to be accessible to students who are not very advanced in their undergraduate career. All the material in the book may easily be covered in a one-term course. There are very few prerequisites. Students who have undertaken an introductory programming course and who are familiar with elementary mathematical notation should have little difficulty in following it. A first course in discrete mathematics would be more than sufficient to cover the required background material.

189 citations

Book•
Automata, Languages and Programming

[...]

Mike Paterson
1 Jan 1990
TL;DR: You can download and read online Automata, Languages and Programming: 32nd International Colloquium, ICALP 2005, Lisbon, Portugal, July 11-15, 2005 if you are registered here.

163 citations

Proceedings Article•10.1145/97945.97980•
Object-oriented real-time language design: constructs for timing constraints

[...]

Yutaka Ishikawa, Hideyuki Tokuda1•
Carnegie Mellon University1
1 Sep 1990
TL;DR: RTC++ is an extension of C++ and its features are to specify i) a real-time object which is an active entity, ii) timing constraints in an operation as well as in statements, and iii) a periodic task with rigid timing constraints.
Abstract: We propose a new object-oriented programming language called RTC++ for programming real-time applications. RTC++ is an extension of C++ and its features are to specify i) a real-time object which is an active entity, ii) timing constraints in an operation as well as in statements, and iii) a periodic task with rigid timing constraints.In this paper, we first discuss real-time programming issues and what language support should be provided for building real-time applications. Then, the key features of RTC++ are described. Some programming examples are shown to demonstrate RTC++'s expressive power. A comparison to other programming languages are also discussed.

153 citations

Book Chapter•10.1017/CBO9780511624193.010•
Process Algebra: Bibliography

[...]

J. C. M. Baeten, W. P. Weijland
1 Jan 1990

146 citations

Book•
Programming distributed systems

[...]

Henri E. Bal1•
University of Amsterdam1
3 Jan 1990
TL;DR: The share data-object model implementation example programs and their performance demonstrate the power of the distributed systems model.
Abstract: Distributed computing systems distributed programming without language support language support for programming distributed systems language for programming distributed systems the share data-object model implementation example programs and their performance .

133 citations

Journal Article•10.1002/SPE.4380210107•
Emerald: a general-purpose programming language

[...]

Rajendra K. Raj1, Ewan Tempero1, Henry M. Levy1, Andrew P. Black, Norman C. Hutchinson2, Eric Jul3 •
University of Washington1, University of Arizona2, University of Copenhagen3
01 Dec 1990-Software - Practice and Experience
TL;DR: This paper describes the Emerald language and its programming methodology, and gives examples that demonstrate Emerald's features, and compares and contrast the Emerald approach to programming with the approaches used in other similar languages.
Abstract: Emerald is a general-purpose language with aspects of traditional object-oriented languages, such as Smalltalk, and abstract data type languages, such as Modula-2 and Ada. It is strongly typed with a non-traditional object model and type system that emphasize abstract types, allow separation of typing and implementation, and provide the flexibility of polymorphism and subtyping with compile-time checking. This paper describes the Emerald language and its programming methodology. We give examples that demonstrate Emerald's features, and compare and contrast the Emerald approach to programming with the approaches used in other similar languages.

132 citations

Proceedings Article•10.1109/ICSMC.1990.142126•
IDF: A graphical data flow programming language for image processing and computer vision

[...]

N. Hunt
4 Nov 1990
TL;DR: The iconic data flow (IDF) system is described, a visual programming environment initially oriented toward the development of image processing and computer vision algorithms, intended to exploit the intuitive nature of flow charts and the human capability for comprehending pictures, while providing a fully featured, easy to use programming language.
Abstract: Data-flow languages and visual programming environments are reviewed. The iconic data flow (IDF) system, a visual programming environment initially oriented toward the development of image processing and computer vision algorithms, is described. It is intended to exploit the intuitive nature of flow charts and the human capability for comprehending pictures, while providing a fully featured, easy to use programming language, including a full set of data types and control flow operators. Experimental performance results on the size of the programs that can be described and how fast they run are reported. Areas for future work are indicated. >

126 citations

Book•
Programming language concepts and paradigms

[...]

David A. Watt1•
University of Glasgow1
1 Jan 1990
TL;DR: This book introduces the basic concepts that underlie functional, object-oriented and imperative programming languages and goes on to cover more advanced topics.
Abstract: This book introduces the basic concepts that underlie functional, object-oriented and imperative programming languages. It then goes on to cover more advanced topics.
Book Chapter•10.1016/B978-0-12-350772-3.50013-6•
Programming Languages as Information Structures

[...]

T.R.G. Green
1 Jan 1990
TL;DR: This chapter describes three ‘implicit theories’ of programming, which have at different times governed the styles of programming language design, and suggests suggestions for ‘lowering the cognitive barriers to programming’ by more careful design of languages.
Abstract: This chapter describes three ‘implicit theories’ of programming, which have at different times governed the styles of programming language design. Not surprisingly, the experiments performed by empirical researchers have also been deeply influenced by the prevailing theory of the day. (1) The first view regarded programming as transcription from an internally-held representation of the program. This leads to Fortran-like languages, and the early empirical studies of programming correspondingly emphasised particular language features and their incidence of errors. (2) The second view stressed program comprehension and required programs to be demonstrably correct, leading to Pascal-like languages and the pseudo-psychological theory of ‘structured programming’. Empirical research during this era showed that giving programmers easy access to information they needed (whether structured or not) was what really mattered. Visual programming began during this era, but most empirical studies failed to demonstrate any inherent advantage to visual presentation. Where advantages were found, they appeared to fit the same fundamental principle. (3) Today's view is that program design is exploratory, and that designs are created opportunistically and incrementally. Supporting opportunistic design means putting a minimum of unnecessary demands on working memory, permitting designers and programmers to postpone decisions until they are ready for them, allowing easy additions or changes to existing code, etc. Empirical research on change processes and reuse of code has demonstrated differences between language designs, but has a long way to go. The chapter ends with suggestions for ‘lowering the cognitive barriers to programming’ by more careful design of languages.
Journal Article•10.1016/0167-9236(90)90004-B•
A logic modeling language for automated model construction

[...]

Ramayya Krishnan1•
Carnegie Mellon University1
1 Apr 1990
TL;DR: PM ∗ (read PM-star) is a first-order logic based language, that is the basis of a knowledge based system designed to help non-expert users construct Linear Programming models in the Production, Distribution and Inventory planning domain.
Abstract: This paper describes PM ∗ (read PM-star) a first-order logic based language, that is the basis of a knowledge based system designed to help non-expert users construct Linear Programming models in the Production, Distribution and Inventory planning domain. Problems specified in PM ∗ define a logic model which is used to generate problem-specific inferences and inferences required to automate model construction. PM ∗ extends previous work on the PM language (Krishnan, 1988) through the integration of problem representation and model construction within a uniform predicate logic frame.
Proceedings Article•10.1109/ICSM.1990.131372•
Object-oriented programming-the problems of validation

[...]

M.D. Smith1, D.J. Robson1•
Durham University1
26 Nov 1990
TL;DR: The authors consider software validation, a process common to both maintenance and development, in the context of systems written in an object-oriented language, and investigates whether any new techniques designed for object- oriented programming could be used to ease the testing process.
Abstract: The authors consider software validation, a process common to both maintenance and development, in the context of systems written in an object-oriented language. The problems in using current testing techniques for object-oriented systems are shown. The question of whether the language features present in object-oriented programming languages enhance or inhibit the testing process is raised. Also considered is whether any new techniques designed for object-oriented programming could be used to ease the testing process, which in turn would help both developers and maintainers produce more reliable code. >
Book•
Programming Languages: An Interpreter-Based Approach

[...]

Samuel N. Kamin1•
University of Illinois at Urbana–Champaign1
1 Jan 1990
TL;DR: When you read more every page of this programming languages an interpreter based approach, what you will obtain is something great.
Abstract: Read more and get great! That's what the book enPDFd programming languages an interpreter based approach will give for every reader to read this book. This is an on-line book provided in this website. Even this book becomes a choice of someone to read, many in the world also loves it so much. As what we talk, when you read more every page of this programming languages an interpreter based approach, what you will obtain is something great.
Proceedings Article•10.1145/123186.123271•
SKILL: a CAD system extension language

[...]

Timothy J. Barnes1•
Cadence Design Systems1
24 Jun 1990
TL;DR: The requirements that motivate the provision of a programming language available to the user are examined and some of the technical characteristics of the language design and implementation are described.
Abstract: SKILL is a programming language that supports both command entry and procedural customization in OpusTM Design FrameworkTM. After briefly considering some related work, we examine the requirements that motivate the provision of a programming language available to the user and describe some of the technical characteristics of the language design and implementation. Finally, we describe our experience with the language and outline future work. A number of programming examples are appended.
Book Chapter•10.1007/3-540-52592-0_53•
Types in Lambda Calculi and Programming Languages

[...]

Henk Barendregt, Kees Hemerik1•
Eindhoven University of Technology1
15 May 1990
Journal Article•10.1007/BF00259469•
Duality in specification languages: a lattice-theoretical approach

[...]

Ralph-Johan Back1•
Åbo Akademi University1
01 Jul 1990-Acta Informatica
TL;DR: The extended base language provides a unifying framework for various specification languages; it is shown how two Dijkstra-style specification languages can be embedded in it.
Abstract: A very general lattice-based language of commands, based on the primitive operations of substitution and test for equality, is constructed. This base language permits unbounded nondeterminism, demonic and angelic nondeterminism. A dual language permitting miracles is constructed. Combining these two languages yields an extended base language which is complete, in the sense that all monotonic predicate transformers can be constructed in it. The extended base language provides a unifying framework for various specification languages; we show how two Dijkstra-style specification languages can be embedded in it. —Authors' Abstract
Journal Article•10.1007/BF01995678•
Comparative evaluation of high-level real-time programming languages

[...]

Wolfgang A. Halang1, Alexander D. Stoyenko2•
University of Groningen1, New Jersey Institute of Technology2
01 Oct 1990-Real-time Systems
TL;DR: A number of new features is suggested for incorporation into existing or future languages and their run-time environments to advance the inadequate state of affairs, and also to reignite the discussion of this topic in the real-time community.
Abstract: Owing to the fast growing need for better means of building real-time systems, a number of representative languages used in real-time programming is surveyed. The evaluation focuses on seven languages which possess explicit real-time features. Based on a categorization of the latter, the seven languages are then compared with respect to their real-time capabilities. The strong points and the limitations of Ada and PEARL, the only high-level real-time languages readily applicable in industrial control environments, are covered in more detail. The evaluation reveals that none of the languages actually used in industry is genuinely real-time. Therefore, a number of new features is suggested for incorporation into existing or future languages and their run-time environments. These proposals are meant to advance the inadequate state of affairs, and also to reignite the discussion of this topic in the real-time community.
Book Chapter•10.1007/BFB0022176•
Exceeding the limits of polymorphism in database programming languages

[...]

David Stemple1, Leo Fegaras1, Tim Sheard1, Adolfo Socorro1•
University of Massachusetts Amherst1
1 Mar 1990
TL;DR: The difficulty in achieving such power parsimoniously in polymorphism and reflection in database query languages is examined in this paper.
Abstract: Database programming languages represent an attempt to merge the technologies of programming languages and database management in order to improve the development of data-intensive applications. One aspect of the research on database programming languages is an attempt to exploit polymorphism and higher order functions to integrate query algebra capabilities into programming languages. This has proved to be difficult especially in strongly and statically typed languages, due to the high level of polymorphism and reflection in database query languages. For example, the natural join operation of relational algebra requires examination of the types of the input relations to determine the match predicate and output type, neither of which are easily expressed in current polymorphic programming languages. These aspects of natural join require quite sophisticated polymorphism and some kind of reflection. The reflection must be powerful enough to allow the examination of the input types to determine the match function and to synthesize the output type. It is the difficulty in achieving such power parsimoniously that we examine in this paper.
Journal Article•10.1016/S0020-7373(05)80143-9•
The nature and development of programming plans

[...]

S. P. Davies1•
University of Huddersfield1
01 Apr 1990-International Journal of Human-computer Studies \/ International Journal of Man-machine Studies
TL;DR: It is argued that programming plans cannot be considered solely to be natural strategies that evolve independently of teaching nor as mere artifacts or static properties of a particular programming language, rather, such plans can be seen to be related to the expression of design-related skills.
Abstract: The notion of the programming plan as a description of one of the main types of strategy employed in the comprehension of programs is now widely accepted to form an adequate basis for an account of programming knowledge. Such plans are thought to be used universally in all programming languages by expert programmers. Recent work, however, has questioned the psychological reality of such plans and has suggested that they may be artifacts of the particular programming language used and the structure that it imposes on the programmer via the constraints of certain features of its notation. This paper considers the results of two experimental studies that suggest that the development and use of programming plans is strongly tied to the particular learning experience of the programmer. It is argued that programming plans cannot be considered solely to be natural strategies that evolve independently of teaching nor as mere artifacts or static properties of a particular programming language. Rather, such plans can be seen to be related to the expression of design-related skills. This has a number of important implications for our understanding of the nature and development of programming plans, and in particular, it appears that the notion of the programming plan provides too limited a view to adequately and straightforwardly explain the differences between novice and the expert's programming performance.
A Semi-Functional Implementation of a Higher-Order Logic Programming Language

[...]

Conal Elliott1, Frank Pfenning1•
Microsoft1
1 Jan 1990
TL;DR: This chapter develops an interpreter of a higher-order constraint logic programming language in Standard ML, closely related to λProlog, though the type system supported by the implementation is more general, for example by allowing explicit abstraction over types.
Abstract: In this chapter we develop an interpreter of a higher-order constraint logic programming language in Standard ML (SML). The logic programming language is closely related to λProlog [25], though the type system supported by our implementation is more general, for example by allowing explicit abstraction over types. The implementation is closely modeled after eLP, an implementation of λProlog in the Ergo Support System [8, 20] and may be considered as a rational reconstruction and explanation of the eLP implementation.
Journal Article•10.1109/71.80163•
A UNITY-style programming logic for shared dataspace programs

[...]

H.C. Cunningham, Gruia-Catalin Roman1•
Washington University in St. Louis1
01 Jul 1990-IEEE Transactions on Parallel and Distributed Systems
TL;DR: The Swarm logic is used to verify the correctness of a program for labeling connected equal-intensity regions of a digital image to demonstrate an assertional programming logic which relies upon proof of programwide properties, e.g. global invariants and progress properties.
Abstract: A proof system for a shared dataspace programming notation called Swarm (a programming logic similar in style to that of UNITY) is specified. Relevant aspects of the Swarm language and model are overviewed. To illustrate the proof system, the Swarm logic is used to verify the correctness of a program for labeling connected equal-intensity regions of a digital image. Like UNITY, the Swarm proof system uses an assertional programming logic which relies upon proof of programwide properties, e.g. global invariants and progress properties. The Swarm logic is defined in terms of the same logical relations as UNITY (unless, ensures, and leads-to), but several of the concepts are reformulated to accommodate Swarm's distinctive features. >
Proceedings Article•10.1109/ISS.1990.765711•
ERLANG - an experimental telephony programming language

[...]

Joe Armstrong, S.R. Virding
1 Jan 1990
TL;DR: This work presents an experimental programming language called ErIang which is suitable for programming telephony applications and introduces the language by a series multiple examples which show how both sequential and concurrent activities can be programmed.
Abstract: We present an experimental programming language called ErIang which is suitable for programming telephony applications. We discuss some of the requirements for such a language and introduce the language by a series multiple examples which show how both sequential and concurrent activities can be programmed. We discuss the error recovery mechanism used in ErIang together with the performance characteristics of the current implementation,
Patent•
Programming language processing system with program translation performed by term rewriting with pattern matching

[...]

Katsushige Hino1•
Fujitsu1
18 May 1990
TL;DR: In this paper, a logic synthesis rule for term rewriting based on a pattern collation is proposed to delete the parts-of-speech in a lower level program description in order to improve correctness.
Abstract: A programming language processing system for a computer language processing system wherein a program described in a high level programming language is translated into another program written in lower level programming language. In one embodiment of the invention, a specification of a programming language incorporates a concept of handling various basic words classified by parts-of-speech including nouns, adjectives, conjunctions, and various logic words. The program described by the programming language is converted into an internal expression form based on a sentence structure which can be converted to a binary tree. In accordance with a logic synthesis rule for term-rewriting based on a pattern collation, a logic expressed by the internal expression form is subject to conversion to a lower level program description wherein the parts-of-speech are deleted.
Proceedings Article•
Representing objects in a logic programming language with scoping constructs

[...]

Joshua S. Hodas, Dale Miller
1 May 1990
TL;DR: A logic programming language is presented that uses implications and universal quantifiers in goals and in the bodies of clauses to provide a simple scoping mechanism for program clauses and constants and explores how object-oriented programming, where objects are viewed as abstractions with behaviors, state, and inheritance, might be accommodated.
Abstract: We present a logic programming language that uses implications and universal quantifiers in goals and in the bodies of clauses to provide a simple scoping mechanism for program clauses and constants. Within this language it is possible to define a simple notion of parametric module and local constant. Given this ability to structure programs, we explore how object-oriented programming, where objects are viewed as abstractions with behaviors, state, and inheritance, might be accommodated. To capture the notion of mutable state, we depart from the pure logic setting by adding a declaration that certain local predicates are deterministic (they succeed at most once). This declaration, along with a goal-continuation passing style of programming is adequate to model the state of objects. We also examine a few aspects of how having objects embedded in logic programming can be used to enrich the notion of object: for example, objects may be partial (that is, may contain free variables) and non-deterministic, and it is possible not only to search for objects with certain properties but also to do hypothetical reasoning about them. Comments University of Pennsylvania Department of Computer and Information Science Technical Report No. MSCIS-90-31. This technical report is available at ScholarlyCommons: https://repository.upenn.edu/cis_reports/545 Representing Object In A Logic Programming Language With Scoping Constructs MS-CIS-90-31 LINC LAB 172 Joshua S. Hodas Dale Miller Department of Computer and Information Science School of Engineering and Applied Science University of Pennsylvania Philadelphia, PA 19104
Constrained qualification in polymorphic type analysis

[...]

Pavel Curtis1•
Cornell University1
1 Jan 1990
TL;DR: It is claimed that constrained quantification is a flexible, powerful, practical and formally comprehensible approach to polymorphic type analysis, especially when applied to languages with non-trivial subtyping.
Abstract: Sound type systems have existed for several years for languages with polymorphism, the ability for procedures. Successful systems also exist for languages with a non-trivial notion of subtyping, such as is provided in some modestly object-oriented languages. The work in this dissertation was motivated by the problem of providing a sound and flexible type system for languages with both of these properties. We have developed a new kind of type expression, which we call constrained quantification, given a semantics for these new expressions, and developed algorithms for soundly inferring such types for programs in a particular sample programming language. This language has all of the essential features of a polymorphic functional language along with the kernel functionality of object-oriented languages. In addition to solving the type system problem for this class of languages, constrained quantification outperforms the traditional polymorphic type analysis algorithms even in languages without subtyping. We claim that constrained quantification is a flexible, powerful, practical and formally comprehensible approach to polymorphic type analysis, especially when applied to languages with non-trivial subtyping. The dissertation demonstrates this claim in more than enough detail for constrained quantification to find immediate use in a practical programming environment.
Proceedings Article•10.1145/97945.97955•
Actors as a special case of concurrent constraint (logic) programming

[...]

Ken Kahn1, Vijay Saraswat1•
PARC1
1 Sep 1990
TL;DR: This paper introduces a very simple concurrent constraint language, called Lucy, designed to closely mimic the actor model of computation, and elucidate the relationship between actors and concurrent logic programming (and its generalization as concurrent constraint programming).
Abstract: Saraswat recently introduced the framework of concurrent constraint programming [14]. The essence of the framework is that computations consist of concurrent agents interacting by communicating constraints. Several concurrent constraint programming languages have been defined. They differ in the kinds of constraints that can be used as well as the kinds of operations on constraints which are available. In this paper we introduce a very simple concurrent constraint language we call Lucy, designed to closely mimic the actor model of computation. Agents can communicate only by the posting of constraints upon bags (un-ordered collections possibly with duplicate elements). This very impoverished concurrent constraint language is a syntactic subset of Janus, a concurrent constraint language which closely resembles concurrent logic programming languages such as Guarded Horn Clauses [21], Strand [5], Parlog [2] and Flat Concurrent Prolog [13]. By identifying the subset of Janus which is an actor language, we elucidate the relationship between actors and concurrent logic programming (and its generalization as concurrent constraint programming). Lucy is best not thought of as a unification of logic and constraint programming with actor and object-oriented programming, but as the missing link between these programming language genera.
Book•
An introduction to the programming language FL

[...]

John Backus, John H. Williams, Edward L. Wimmers
1 Jun 1990
Book•
Applications of Object-Oriented Programming

[...]

Lewis J. Pinson1, Richard Wiener1•
University of Colorado Colorado Springs1
1 Sep 1990
TL;DR: A collection of original, never-before-published case studies on object-oriented programming languages and their applications, which include practical applications for popular OOP languages such as C++, Smalltalk, Objective-C, and Object Pascal.
Abstract: A collection of original, never-before-published case studies on object-oriented programming languages and their applications, which include practical applications for popular OOP languages such as C++, Smalltalk, Objective-C, and Object Pascal.

Tools

SciSpace AgentBiomedical AgentSciSpace RecruitSciSpace for EnterpriseAgent GalleryChat with PDFLiterature ReviewAI WriterFind TopicsParaphraserCitation GeneratorExtract DataAI Detector

Learn

ResourcesCompareGuidesLive Workshops

SciSpace

CareersSupportBrowse PapersPricingSciSpace Affiliate ProgramCancellation & Refund PolicyTermsPrivacyData Sources

Directories

PapersTopicsJournalsAuthorsConferencesInstitutionsPublishersCitation StylesWriting templates

Extension & Apps

SciSpace Chrome ExtensionSciSpace Mobile App

Contact

[email protected]
SciSpace

© 2026 | PubGenius Inc. | Suite # 217 691 S Milpitas Blvd Milpitas CA 95035, USA

soc2